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