Home | History | Annotate | Line # | Download | only in conf
files revision 1.1170
      1 #	$NetBSD: files,v 1.1170 2017/02/16 08:12:43 knakahara Exp $
      2 #	@(#)files.newconf	7.5 (Berkeley) 5/10/93
      3 
      4 version 	20150846
      5 
      6 #
      7 # device classes
      8 #
      9 devclass disk
     10 devclass tape
     11 devclass ifnet
     12 devclass tty
     13 devclass audiodev
     14 devclass displaydev
     15 devclass bus
     16 
     17 # options understood by the machine-independent part of the kernel
     18 # (note, these are case-sensitive)
     19 #
     20 defparam opt_param.h		MAXUSERS
     21 defflag				INSECURE
     22 defflag				KTRACE
     23 defflag				MBUFTRACE
     24 defflag	opt_ptrace.h		PTRACE PTRACE_HOOKS
     25 defflag				COREDUMP
     26 defflag	opt_modular.h		MODULAR
     27 defflag	opt_modular.h		MODULAR_DEFAULT_AUTOLOAD
     28 defflag				KEYLOCK
     29 defparam opt_syslimits.h	CHILD_MAX OPEN_MAX
     30 defflag opt_diagnostic.h	_DIAGNOSTIC
     31 
     32 defparam opt_copy_symtab.h	makeoptions_COPY_SYMTAB
     33 
     34 defparam			DEFCORENAME
     35 defparam			HZ
     36 defparam			MAXUPRC
     37 defparam			RTC_OFFSET
     38 defflag	opt_pipe.h		PIPE_SOCKETPAIR PIPE_NODIRECT
     39 
     40 defflag				AIO
     41 defflag				MQUEUE
     42 defflag				SEMAPHORE
     43 
     44 defflag				BUFQ_DISKSORT
     45 defflag				BUFQ_FCFS
     46 defflag				BUFQ_PRIOCSCAN
     47 defflag				BUFQ_READPRIO
     48 defflag				NEW_BUFQ_STRATEGY	# same as BUFQ_READPRIO
     49 
     50 defflag	opt_sched.h		SCHED_4BSD
     51 defflag	opt_sched.h		SCHED_M2
     52 
     53 defparam			SOMAXKVA
     54 defflag	opt_sock_counters.h	SOSEND_COUNTERS
     55 defflag	opt_sosend_loan.h	SOSEND_NO_LOAN
     56 defflag	opt_route.h		RTCACHE_DEBUG RTFLUSH_DEBUG
     57 
     58 defflag				MULTIPROCESSOR
     59 defflag				NET_MPSAFE
     60 
     61 defflag	opt_config.h		INCLUDE_CONFIG_FILE INCLUDE_JUST_CONFIG
     62 
     63 defparam opt_dump.h		DUMP_ON_PANIC
     64 
     65 defflag	opt_callout.h		CALLWHEEL_STATS
     66 
     67 defflag				CPU_IN_CKSUM
     68 
     69 defflag opt_dtrace.h		KDTRACE_HOOKS
     70 
     71 defflag	opt_sysv.h		SYSVMSG SYSVSEM	SYSVSHM
     72 defparam opt_sysvparam.h	SHMMAXPGS SEMMNI SEMMNS SEMUME SEMMNU
     73 
     74 defflag	opt_ntp.h		PPS_SYNC PPS_DEBUG NTP
     75 
     76 defflag	opt_ptm.h		NO_DEV_PTM COMPAT_BSDPTY
     77 
     78 defparam opt_kmempages.h	NKMEMPAGES NKMEMPAGES_MIN NKMEMPAGES_MAX
     79 
     80 defflag	opt_revcache.h		NAMECACHE_ENTER_REVERSE
     81 
     82 defflag	opt_exec.h		DEBUG_EXEC
     83 
     84 defflag	opt_execfmt.h		EXEC_AOUT EXEC_COFF EXEC_ECOFF EXEC_ELF32
     85 				EXEC_ELF64 EXEC_SCRIPT
     86 				EXEC_ELF_NOTELESS
     87 
     88 defflag	opt_dkwedge.h		DKWEDGE_AUTODISCOVER
     89 				DKWEDGE_METHOD_BSDLABEL
     90 				DKWEDGE_METHOD_GPT
     91 				DKWEDGE_METHOD_MBR
     92 				DKWEDGE_METHOD_APPLE
     93 
     94 defflag	opt_veriexec.h		VERIFIED_EXEC_FP_SHA1
     95 				VERIFIED_EXEC_FP_SHA256
     96 				VERIFIED_EXEC_FP_SHA384
     97 				VERIFIED_EXEC_FP_SHA512
     98 				VERIFIED_EXEC_FP_MD5
     99 				VERIFIED_EXEC_FP_RMD160
    100 
    101 # Per system call number counts and times
    102 defflag opt_syscall_stats.h	SYSCALL_STATS
    103 defflag opt_syscall_stats.h	SYSCALL_TIMES: SYSCALL_STATS
    104 # Assume cpu_hascounter() returns true - to use disabled rdtsc() (for soekris)
    105 defflag opt_syscall_stats.h	SYSCALL_TIMES_HASCOUNTER: SYSCALL_TIMES
    106 file kern/subr_syscall_stats.c	syscall_stats
    107 
    108 defparam opt_pax.h		PAX_MPROTECT
    109 				PAX_MPROTECT_DEBUG
    110 				PAX_SEGVGUARD
    111  				PAX_ASLR
    112  				PAX_ASLR_DELTA_MMAP_LSB
    113  				PAX_ASLR_DELTA_MMAP_LEN
    114  				PAX_ASLR_DELTA_STACK_LSB
    115  				PAX_ASLR_DELTA_STACK_LEN
    116  				PAX_ASLR_DELTA_PROG_LEN
    117 				PAX_ASLR_DEBUG
    118 
    119 defflag	opt_fileassoc.h		FILEASSOC
    120 
    121 defflag	opt_gre.h		GRE_DEBUG
    122 
    123 defparam opt_l2tp.h		L2TP_ID_HASH_SIZE
    124 
    125 # Write Ahead Physical Block Logging
    126 defflag opt_wapbl.h		WAPBL WAPBL_DEBUG
    127 defparam opt_wapbl.h		WAPBL_DEBUG_PRINT
    128 
    129 # printf entropy source
    130 defflag opt_rnd_printf.h	RND_PRINTF
    131 
    132 defflag opt_todr.h		TODR_DEBUG
    133 
    134 # compatibility options
    135 #
    136 defflag opt_compat_netbsd.h	COMPAT_NETBSD
    137 defflag	opt_compat_netbsd.h	COMPAT_70: COMPAT_NETBSD
    138 defflag	opt_compat_netbsd.h	COMPAT_60: COMPAT_70, COMPAT_NETBSD
    139 defflag	opt_compat_netbsd.h	COMPAT_50: COMPAT_60, COMPAT_NETBSD
    140 defflag	opt_compat_netbsd.h	COMPAT_40: COMPAT_50, COMPAT_NETBSD
    141 defflag	opt_compat_netbsd.h	COMPAT_30: COMPAT_40, COMPAT_NETBSD
    142 defflag	opt_compat_netbsd.h	COMPAT_20: COMPAT_30, COMPAT_NETBSD
    143 defflag	opt_compat_netbsd.h	COMPAT_16: COMPAT_20, COMPAT_NETBSD
    144 defflag	opt_compat_netbsd.h	COMPAT_15: COMPAT_16, COMPAT_NETBSD
    145 defflag	opt_compat_netbsd.h	COMPAT_14: COMPAT_15, COMPAT_NETBSD
    146 defflag	opt_compat_netbsd.h	COMPAT_13: COMPAT_14, COMPAT_NETBSD
    147 defflag	opt_compat_netbsd.h	COMPAT_12: COMPAT_13, COMPAT_NETBSD
    148 defflag	opt_compat_netbsd.h	COMPAT_11: COMPAT_12, COMPAT_NETBSD
    149 defflag	opt_compat_netbsd.h	COMPAT_10: COMPAT_11, COMPAT_NETBSD
    150 defflag	opt_compat_netbsd.h	COMPAT_09: COMPAT_10, COMPAT_NETBSD
    151 defflag				COMPAT_OSSAUDIO
    152 defflag				COMPAT_FREEBSD: COMPAT_30
    153 defflag				COMPAT_IBCS2
    154 defflag				COMPAT_LINUX: COMPAT_16
    155 defflag				COMPAT_OSF1
    156 defflag				COMPAT_SUNOS: COMPAT_30
    157 defflag	opt_compat_svr4.h	COMPAT_SVR4 COMPAT_SVR4_32 SVR4_COMPAT_SOLARIS2
    158 defflag				COMPAT_ULTRIX: COMPAT_50
    159 defflag				COMPAT_NETBSD32
    160 defflag				COMPAT_LINUX32 : COMPAT_LINUX, COMPAT_NETBSD32
    161 defflag				COMPAT_AOUT_M68K: COMPAT_40
    162 defflag				COMPAT_M68K4K
    163 defflag				COMPAT_VAX1K
    164 defflag				COMPAT_43
    165 defflag	opt_compat_netbsd.h	COMPAT_NOMID
    166 
    167 define	machdep
    168 defflag	opt_machdep.h		MACHDEP
    169 
    170 #
    171 # Cryptography support.  Include this early, since several things
    172 # use it.
    173 
    174 # Individual crypto transforms
    175 include "crypto/arc4/files.arc4"
    176 include "crypto/des/files.des"
    177 include "crypto/blowfish/files.blowfish"
    178 include "crypto/cast128/files.cast128"
    179 include "crypto/rijndael/files.rijndael"
    180 include "crypto/skipjack/files.skipjack"
    181 include "crypto/camellia/files.camellia"
    182 # General-purpose crypto processing framework.
    183 include "opencrypto/files.opencrypto"
    184 
    185 # NIST SP800.90 CTR DRBG
    186 include "crypto/nist_ctr_drbg/files.nist_ctr_drbg"
    187 
    188 # ChaCha-based fast PRNG
    189 include "crypto/cprng_fast/files.cprng_fast"
    190 
    191 #
    192 # Kernel history/tracing. Old UVMHIST depends upon this.
    193 #
    194 defflag opt_kernhist.h			KERNHIST KERNHIST_PRINT
    195 defparam opt_kernhist.h			KERNHIST_DELAY
    196 file	kern/kern_history.c		kernhist
    197 
    198 #
    199 # These are here for the benefit of kern_history.c so that
    200 # UVMHIST can be built in kernels without usb.
    201 #
    202 # top level usb debug defines
    203 defflag	opt_usb.h			USB_DEBUG: KERNHIST
    204 defparam opt_usb.h			USBHIST_SIZE
    205 
    206 #
    207 # Options for BIOHIST
    208 #
    209 defflag opt_biohist.h           BIOHIST: KERNHIST
    210 defflag opt_biohist.h           BIOHIST_PRINT: KERNHIST_PRINT
    211 defparam opt_biohist.h          BIOHIST_SIZE
    212 
    213 #
    214 # System monitoring framework
    215 #
    216 include "dev/sysmon/files.sysmon"
    217 
    218 #
    219 # Networking protocols
    220 #
    221 
    222 # Attribute used by various things that need BPF's virtual machine
    223 #
    224 define	bpf_filter
    225 defparam opt_bpf.h	BPF_BUFSIZE
    226 
    227 defflag	opt_bpf.h	BPFJIT
    228 
    229 file	net/bpfjit.c	sljit & bpfjit
    230 
    231 include "net80211/files.net80211"
    232 include "netatalk/files.netatalk"
    233 include "netbt/files.netbt"
    234 include "netinet/files.netinet"
    235 include "netinet6/files.netinet6"
    236 include "netipsec/files.netipsec"
    237 include "netmpls/files.netmpls"
    238 include "netnatm/files.netnatm"
    239 include "netsmb/files.netsmb"
    240 
    241 include "net/npf/files.npf"
    242 include "netinet/files.ipfilter"
    243 include "net/files.pf"
    244 
    245 obsolete defflag		CCITT		# obsolete
    246 obsolete defflag		HDLC		# obsolete
    247 obsolete defflag		LLC		# obsolete
    248 obsolete defflag opt_ns.h	NS NSIP		# obsolete
    249 obsolete defflag		IPX		# obsolete
    250 obsolete defparam opt_md.h	MEMORY_RBFLAGS	# superseded by
    251 						# MEMORY_DISK_RBFLAGS
    252 
    253 defflag	opt_bridge_ipf.h	BRIDGE_IPF	# bridge(4) use inet_pfil_hooks
    254 defflag	opt_ppp.h		PPP_DEFLATE PPP_BSDCOMP PPP_FILTER
    255 						# Include deflate or bsd
    256 						# compression, enable pppd
    257 						# packet filtering support
    258 defflag opt_pppoe.h		PPPOE_SERVER PPPOE_DEBUG
    259 
    260 # networking options
    261 #
    262 defflag				GATEWAY
    263 defparam opt_nmbclusters.h	NMBCLUSTERS
    264 defparam			SB_MAX
    265 
    266 # file system options
    267 #
    268 defflag	opt_quota.h		QUOTA QUOTA2		# XXX files.ufs?
    269 defflag				VNODE_LOCKDEBUG
    270 defflag				MAGICLINKS
    271 
    272 # buffer cache size options
    273 #
    274 defparam opt_bufcache.h		BUFCACHE BUFPAGES
    275 
    276 # userconf
    277 #
    278 defflag				USERCONF
    279 
    280 # sysctl related
    281 #
    282 defflag opt_sysctl.h		SYSCTL_DISALLOW_CREATE SYSCTL_DISALLOW_KWRITE
    283 				SYSCTL_DEBUG_SETUP SYSCTL_DEBUG_CREATE
    284 				SYSCTL_INCLUDE_DESCR
    285 
    286 #
    287 # Not entirely MI, but present on multiple arch's
    288 #
    289 
    290 # PC-style MBR handling
    291 #
    292 defflag	opt_mbr.h		COMPAT_386BSD_MBRPART
    293 
    294 #
    295 # debugging options
    296 #
    297 include "ddb/files.ddb"		# in-kernel dynamic debugger
    298 
    299 defflag	opt_kgdb.h		KGDB
    300 defparam opt_kgdb.h		KGDB_DEV KGDB_DEVNAME KGDB_DEVPORT
    301 				KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
    302 defflag				LOCKDEBUG
    303 defflag				SYSCALL_DEBUG
    304 defflag	opt_kstack.h		KSTACK_CHECK_MAGIC
    305 
    306 # memory (ram) disk options
    307 #
    308 defflag	opt_md.h		MEMORY_DISK_HOOKS MEMORY_DISK_IS_ROOT
    309 				MEMORY_DISK_DYNAMIC
    310 defparam opt_md.h		MEMORY_DISK_SERVER=1 MEMORY_DISK_ROOT_SIZE
    311 				MEMORY_DISK_RBFLAGS
    312 defparam opt_memory_disk_image.h	makeoptions_MEMORY_DISK_IMAGE
    313 
    314 defflag opt_tftproot.h		TFTPROOT TFTPROOT_DEBUG
    315 
    316 # Support for hardware performance monitoring counters
    317 #
    318 defflag	opt_perfctrs.h		PERFCTRS
    319 
    320 defflag	opt_wlan.h		WLAN
    321 
    322 # Machine-independent device majors assignements
    323 include "conf/majors"
    324 
    325 # generic attributes
    326 #
    327 define	videobus	{ }
    328 define	ata	        {[channel = -1]}
    329 define	sata
    330 define	sata_fis
    331 define	sata_pmp
    332 define	scsi_core
    333 define	scsi		{[channel = -1]}: scsi_core
    334 define	ata_hl		{[drive = -1]}
    335 define	atapi		{ }
    336 define	radiodev	{ }
    337 define	gpibdev		{[address = -1]}
    338 define	gpiobus		{ }
    339 define	onewirebus	{ }
    340 define 	pckbport	{[slot = -1]}
    341 define	pckbport_machdep_cnattach
    342 define	firmload
    343 
    344 # speaker devices, attaches to audio or pcppi drivers
    345 device	spkr
    346 file	dev/spkr.c			spkr
    347 
    348 include "dev/files.audio"
    349 
    350 # High definition audio
    351 include "dev/hdaudio/files.hdaudio"
    352 
    353 # Base verbose vendor/product printing support
    354 file	dev/dev_verbose.c
    355 
    356 # video devices, attaches to video hardware driver
    357 #
    358 device	video
    359 attach	video at videobus
    360 
    361 # DTV subsystem
    362 #
    363 include "dev/dtv/files.dtv"
    364 
    365 # HDMI CEC
    366 #
    367 include "dev/hdmicec/files.hdmicec"
    368 
    369 # National Semiconductor LM7[89]
    370 #
    371 # (included here so files.i2c can define an attachment)
    372 
    373 device	lm: sysmon_envsys
    374 file	dev/ic/nslm7x.c			lm			needs-flag
    375 
    376 # JEDEC standard SPD EPROM
    377 #
    378 # (included here so files.i2c can define an attachment)
    379 
    380 device	spdmem
    381 file	dev/ic/spdmem.c			spdmem
    382 
    383 # I2C device support
    384 include "dev/i2c/files.i2c"
    385 
    386 # SPI device support
    387 include "dev/spi/files.spi"
    388 
    389 # IR device support
    390 include	"dev/ir/files.ir"
    391 
    392 # Parallel Port Bus support
    393 include "dev/ppbus/files.ppbus"
    394 
    395 # raster operations attributes
    396 #
    397 define	rasops1
    398 define	rasops2
    399 define	rasops4
    400 define	rasops8
    401 define	rasops15
    402 define	rasops16
    403 define	rasops24
    404 define	rasops32
    405 define	rasops_rotation
    406 
    407 # image decoding support
    408 include "dev/stbi/files.stbi"
    409 
    410 # splash screen support
    411 include "dev/splash/files.splash"
    412 
    413 # videomode support
    414 include "dev/videomode/files.videomode"
    415 
    416 # net device attributes - we have generic code for arc(net), ether(net),
    417 # fddi, token ring, atm and eco(net).
    418 #
    419 define	arcnet
    420 define	atm
    421 define	eco
    422 define	ether
    423 define	fddi
    424 define	hippi
    425 define	ieee1394
    426 define	token
    427 define	sppp
    428 define	wlan
    429 define	crypto
    430 
    431 # TPM
    432 device	tpm
    433 file	dev/ic/tpm.c			tpm			needs-flag
    434 
    435 # devices ARPing IPv4 pull this in:
    436 #
    437 define	arp
    438 
    439 #
    440 # ALTQ network traffic shaping subsystem
    441 #
    442 include "altq/files.altq"
    443 
    444 #
    445 # IPKDB kernel debugger
    446 #
    447 include "ipkdb/files.ipkdb"
    448 
    449 # Logical disk
    450 #
    451 device	ld: disk
    452 file	dev/ld.c			ld			needs-flag
    453 
    454 #
    455 # MII/PHY support for network devices
    456 #
    457 include "dev/mii/files.mii"
    458 
    459 #
    460 # RAIDframe
    461 #
    462 include "dev/raidframe/files.raidframe"
    463 
    464 #
    465 # Hardware-assisted data mover API
    466 #
    467 include "dev/dmover/files.dmover"
    468 
    469 #
    470 # "Chipset" drivers.  These are the bus-independent routines which
    471 # contain the cfdrivers.  Attachments are provided by files.<bus>
    472 #
    473 
    474 # Adaptec AIC-6[32]60 ICs
    475 #
    476 device	aic: scsi
    477 file	dev/ic/aic6360.c		aic
    478 
    479 # SMC 93Cx6 Serial EEPROM devices
    480 #
    481 define	smc93cx6
    482 file	dev/ic/smc93cx6.c		smc93cx6
    483 
    484 # Adaptec 2[789]4X, 394X, aic7770 and aic78[5678]0 SCSI controllers
    485 #
    486 defparam opt_ahc.h		AHC_DEBUG
    487 defflag	opt_ahc.h		AHC_NO_TAGS
    488 device	ahc: scsi
    489 define	ahc_seeprom
    490 define	ahc_aic77xx
    491 file	dev/ic/aic7xxx.c		ahc
    492 file	dev/ic/aic7xxx_osm.c		ahc
    493 file	dev/ic/aic7xxx_seeprom.c	ahc_seeprom
    494 file	dev/ic/aic77xx.c		ahc_aic77xx
    495 
    496 # Adaptec aic79xx SCSI controllers
    497 defflag	opt_ahd.h		AHD_DEBUG
    498 device	ahd: scsi
    499 file	dev/ic/aic79xx.c		ahd
    500 file	dev/ic/aic79xx_osm.c		ahd
    501 
    502 # DPT EATA SCSI controllers
    503 #
    504 device	dpt: scsi
    505 file	dev/ic/dpt.c			dpt
    506 
    507 # Compaq Smart ARRAY controllers
    508 #
    509 device	cac {unit = -1}
    510 file	dev/ic/cac.c			cac
    511 
    512 attach	ld at cac with ld_cac
    513 file	dev/ic/ld_cac.c			ld_cac
    514 
    515 # HP/Compaq Command Interface for SCSI-3 Support
    516 #
    517 device ciss: scsi
    518 file	dev/ic/ciss.c			ciss
    519 
    520 # Mylex DAC960 RAID controllers
    521 #
    522 device	mlx {unit = -1}
    523 file	dev/ic/mlx.c			mlx			needs-flag
    524 
    525 attach	ld at mlx with ld_mlx
    526 file	dev/ic/ld_mlx.c			ld_mlx
    527 
    528 # ICP-Vortex/Intel RAID controllers
    529 #
    530 device	icp {unit = -1}
    531 file	dev/ic/icp.c			icp			needs-flag
    532 file	dev/ic/icp_ioctl.c		icp
    533 
    534 attach	ld at icp with ld_icp
    535 file	dev/ic/ld_icp.c			ld_icp
    536 
    537 device	icpsp: scsi
    538 file	dev/ic/icpsp.c			icpsp
    539 attach	icpsp at icp
    540 
    541 # Adaptec FSA RAID controllers
    542 #
    543 device	aac {unit = -1}
    544 file	dev/ic/aac.c			aac
    545 
    546 attach	ld at aac with ld_aac
    547 file	dev/ic/ld_aac.c			ld_aac
    548 
    549 # AdvanSys 1200A, 1200B and ULTRA SCSI controllers
    550 #
    551 device	adv: scsi
    552 file	dev/ic/adv.c			adv
    553 file	dev/ic/advlib.c			adv
    554 file	dev/ic/advmcode.c		adv
    555 
    556 # AdvanSys ULTRA WIDE SCSI controllers
    557 #
    558 device	adw: scsi
    559 file	dev/ic/adw.c			adw
    560 
    561 # BusLogic MultiMaster and MultiMaster Ultra SCSI controllers
    562 # (Must be declared before AHA to ensure bha probes before aha.
    563 #  Probing AHA first configures bhas as aha, via their AHA
    564 #  hardware-compatibility mode.)
    565 #
    566 device	bha: scsi
    567 file	dev/ic/bha.c			bha
    568 
    569 # Adaptec AHA-154x and AHA-164x controllers
    570 # (must be after bha, see above)
    571 #
    572 device	aha: scsi
    573 file	dev/ic/aha.c			aha
    574 
    575 # Initio INIC-940/950 SCSI controllers
    576 #
    577 device	iha: scsi
    578 file	dev/ic/iha.c			iha
    579 
    580 # Qlogic ISP 10x0 SCSI Controllers
    581 #
    582 defflag	opt_isp.h		ISP_DISABLE_1020_SUPPORT
    583 				ISP_DISABLE_1080_SUPPORT
    584 				ISP_DISABLE_2100_SUPPORT
    585 				ISP_DISABLE_2200_SUPPORT
    586 				ISP_DISABLE_2300_SUPPORT
    587 				ISP_DISABLE_2322_SUPPORT
    588 				ISP_DISABLE_2400_SUPPORT
    589 				ISP_DISABLE_FW
    590 				ISP_TARGET_MODE
    591 defparam opt_isp.h		ISP_LOGDEFAULT
    592 				ISP_VPORTS
    593 device	isp: scsi
    594 file	dev/ic/isp.c			isp
    595 file	dev/ic/isp_library.c		isp
    596 file	dev/ic/isp_netbsd.c		isp
    597 file	dev/ic/isp_target.c		isp & isp_target_mode
    598 # LSILogic MegaRAID SAS
    599 #
    600 device	mfi: scsi
    601 file	dev/ic/mfi.c			mfi
    602 
    603 # LSILogic Fusion-MPT I/O Processor SCSI/FC Controllers
    604 #
    605 device	mpt: scsi
    606 file	dev/ic/mpt.c			mpt
    607 file	dev/ic/mpt_debug.c		mpt
    608 file	dev/ic/mpt_netbsd.c		mpt
    609 
    610 # Workbit NinjaSCSI-32 controllers
    611 device	njs: scsi
    612 file	dev/ic/ninjascsi32.c		njs
    613 
    614 # Symbios/NCR 53c700 SCSI controllers
    615 device	oosiop: scsi
    616 file	dev/ic/oosiop.c			oosiop
    617 
    618 # Symbios/NCR 53c710 SCSI controllers
    619 #
    620 device	osiop: scsi
    621 file	dev/ic/osiop.c			osiop
    622 
    623 # common stuff for siop and esiop
    624 #
    625 define	siop_common
    626 file	dev/ic/siop_common.c		siop_common
    627 
    628 # Symbios/NCR 53c720/53c8xx SCSI controllers
    629 #
    630 device	siop: scsi,siop_common
    631 file	dev/ic/siop.c			siop & (siop_pci | siop_gedoens)
    632 defflag	opt_siop.h			SIOP_SYMLED
    633 
    634 device	esiop: scsi,siop_common
    635 file	dev/ic/esiop.c			esiop
    636 
    637 # UltraStor SCSI controllers
    638 #
    639 device	uha: scsi
    640 file	dev/ic/uha.c			uha
    641 
    642 # 3Com common probe code
    643 define  elink
    644 file    dev/isa/elink.c                 elink
    645 
    646 # Aironet PC4500/PC4800
    647 #
    648 device	an: arp, wlan, ifnet
    649 file	dev/ic/an.c			an
    650 
    651 # AMD 79c930-based 802.11 cards
    652 #
    653 device	awi: arp, wlan, ifnet
    654 file	dev/ic/awi.c			awi
    655 file	dev/ic/am79c930.c		awi
    656 
    657 # Lucent & Intersil WaveLan IEEE (802.11)
    658 #
    659 device	wi: arp, wlan, ifnet
    660 file	dev/ic/wi.c			wi
    661 
    662 # Atheros HAL
    663 #
    664 include "external/isc/atheros_hal/conf/files.ath_hal"
    665 
    666 # Atheros 5210/5211/5212 multi-mode 802.11
    667 #
    668 device	ath: arp, wlan, ifnet
    669 file	dev/ic/ath.c			ath
    670 file	dev/ic/ath_netbsd.c		ath
    671 file	dev/ic/athrate-sample.c		ath
    672 
    673 # ADMtek ADM8211 802.11
    674 #
    675 device	atw: arp, wlan, ifnet, smc93cx6
    676 file	dev/ic/atw.c			atw
    677 
    678 # Realtek RTL8180 802.11
    679 #
    680 device rtw: arp, wlan, ifnet, smc93cx6
    681 file	dev/ic/rtw.c			rtw
    682 file	dev/ic/rtwphy.c			rtw
    683 file	dev/ic/rtwphyio.c		rtw
    684 
    685 # Ralink RT2500/RT2600/RT2860 802.11
    686 device	ral: arp, ether, ifnet, wlan, firmload
    687 file	dev/ic/rt2560.c			ral
    688 file	dev/ic/rt2661.c			ral
    689 file	dev/ic/rt2860.c			ral
    690 
    691 # Marvell Libertas Open
    692 device  malo: arp, ether, ifnet, wlan, firmload
    693 file    dev/ic/malo.c           malo
    694 
    695 # 3Com Etherlink-III Ethernet controller
    696 #
    697 device	ep: arp, ether, ifnet, mii, mii_bitbang
    698 file	dev/ic/elink3.c			ep
    699 
    700 # 3Com EtherLink XL Controller
    701 #
    702 device	ex: arp, ether, ifnet, mii, mii_bitbang
    703 file	dev/ic/elinkxl.c		ex
    704 
    705 # DEC EtherWORKS III (LEMAC) Ethernet controllers
    706 #
    707 device	lc: arp, ether, ifnet
    708 file	dev/ic/lemac.c			lc
    709 
    710 # LANCE and PCnet Ethernet controllers
    711 #
    712 device	le: arp, ether, ifnet
    713 define	le24
    714 define	le32
    715 file	dev/ic/am7990.c			le24
    716 file	dev/ic/am79900.c		le32
    717 file	dev/ic/lance.c			le24 | le32
    718 
    719 # DEC DEPCA-family of LANCE Ethernet controllers
    720 #
    721 device	depca { }: le24
    722 file	dev/ic/depca.c			depca
    723 attach	le at depca with le_depca
    724 
    725 # Sun HME Ethernet controllers
    726 #
    727 device	hme: arp, ether, ifnet, mii
    728 file	dev/ic/hme.c			hme
    729 
    730 # Sun GEM Ethernet controllers
    731 #
    732 device	gem: arp, ether, ifnet, mii
    733 file	dev/ic/gem.c			gem
    734 
    735 # Synopsis Designware GMAC core, as found on allwinner a20
    736 # and other SoCs
    737 device	awge: arp, ether, ifnet, mii
    738 file	dev/ic/dwc_gmac.c		awge
    739 
    740 # 8390-family Ethernet controllers
    741 #
    742 defflag	opt_ipkdb.h		IPKDB_DP8390
    743 define	dp8390nic
    744 file	dev/ic/dp8390.c			dp8390nic | ipkdb_dp8390
    745 
    746 # National Semiconductor DP83905 AT/LANTIC Ethernet media support
    747 #
    748 define	dp83905
    749 file	dev/ic/dp83905.c		dp83905
    750 
    751 # Macronix MX98905 Ethernet controller
    752 # (use as an attribute for an "ne" bus attachment)
    753 #
    754 define	mx98905
    755 file	dev/ic/mx98905.c		mx98905
    756 
    757 # TROPIC Token-Ring controller
    758 #
    759 device	tr: arp, token, ifnet
    760 file	dev/ic/tropic.c			tr
    761 
    762 # NCR 5380 SCSI Bus Controller
    763 #
    764 define	ncr5380sbc
    765 file	dev/ic/ncr5380sbc.c		ncr5380sbc
    766 device	nca: scsi, ncr5380sbc
    767 
    768 # Sun sc PAL SCSI Bus Controller
    769 #
    770 define	sunscpal
    771 file	dev/ic/sunscpal.c		sunscpal
    772 device	ssc: scsi, sunscpal
    773 
    774 # DEC FDDI Chipset
    775 #
    776 define	pdq
    777 file	dev/ic/pdq.c			pdq
    778 file	dev/ic/pdq_ifsubr.c		pdq
    779 
    780 # Cyclades Cyclom-8/16/32
    781 #
    782 device	cy: tty
    783 file	dev/ic/cy.c			cy			needs-flag
    784 
    785 # Efficient Networks, Inc. ATM interface
    786 #
    787 device	en: atm, ifnet
    788 file	dev/ic/midway.c			en
    789 
    790 # NCR 53x9x or Emulex ESP SCSI Controller
    791 #
    792 define	ncr53c9x
    793 device	esp: scsi, ncr53c9x
    794 file	dev/ic/ncr53c9x.c		ncr53c9x
    795 
    796 # Fujitsu MB87030/MB89352 SCSI Protocol Controller
    797 device	spc: scsi
    798 file	dev/ic/mb89352.c		spc
    799 
    800 # Western Digital WD33C93/WD33C93A SCSI Bus Interface Controller
    801 define	wd33c93
    802 file	dev/ic/wd33c93.c		wd33c93
    803 
    804 # Hitachi HD44780 LCD panel controller
    805 define	hd44780
    806 file	dev/ic/hd44780_subr.c		hd44780
    807 file	dev/ic/lcdkp_subr.c		hd44780
    808 
    809 # Matrix keypad
    810 define	matrixkp
    811 file	dev/ic/matrixkp_subr.c		matrixkp
    812 
    813 # Hitachi HD64570 serial controller
    814 #
    815 define	hd64570
    816 file	dev/ic/hd64570.c		hd64570
    817 
    818 # Riscom/N2 ISA/PCI Sync Serial Controller
    819 #
    820 device	ntwoc: ifnet, hd64570
    821 
    822 # Intel 82586 Ethernet Controller
    823 #
    824 define	i82586
    825 file	dev/ic/i82586.c			i82586
    826 
    827 # Intel 82596 Ethernet Controller
    828 #
    829 define	i82596
    830 file	dev/ic/i82596.c			i82596
    831 
    832 # Intel 82557/82558/82559 Ethernet Controller
    833 #
    834 device	fxp: ether, ifnet, arp, mii
    835 file	dev/ic/i82557.c			fxp
    836 
    837 # SEEQ 8005 Advanced Ethernet Data Link Controller
    838 #
    839 define	seeq8005
    840 file	dev/ic/seeq8005.c		seeq8005
    841 
    842 # SMC 91Cxx Ethernet Controller
    843 #
    844 device	sm: arp, ether, ifnet, mii, mii_bitbang
    845 file	dev/ic/smc91cxx.c		sm
    846 
    847 # SMC 83C170 EPIC/100 Fast Ethernet Controller
    848 #
    849 device	epic: arp, ether, ifnet, mii
    850 file	dev/ic/smc83c170.c		epic
    851 
    852 # DEC SGEC Second Generation Ethernet Controller
    853 #
    854 define	sgec
    855 file	dev/ic/sgec.c			sgec
    856 
    857 # MB86950 Ethernet Controller
    858 #
    859 define	mb86950
    860 file	dev/ic/mb86950.c		mb86950
    861 
    862 # MB8696x Ethernet Controller
    863 #
    864 define	mb86960
    865 file	dev/ic/mb86960.c		mb86960
    866 
    867 # Generic MB8696x Ethernet Controller driver
    868 #
    869 device	mbe: arp, ether, ifnet, mb86960
    870 
    871 # Interwave Am78C201 audio driver
    872 #
    873 define	interwave
    874 file	dev/ic/interwave.c		interwave
    875 
    876 # TMS 320av110 MPEG2/audio driver
    877 #
    878 define	tms320av110
    879 file	dev/ic/tms320av110.c		tms320av110
    880 
    881 # Novell NE2000-compatible Ethernet cards, based on the
    882 # National Semiconductor DS8390.
    883 #
    884 defflag	opt_ipkdb.h		IPKDB_NE			: IPKDB_DP8390
    885 device	ne: ether, ifnet, arp, dp8390nic, mii
    886 file	dev/ic/ne2000.c			ne | ipkdb_ne
    887 
    888 # 8250/16[45]50-based "com" ports
    889 #
    890 defflag	opt_com.h		COM_DEBUG
    891 # XXX In a perfect world, this would be done with attributes
    892 defflag	opt_com.h		COM_16650 COM_16750
    893 				COM_HAYESP COM_PXA2X0 COM_AU1X00
    894 				COM_REGMAP COM_FUNCMAP COM_AWIN
    895 defparam opt_com.h		COM_TOLERANCE
    896 device	com { } : tty
    897 file	dev/ic/com.c			com			needs-flag
    898 
    899 # PC-like keyboard controller
    900 #
    901 device	pckbc: pckbport
    902 file	dev/ic/pckbc.c			pckbc			needs-flag
    903 
    904 device	attimer
    905 file	dev/ic/attimer.c		attimer			needs-flag
    906 
    907 # Cirrus Logic CD240[01] 4-port Multi-Protocol Communications Controller
    908 #
    909 device	clmpcc: tty
    910 file	dev/ic/clmpcc.c			clmpcc			needs-flag
    911 
    912 # Abit uGuru
    913 #
    914 device	ug: sysmon_envsys
    915 file	dev/ic/ug.c			ug			needs-flag
    916 
    917 # Essential Communications Corp. HIPPI Interface
    918 #
    919 device	esh: hippi, ifnet
    920 file	dev/ic/rrunner.c		esh			needs-flag
    921 
    922 # SMC 90c26, SMC 90C56 (and 90C66 if in compat mode) chip driver
    923 #
    924 device	bah: ifnet, arcnet, arp
    925 file	dev/ic/smc90cx6.c		bah
    926 
    927 # OPL2/OPL3 FM synth driver
    928 #
    929 device	opl: midibus, midisyn
    930 file	dev/ic/opl.c			opl
    931 file	dev/ic/oplinstrs.c		opl
    932 
    933 # MPU401 MIDI UART compatibles
    934 #
    935 device	mpu: midibus
    936 file	dev/ic/mpu.c			mpu			needs-flag
    937 
    938 # AD1848 (CS4248, CS4231, AD1845) audio codec support; used by other drivers
    939 #
    940 define	ad1848
    941 file	dev/ic/ad1848.c			ad1848
    942 
    943 # AMD 7930 audio/ISDN codec
    944 #
    945 define	am7930
    946 file	dev/ic/am7930.c			am7930
    947 
    948 # Siemens PSB2160 audio codec, as found in HP systems
    949 device	arcofi: audiobus, auconv, mulaw
    950 file	dev/ic/arcofi.c			arcofi
    951 
    952 # SPARC `SUNW,audiocs'
    953 #
    954 device	audiocs: audiobus, auconv, ad1848
    955 file	dev/ic/cs4231.c			audiocs
    956 
    957 # AC-97 CODECs
    958 #
    959 define	ac97
    960 file	dev/ic/ac97.c			ac97
    961 
    962 # UDA1341 CODEC support
    963 define	uda1341
    964 file	dev/ic/uda1341.c		uda1341
    965 
    966 # Oki MSM6258 support code
    967 #
    968 define msm6258
    969 file	dev/ic/msm6258.c		msm6258
    970 
    971 # LSI64854 DMA controller back-end
    972 #
    973 define	lsi64854
    974 file	dev/ic/lsi64854.c		lsi64854
    975 
    976 # Cirrus Logic CL-CD180/1864/1865 multi port serial controller back-end
    977 #
    978 define	cd18xx
    979 file	dev/ic/cd18xx.c			cd18xx
    980 
    981 # Realtek 8019/8029 NE2000-compatible network interface subroutines
    982 #
    983 define	rtl80x9
    984 file	dev/ic/rtl80x9.c		rtl80x9			needs-flag
    985 
    986 # Realtek 8129/8139 Ethernet controllers
    987 #
    988 device	rtk: ether, ifnet, arp, mii
    989 file	dev/ic/rtl81x9.c		rtk | re
    990 
    991 # Realtek 8169 Ethernet controllers
    992 #
    993 device	re: ether, ifnet, arp, mii
    994 file	dev/ic/rtl8169.c		re
    995 
    996 # Common code for ESDI/IDE/etc. controllers
    997 #
    998 define	wdc_common
    999 define	ata_dma
   1000 define	ata_udma
   1001 define	ata_piobm
   1002 device	wdc: ata, wdc_common
   1003 
   1004 defflag opt_ata.h	ATADEBUG
   1005 defparam opt_ata.h	ATADEBUG_MASK
   1006 defflag opt_wdc.h	WDC_NO_IDS
   1007 
   1008 device	atabus: atapi,ata_hl
   1009 attach	atabus at ata
   1010 # The strange expression is to dump ata_* definitions to ata_dma.h.
   1011 file	dev/ic/wdc.c			(ata_dma | ata_udma | ata_piobm | atabus) & atabus & wdc_common	needs-flag
   1012 
   1013 # Workbit NinjaATA-32 IDE controllers
   1014 device	njata: ata, ata_piobm, wdc_common
   1015 file	dev/ic/ninjaata32.c		njata
   1016 
   1017 # CHIPS and Technologies 82C7[12][01] Universal Peripheral Controller
   1018 #
   1019 device	upc { [offset = -1] }
   1020 attach	wdc at upc with wdc_upc
   1021 attach	com at upc with com_upc
   1022 attach	lpt at upc with lpt_upc
   1023 file	dev/ic/upc.c			upc
   1024 file	dev/ic/wdc_upc.c		wdc_upc
   1025 file	dev/ic/com_upc.c		com_upc
   1026 file	dev/ic/lpt_upc.c		lpt_upc
   1027 
   1028 # AHCI-compatible SATA controllers
   1029 define ahcisata_core
   1030 file dev/ic/ahcisata_core.c ahcisata_core
   1031 device ahcisata: ata, ata_dma, ata_udma, sata, sata_fis, sata_pmp, ahcisata_core
   1032 
   1033 # Silicon Image SteelVine SATA-II controllers
   1034 define	siisata
   1035 file	dev/ic/siisata.c		siisata
   1036 device	siisata: ata, ata_dma, ata_udma, sata, sata_fis, sata_pmp, siisata
   1037 
   1038 # Marvell Serial-ATA Host Controller
   1039 define mvsata
   1040 file dev/ic/mvsata.c			mvsata
   1041 device mvsata: ata, ata_dma, ata_udma, wdc_common, sata, sata_pmp, mvsata
   1042 defflag opt_mvsata.h		MVSATA_WITHOUTDMA
   1043 
   1044 # DECchip 21x4x Ethernet controller family, and assorted clones.
   1045 #
   1046 device	tlp: arp, ether, ifnet, mii, mii_bitbang
   1047 file	dev/ic/tulip.c			tlp
   1048 
   1049 # Adaptec AIC-6915 Ethernet interface
   1050 #
   1051 device	sf: arp, ether, ifnet, mii
   1052 file	dev/ic/aic6915.c		sf
   1053 
   1054 # Mostek time-of-day clock and NVRAM
   1055 #
   1056 define	mk48txx
   1057 file	dev/ic/mk48txx.c		mk48txx
   1058 
   1059 # OKI MSM6242B
   1060 #
   1061 define	msm6242b
   1062 file	dev/ic/msm6242b.c		msm6242b
   1063 
   1064 # Intersil 7170 time-of-day clock
   1065 #
   1066 define	intersil7170
   1067 file	dev/ic/intersil7170.c		intersil7170
   1068 
   1069 # National Semiconductor MM58167 time-of-day clock
   1070 #
   1071 define	mm58167
   1072 file	dev/ic/mm58167.c		mm58167
   1073 
   1074 # Motorola mc146818 (and compatible) time-of-day clock
   1075 #
   1076 define	mc146818
   1077 file	dev/ic/mc146818.c		mc146818
   1078 
   1079 # Ricoh RS5C313 time of-day-clock
   1080 #
   1081 define	rs5c313
   1082 file	dev/ic/rs5c313.c		rs5c313
   1083 
   1084 # D-Link DL10019/10022 NE2000-compatible network interface subroutines
   1085 #
   1086 define	dl10019
   1087 file	dev/ic/dl10019.c		dl10019
   1088 
   1089 # ASIX AX88190 NE2000-compatible network interface subroutines
   1090 #
   1091 define	ax88190
   1092 file	dev/ic/ax88190.c		ax88190
   1093 
   1094 # WD/SMC 80x3 family, SMC Elite Ultra [8216], SMC EtherEZ
   1095 #
   1096 device	we: ether, ifnet, arp, dp8390nic
   1097 file	dev/ic/we.c			we
   1098 
   1099 # Allied-Telesis Ethernet driver based on Fujitsu MB8696xA controllers
   1100 #
   1101 device	ate: arp, ether, ifnet, mb86960
   1102 
   1103 # Fujitsu FMV-18x Ethernet driver based on Fujitsu MB8696xA controllers
   1104 #
   1105 device	fmv: arp, ether, ifnet, mb86960
   1106 file	dev/ic/fmv.c			fmv
   1107 
   1108 # Crystal Semiconductor CS8900, CS8920, and CS8920M Ethernet
   1109 #
   1110 device	cs: arp, ether, ifnet
   1111 device	tscs: arp, ether, ifnet
   1112 file	dev/ic/cs89x0.c			cs | tscs
   1113 
   1114 # Radio device attributes
   1115 #
   1116 define	tea5757
   1117 file	dev/ic/tea5757.c		tea5757
   1118 define	lm700x
   1119 file	dev/ic/lm700x.c			lm700x
   1120 
   1121 # Philips PCF8584 i2c controller
   1122 define	pcf8584
   1123 file	dev/ic/pcf8584.c		pcf8584
   1124 
   1125 # PCA9564 i2c controller
   1126 define	pca9564
   1127 file	dev/ic/pca9564.c		pca9564
   1128 
   1129 # ACPI power management timer (hardware access, independent of ACPI)
   1130 #
   1131 define acpipmtimer
   1132 file	dev/ic/acpipmtimer.c	acpipmtimer
   1133 
   1134 device 	hpet
   1135 file 	dev/ic/hpet.c		hpet			needs-flag
   1136 
   1137 # DesignWare timer
   1138 device	dwctmr
   1139 file	dev/ic/dwc_tmr.c	dwctmr
   1140 
   1141 # SMSC LAN9118 Family Ethernet Controller
   1142 #
   1143 device	smsh: arp, ether, ifnet, mii
   1144 file	dev/ic/lan9118.c		smsh
   1145 
   1146 # Apple System Management Controller
   1147 #
   1148 define	applesmcbus	{ }
   1149 device	applesmc: applesmcbus
   1150 file	dev/ic/apple_smc.c		applesmc
   1151 
   1152 # Apple SMC fan sensors and control
   1153 device	applesmcfan: applesmcbus, sysmon_envsys
   1154 attach	applesmcfan at applesmcbus with apple_smc_fan
   1155 file	dev/ic/apple_smc_fan.c		applesmcfan
   1156 
   1157 # Apple SMC temperature sensors
   1158 device	applesmctemp: applesmcbus, sysmon_envsys
   1159 attach	applesmctemp at applesmcbus with apple_smc_temp
   1160 file	dev/ic/apple_smc_temp.c		applesmctemp
   1161 
   1162 # Apple SMC accelerometer (not yet implemented!)
   1163 #device	applesmcaccel: applesmcbus, sysmon_envsys
   1164 #attach	applesmcaccel at applesmcbus with apple_smc_accel
   1165 #file	dev/ic/apple_smc_accel.c	applesmcaccel
   1166 
   1167 # DRM - Direct Rendering Infrastructure: dev/drm
   1168 define drm {}
   1169 include "external/bsd/drm/conf/files.drm"
   1170 include "dev/drm/files.drm"
   1171 
   1172 # Linux API support
   1173 include "external/bsd/common/conf/files.linux"
   1174 
   1175 # DRM/KMS - Newer direct rendering manager with kernel mode-switching
   1176 include "external/bsd/drm2/drm/files.drmkms"
   1177 
   1178 
   1179 # Definitions for wscons
   1180 # device attributes: display, display with emulator, keyboard, and mouse
   1181 #
   1182 define	wsdisplaydev		{[kbdmux = 1]}
   1183 define	wsemuldisplaydev	{[console = -1], [kbdmux = 1]}
   1184 define	wskbddev		{[console = -1], [mux = 1]}
   1185 define	wsmousedev		{[mux = 0]}
   1186 define	vcons
   1187 # attribute to pull in raster support
   1188 #
   1189 define	wsrasteremulops
   1190 # common PC display functions
   1191 #
   1192 defflag	opt_pcdisplay.h		PCDISPLAY_SOFTCURSOR
   1193 define	pcdisplayops
   1194 file	dev/ic/pcdisplay_subr.c	pcdisplayops
   1195 file	dev/ic/pcdisplay_chars.c	pcdisplayops
   1196 # an attribute used by arch specific config files to include /dev/fb* (or
   1197 # equivalent) support - on most archs this is just a NOP (untill, maybe
   1198 # someday when we might make /dev/fb* support MI)
   1199 define	fb
   1200 # VGA graphics
   1201 #
   1202 defparam opt_vga.h		VGA_CONSOLE_SCREENTYPE
   1203 defflag opt_vga.h 		VGA_CONSOLE_ATI_BROKEN_FONTSEL
   1204 defflag opt_vga.h		VGA_RASTERCONSOLE
   1205 defflag opt_vga.h		VGA_RESET
   1206 device	vga: displaydev, wsemuldisplaydev, pcdisplayops, drm
   1207 file	dev/ic/vga.c		vga & !vga_rasterconsole	needs-flag
   1208 file	dev/ic/vga_raster.c	vga_rasterconsole		needs-flag
   1209 file	dev/ic/vga_subr.c	vga | vga_rasterconsole
   1210 file	dev/ic/vga_common.c	vga | vga_rasterconsole
   1211 
   1212 # Integraphics Systems IGA168x and CyberPro framebuffers (linear non-VGA mode)
   1213 #
   1214 device	igsfb: wsemuldisplaydev, rasops8, vcons, videomode
   1215 file	dev/ic/igsfb.c			igsfb			needs-flag
   1216 file	dev/ic/igsfb_subr.c		igsfb
   1217 
   1218 device	chipsfb: wsemuldisplaydev, rasops8, vcons, videomode, glyphcache
   1219 file	dev/ic/ct65550.c		chipsfb
   1220 defflag	opt_chipsfb.h	CHIPSFB_DEBUG
   1221 defflag	opt_chipsfb.h	CHIPSFB_WAIT
   1222 
   1223 # STI (hp graphics)
   1224 device	sti: wsemuldisplaydev
   1225 file	dev/ic/sti.c		sti
   1226 
   1227 include "dev/wscons/files.wscons"
   1228 include "dev/rasops/files.rasops"
   1229 include "dev/wsfont/files.wsfont"
   1230 include "dev/wsfb/files.wsfb"
   1231 
   1232 # Attributes which machine-independent bus support can be attached to.
   1233 # These should be defined here, because some of these busses can have
   1234 # devices which provide these attributes, and we'd like to avoid hairy
   1235 # ordering constraints on inclusion of the busses' "files" files.
   1236 #
   1237 define	isabus	{ }			# ISA attachment
   1238 define	eisabus	{ }			# EISA attachment
   1239 define	pcibus	{[bus = -1]}		# PCI attachment
   1240 define	tcbus	{ }			# TurboChannel attachment
   1241 define	mcabus	{ }			# MicroChannel attachment
   1242 define	usbus	{ }			# USB attachment
   1243 define	fwbus	{ }			# IEEE 1394 attachment
   1244 define	vmebus	{ }			# VME bus attachment
   1245 define	acpibus	{ }			# ACPI "bus" attachment
   1246 define	pcmciabus { [controller = -1], [socket = -1]}	# PCMCIA bus attachment
   1247 define	cbbus	{ }			# CardBus attachment
   1248 define	pcmciaslot { }			# PCMCIA slot itself
   1249 define	sdmmcbus { }			# SD/MMC attachment
   1250 
   1251 # We need the USB bus controllers here so different busses can
   1252 # use them in an 'attach-with'.
   1253 #
   1254 
   1255 define	usbroothub
   1256 file	dev/usb/usbroothub.c	usbroothub
   1257 
   1258 define	usb_dma
   1259 
   1260 # UHCI USB controller
   1261 #
   1262 device	uhci: usbus, usbroothub, usb_dma
   1263 file	dev/usb/uhci.c			uhci			needs-flag
   1264 
   1265 # OHCI USB controller
   1266 #
   1267 device	ohci: usbus, usbroothub, usb_dma
   1268 file	dev/usb/ohci.c			ohci			needs-flag
   1269 
   1270 # EHCI USB2 controller
   1271 #
   1272 device	ehci: usbus, usbroothub, usb_dma
   1273 file	dev/usb/ehci.c			ehci			needs-flag
   1274 
   1275 # xHCI USB3 controller
   1276 #
   1277 device	xhci: usbus, usbroothub, usb_dma
   1278 file	dev/usb/xhci.c			xhci			needs-flag
   1279 
   1280 # Mentor graphics OTG IP
   1281 defflag	opt_motg.h	MOTG_ALLWINNER
   1282 device	motg: usbus, usbroothub
   1283 file	dev/usb/motg.c			motg			needs-flag
   1284 
   1285 # SL811HS/T USB controller
   1286 defflag	opt_slhci.h	SLHCI_TRY_LSVH SLHCI_PROFILE_TRANSFER
   1287 device	slhci: usbus, usbroothub
   1288 file	dev/ic/sl811hs.c		slhci			needs-flag
   1289 
   1290 # DesignWare OTG host controller
   1291 #
   1292 include "external/bsd/dwc2/conf/files.dwc2"
   1293 
   1294 # USB HID processing (as used by bluetooth and usb code)
   1295 define	hid
   1296 file	dev/usb/hid.c			hid
   1297 
   1298 # SD Host controller
   1299 device	sdhc: sdmmcbus
   1300 file	dev/sdmmc/sdhc.c		sdhc			needs-flag
   1301 
   1302 # Winbond Integrated Media Reader
   1303 device	wb: sdmmcbus
   1304 file	dev/ic/w83l518d.c		wb
   1305 file	dev/ic/w83l518d_sdmmc.c		wb
   1306 
   1307 # Realtek RTS5209/RTS5229 Card Reader
   1308 device	rtsx: sdmmcbus
   1309 file	dev/ic/rtsx.c			rtsx
   1310 
   1311 # DesignWare SD/MMC host controller
   1312 defflag	opt_dwc_mmc.h	DWC_MMC_DEBUG
   1313 device	dwcmmc: sdmmcbus
   1314 file	dev/ic/dwc_mmc.c		dwcmmc
   1315 
   1316 # ARM PrimeCell PL181 (MMCI) host controller
   1317 device	plmmc: sdmmcbus
   1318 file	dev/ic/pl181.c			plmmc
   1319 
   1320 # Myson MTD803 3-in-1 Fast Ethernet Controller
   1321 device	mtd: arp, ether, ifnet, mii
   1322 file	dev/ic/mtd803.c			mtd
   1323 
   1324 # radio devices, attaches to radio hardware driver
   1325 device	radio
   1326 attach	radio at radiodev
   1327 
   1328 # IEEE 1394 controllers
   1329 # (These need to be here since it will have both PCI and CardBus attachments)
   1330 #
   1331 device	fwohci: fwbus
   1332 
   1333 # Sony Programmable I/O Controller
   1334 device	spic: wsmousedev
   1335 file	dev/ic/spic.c			spic
   1336 
   1337 # IBM CPC700 PowerPC bridge
   1338 define	cpcbus { addr, [irq=-1] }
   1339 device	cpc: cpcbus, pcibus
   1340 file	dev/ic/cpc700.c			cpc
   1341 
   1342 attach	com at cpcbus with com_cpcbus
   1343 file	dev/ic/com_cpcbus.c		com_cpcbus
   1344 
   1345 device	cpctim
   1346 attach	cpctim at cpcbus
   1347 file	dev/ic/timer_cpcbus.c		cpctim
   1348 
   1349 device	cpciic
   1350 attach	cpciic at cpcbus with iic_cpcbus
   1351 file	dev/ic/iic_cpcbus.c		iic_cpcbus
   1352 
   1353 
   1354 # Attributes used by the ISDN subsystem
   1355 #
   1356 define	isdndev		# the ISDN subsystem
   1357 define	passive_isdn	# files needed by passive cards (XXX - protocol
   1358 			# specific)
   1359 define	isdncapi	# ISDN CAPI (http://www.capi.org/)
   1360 
   1361 # The isac found on the Fritz V2.0 Card.
   1362 define	nisacsx
   1363 file	dev/ic/isacsx.c			nisacsx	needs-flag
   1364 
   1365 # The 'standard' isac
   1366 define	nisac
   1367 file	dev/ic/isac.c			nisac	needs-flag
   1368 
   1369 # ISDN cards based on the Siemens ISAC/HSCX chipset (or lookalikes)
   1370 #
   1371 device	isic: isdndev, passive_isdn, nisac
   1372 
   1373 file	dev/ic/isic.c			isic
   1374 file	dev/ic/isic_l1.c		isic|ifpci|ifritz
   1375 file	dev/ic/isic_l1fsm.c		isic|ifpci|ifritz
   1376 file	dev/ic/hscx.c			isic
   1377 file	dev/ic/isic_bchan.c		isic
   1378 
   1379 # (old) Diehl active ISDN cards
   1380 #
   1381 #device	daic: isdndev
   1382 #file	dev/ic/daic.c			daic
   1383 
   1384 # AWM B1/T1
   1385 # XXX: passive_isdn
   1386 device	iavc: isdndev, isdncapi, passive_isdn
   1387 file	dev/ic/iavc.c			iavc
   1388 
   1389 # Broadcom AirForce / Apple Airport Extreme
   1390 device	bwi: arp, ifnet, firmload, wlan
   1391 file	dev/ic/bwi.c			bwi
   1392 
   1393 # DM9000 Ethernet controllers
   1394 #
   1395 device	dme: arp, ether, ifnet
   1396 file	dev/ic/dm9000.c			dme
   1397 
   1398 # NVM Express Controller
   1399 #
   1400 device	nvme {nsid = -1}
   1401 file	dev/ic/nvme.c			nvme
   1402 
   1403 attach	ld at nvme with ld_nvme
   1404 file	dev/ic/ld_nvme.c		ld_nvme
   1405 
   1406 # legitimate pseudo-devices
   1407 #
   1408 defpseudodev vnd:	disk
   1409 defflag opt_vnd.h	VND_COMPRESSION
   1410 defpseudo ccd:		disk
   1411 defpseudodev cgd:	disk, des, blowfish, cast128
   1412 defpseudodev md:	disk
   1413 defpseudodev fss:	disk
   1414 
   1415 defpseudo pty:		tty
   1416 defpseudo rnd
   1417 defpseudo ksyms
   1418 defpseudo nullcons
   1419 defpseudo lockstat
   1420 defpseudo bio:		sysmon_envsys
   1421 
   1422 defpseudo loop:		ifnet
   1423 defpseudo sl:		ifnet
   1424 defpseudo ppp:		ifnet, bpf_filter
   1425 defpseudo pppoe:	ifnet, ether, sppp
   1426 defpseudo tun:		ifnet
   1427 defpseudo vlan:		ifnet, ether
   1428 defpseudo bridge:	ifnet, ether
   1429 defpseudo bpfilter:	ifnet, bpf_filter
   1430 defpseudo strip:	ifnet
   1431 defpseudo gre:		ifnet
   1432 defpseudo gif:		ifnet
   1433 defpseudo faith:	ifnet
   1434 defpseudo mpls:		ifnet
   1435 defpseudo srt:		ifnet
   1436 defpseudo stf:		ifnet
   1437 defpseudodev tap:	ifnet, ether, arp
   1438 defpseudo carp:		ifnet, ether, arp
   1439 defpseudodev etherip:	ifnet, ether, arp
   1440 defpseudodev l2tp:	ifnet, ether, arp
   1441 
   1442 defpseudo sequencer
   1443 defpseudo clockctl
   1444 
   1445 #
   1446 # Accept filters.  XXX should use another registration/initialization method.
   1447 #
   1448 defpseudo accf_data
   1449 defpseudo accf_http
   1450 
   1451 # ISDN userland pseudo devices
   1452 #
   1453 defpseudo isdntrc:	isdndev, tty
   1454 defpseudo isdnbchan:	isdndev, tty
   1455 defpseudo isdntel:	isdndev, tty
   1456 defpseudo isdnctl:	isdndev, tty
   1457 defpseudo isdn:		isdndev, tty
   1458 
   1459 # ISDN network interfaces
   1460 defpseudo irip:		isdndev, ifnet
   1461 defflag opt_irip.h	IRIP_VJ
   1462 defpseudo ippp:		isdndev, sppp, ifnet
   1463 
   1464 # KTTCP network throughput testing pseudo-device
   1465 defpseudo kttcp
   1466 file	dev/kttcp.c			kttcp		needs-flag
   1467 
   1468 # Veriexec
   1469 defpseudo veriexec
   1470 file	kern/kern_veriexec.c	veriexec
   1471 file	dev/veriexec.c		veriexec	needs-flag
   1472 
   1473 # driver attach / detach user interface
   1474 defpseudo drvctl
   1475 file	kern/kern_drvctl.c		drvctl		needs-flag
   1476 
   1477 # cpu control
   1478 defpseudo cpuctl
   1479 defflag				CPU_UCODE: firmload
   1480 
   1481 # pass-to-userspace transporter
   1482 defpseudo putter
   1483 file	dev/putter/putter.c		putter
   1484 
   1485 # userspace block/char device drivers
   1486 defpseudo pud
   1487 file	dev/pud/pud.c			pud
   1488 file	dev/pud/pud_dev.c		pud
   1489 
   1490 # device-mapper driver for LVM
   1491 include "dev/dm/files.dm"
   1492 
   1493 #
   1494 # File systems
   1495 #
   1496 include "coda/files.coda"
   1497 include "fs/adosfs/files.adosfs"
   1498 include "fs/cd9660/files.cd9660"
   1499 include "fs/efs/files.efs"
   1500 include "fs/filecorefs/files.filecorefs"
   1501 include "fs/hfs/files.hfs"
   1502 include "fs/msdosfs/files.msdosfs"
   1503 include "fs/nilfs/files.nilfs"
   1504 include "fs/ntfs/files.ntfs"
   1505 include "fs/ptyfs/files.ptyfs"
   1506 include "fs/puffs/files.puffs"
   1507 include "fs/udf/files.udf"
   1508 include "fs/smbfs/files.smbfs"
   1509 include "fs/sysvbfs/files.sysvbfs"
   1510 include "fs/tmpfs/files.tmpfs"
   1511 include "fs/union/files.union"
   1512 include "fs/v7fs/files.v7fs"
   1513 include "miscfs/fdesc/files.fdesc"
   1514 include "miscfs/kernfs/files.kernfs"
   1515 include "miscfs/nullfs/files.nullfs"
   1516 include "miscfs/overlay/files.overlay"
   1517 include "miscfs/procfs/files.procfs"
   1518 include "miscfs/umapfs/files.umapfs"
   1519 include "nfs/files.nfs"
   1520 include "ufs/files.ufs"
   1521 include "fs/nfs/files.newnfs"
   1522 
   1523 #
   1524 # UVM (virtual memory)
   1525 #
   1526 include "uvm/files.uvm"
   1527 
   1528 #
   1529 # Security models
   1530 #
   1531 include "secmodel/files.secmodel"
   1532 
   1533 include "kern/files.kern"
   1534 
   1535 include "dev/files.dev"
   1536 
   1537 include "net/files.net"
   1538 
   1539 # Game adapter (joystick)
   1540 device	joy
   1541 file	dev/ic/joy.c			joy needs-flag
   1542 
   1543 # process monitor for make(1)
   1544 # normally built as module
   1545 defpseudo filemon
   1546 file	dev/filemon/filemon.c		filemon
   1547 file	dev/filemon/filemon_wrapper.c	filemon
   1548 
   1549 #
   1550 # General Purpose Input/Output framework
   1551 #
   1552 define	onewire_bitbang
   1553 include	"dev/gpio/files.gpio"
   1554 
   1555 include "dev/onewire/files.onewire"
   1556 
   1557 #
   1558 # Pseudo audio device
   1559 #
   1560 include "dev/pad/files.pad"
   1561 
   1562 #
   1563 # Intel 386 Real Mode emulator
   1564 #
   1565 include "lib/libx86emu/files.x86emu"
   1566 
   1567 #
   1568 # "tprof" profiler.
   1569 #
   1570 include	"dev/tprof/files.tprof"
   1571 
   1572 #
   1573 # alternate memory device
   1574 #
   1575 include "dev/altmem/files.altmem"
   1576 
   1577 #
   1578 # Flash subsystem
   1579 #
   1580 include "dev/flash/files.flash"
   1581 
   1582 #
   1583 # NAND subsytem
   1584 #
   1585 include "dev/nand/files.nand"
   1586 
   1587 #
   1588 # NOR subsytem
   1589 #
   1590 include "dev/nor/files.nor"
   1591 
   1592 #
   1593 # iscsi
   1594 #
   1595 include "dev/iscsi/files.iscsi"
   1596 
   1597 #
   1598 # athn
   1599 #
   1600 include "dev/ic/files.athn"
   1601 
   1602 #
   1603 # MI clk api
   1604 #
   1605 include "dev/clk/files.clk"
   1606