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