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