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