1# $NetBSD: XEN3_DOM0,v 1.203 2024/04/02 22:56:50 charlotte Exp $
2
3# XEN3_DOM0 machine description file
4#
5# This machine description file is used to generate a kernel to be
6# used as a PV dom0 under Xen.  It is similar to GENERIC in that it is
7# intended to be useful for most applications.  Generally, besides
8# changes that are specifically required for Xen (e.g., XENPV), it
9# should be similar to GENERIC.  Some differences are currently
10# necessary, such as drivers that fail under Xen but work in GENERIC,
11# for reasons that do not follow from Xen architecture.
12
13include   "arch/amd64/conf/std.xen"
14
15options   INCLUDE_CONFIG_FILE # embed config file in kernel binary
16
17#ident              "XEN3_DOM0-$Revision: 1.203 $"
18
19maxusers  32                  # estimated number of users
20
21# delay between "rebooting ..." message and hardware reset, in milliseconds
22#options  CPURESET_DELAY=2000
23
24# This option allows you to force a serial console at the specified
25# I/O address.   see console(4) for details.
26#options  CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
27#         you don't want the option below ON iff you are using the
28#         serial console option of the new boot strap code.
29#options  CONS_OVERRIDE       # Always use above! independent of boot info
30
31# The following options override the memory sizes passed in from the boot
32# block.  Use them *only* if the boot block is unable to determine the correct
33# values.  Note that the BIOS may *correctly* report less than 640k of base
34# memory if the extended BIOS data area is located at the top of base memory
35# (as is the case on most recent systems).
36#options  REALBASEMEM=639               # size of base memory (in KB)
37#options  REALEXTMEM=15360    # size of extended memory (in KB)
38
39# The following options limit the overall size of physical memory
40# and/or the maximum address used by the system.
41# Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory map
42# and can deal with holes in the memory layout.
43#options  PHYSMEM_MAX_SIZE=64 # max size of physical memory (in MB)
44#options  PHYSMEM_MAX_ADDR=2048         # don't use memory above this (in MB)
45
46## Replace std.amd64 content
47
48mainbus0 at root
49cpu* at mainbus?
50ioapic* at mainbus? apid ?
51
52# Atheros HAL options
53include "external/isc/atheros_hal/conf/std.ath_hal"
54
55## end std.amd64
56
57## Xen-specific options
58
59options   XENPV               # PV dom0 support
60options   DOM0OPS
61options   MULTIPROCESSOR
62#options  NO_PREEMPTION       # needed if MULTIPROCESSOR is disabled
63
64#options  CONSDEVNAME="\"xencons\""
65#options  CONS_OVERRIDE
66
67## end Xen-specific options
68
69# boot messages with MPBIOS, acpi and ioapic can be quite large
70options   MSGBUFSIZE=24576
71
72# Standard system options
73
74options   INSECURE  # disable kernel security levels - X needs this
75
76options   RTC_OFFSET=0        # hardware clock is this many mins. west of GMT
77options   NTP                 # NTP phase/frequency locked loop
78
79options   KTRACE              # system call tracing via ktrace(1)
80
81options   CPU_UCODE # cpu ucode loading support
82
83# Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
84options   SYSVMSG             # System V-like message queues
85options   SYSVSEM             # System V-like semaphores
86options   SYSVSHM             # System V-like memory sharing
87
88options   MODULAR             # new style module(7) framework
89options   MODULAR_DEFAULT_AUTOLOAD
90options   USERCONF  # userconf(4) support
91#options  PIPE_SOCKETPAIR     # smaller, but slower pipe(2)
92options   SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
93
94# CPU features
95#acpicpu* at cpu?             # ACPI CPU (including frequency scaling)
96                                        # needs x86_cpu_idle_halt in cpu.c (!xenpv)
97coretemp* at cpu?             # Intel on-die thermal sensor
98est0                at cpu0             # Intel Enhanced SpeedStep (non-ACPI)
99#hyperv0  at cpu0             # Microsoft Hyper-V
100#odcm0              at cpu0             # On-demand clock modulation
101powernow0 at cpu0             # AMD PowerNow! and Cool'n'Quiet (non-ACPI)
102#vmt0               at cpu0             # VMware Tools
103
104# Alternate buffer queue strategies for better responsiveness under high
105# disk I/O load.
106#options  BUFQ_READPRIO
107options   BUFQ_PRIOCSCAN
108
109# Diagnostic/debugging support options
110options   DIAGNOSTIC          # inexpensive kernel consistency checks
111                                        # XXX to be commented out on release branch
112#options  DEBUG               # expensive debugging checks/support
113#options  LOCKDEBUG # expensive locking checks/support
114
115#
116# Because gcc omits the frame pointer for any -O level, the line below
117# is needed to make backtraces in DDB work.
118#
119makeoptions         COPTS="-O2 -fno-omit-frame-pointer"
120options   DDB                 # in-kernel debugger
121#options  DDB_COMMANDONENTER="bt"       # execute command when ddb is entered
122#options  DDB_ONPANIC=1       # see also sysctl(7): `ddb.onpanic'
123options   DDB_HISTORY_SIZE=512          # enable history editing in DDB
124#options  KGDB                # remote debugger
125#options  KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600
126makeoptions         DEBUG="-g"          # compile full symbol table for CTF
127options DDB_COMMANDONENTER="trace;show registers"
128#options  SYSCALL_STATS       # per syscall counts
129#options  SYSCALL_TIMES       # per syscall times
130#options  SYSCALL_TIMES_HASCOUNTER      # use 'broken' rdtsc (soekris)
131options   KDTRACE_HOOKS       # kernel DTrace hooks
132
133# Kernel Undefined Behavior Sanitizer (kUBSan).
134#options  KUBSAN                        # mandatory
135#options  UBSAN_ALWAYS_FATAL  # optional: panic on all kUBSan reports
136
137# Kernel Address Sanitizer (kASan). You need to disable SVS to use it.
138# The quarantine is optional and can help KASAN find more use-after-frees.
139# Use KASAN_PANIC if you want panics instead of warnings.
140#makeoptions        KASAN=1             # mandatory
141#options  KASAN               # mandatory
142#no options         SVS                 # mandatory
143#options  POOL_QUARANTINE     # optional
144#options  KASAN_PANIC         # optional
145
146# Kernel Concurrency Sanitizer (kCSan).
147#makeoptions        KCSAN=1             # mandatory
148#options  KCSAN               # mandatory
149#options  KCSAN_PANIC         # optional
150
151# Kernel Memory Sanitizer (kMSan). You need to disable SVS and kernel modules
152# to use it. POOL_NOCACHE is optional and can help KMSAN find uninitialized
153# memory in pool caches. Note that KMSAN requires at least 4GB of RAM.
154#makeoptions        KMSAN=1             # mandatory
155#options  KMSAN               # mandatory
156#no options         SVS                 # mandatory
157#no options         MODULAR             # mandatory
158#no options         MODULAR_DEFAULT_AUTOLOAD      # mandatory
159#options  POOL_NOCACHE        # optional
160#options  KMSAN_PANIC         # optional
161
162# Kernel Code Coverage Driver.
163#makeoptions        KCOV=1
164#options  KCOV
165
166# Fault Injection Driver.
167#options  FAULT
168
169# Heartbeat checks
170options   HEARTBEAT
171options   HEARTBEAT_MAX_PERIOD_DEFAULT=15
172
173# Compatibility options
174# x86_64 never shipped with a.out binaries; the two options below are
175# only relevant to 32-bit i386 binaries
176#options  EXEC_AOUT # required by binaries from before 1.5
177#options  COMPAT_NOMID        # NetBSD 0.8, 386BSD, and BSDI
178
179# NetBSD backward compatibility. Support goes from COMPAT_15 up until
180# the latest release. Note that really old compat (< COMPAT_16) is only
181# useful for 32-bit i386 binaries.
182include   "conf/compat_netbsd15.config"
183
184#options  COMPAT_386BSD_MBRPART # recognize old partition ID
185
186options   COMPAT_NETBSD32
187options   EXEC_ELF32
188
189# Wedge support
190options   DKWEDGE_AUTODISCOVER          # Automatically add dk(4) instances
191options   DKWEDGE_METHOD_GPT  # Supports GPT partitions as wedges
192#options  DKWEDGE_METHOD_BSDLABEL       # Support disklabel entries as wedges
193#options  DKWEDGE_METHOD_MBR  # Support MBR partitions as wedges
194options   DKWEDGE_METHOD_APPLE          # Support Apple partitions as wedges
195#options  DKWEDGE_METHOD_RDB  # Support RDB partitions as wedges
196#options  DKWEDGE_METHOD_TOS  # Support Atari "TOS" partitions as wedges
197
198# File systems
199include "conf/filesystems.config"
200
201# File system options
202# ffs
203options   FFS_EI              # FFS Endian Independent support
204#options  FFS_NO_SNAPSHOT     # No FFS snapshot support
205options   QUOTA               # legacy UFS quotas
206options   QUOTA2              # new, in-filesystem UFS quotas
207options             UFS_ACL             # UFS Access Control Lists
208options   UFS_DIRHASH         # UFS Large Directory Hashing
209options   UFS_EXTATTR         # Extended attribute support for UFS1
210options   WAPBL               # File system journaling support
211# lfs
212options   LFS_DIRHASH         # LFS version of UFS_DIRHASH
213# ext2fs
214# other
215options   DISKLABEL_EI        # disklabel Endian Independent support
216options   NFSSERVER # Network File System server
217
218# Networking options
219#options  GATEWAY             # packet forwarding
220options   INET                # IP + ICMP + TCP + UDP
221options   INET6               # IPV6
222options   IPSEC               # IP security
223#options  IPSEC_DEBUG         # debug for IP security
224#options  MPLS                # MultiProtocol Label Switching (needs mpls)
225#options  MROUTING  # IP multicast routing
226#options  PIM                 # Protocol Independent Multicast
227options   NETATALK  # AppleTalk networking protocols
228#options  CAN                 # Controller Area Network protocol
229options   PPP_BSDCOMP         # BSD-Compress compression support for PPP
230options   PPP_DEFLATE         # Deflate compression support for PPP
231options   PPP_FILTER          # Active filter support for PPP (requires bpf)
232#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
233#options  TCP_SIGNATURE       # Enable RFC-2385 TCP md5 signatures
234
235#options  ALTQ                # Manipulate network interfaces' output queues
236#options  ALTQ_BLUE # Stochastic Fair Blue
237#options  ALTQ_CBQ  # Class-Based Queueing
238#options  ALTQ_CDNR # Diffserv Traffic Conditioner
239#options  ALTQ_FIFOQ          # First-In First-Out Queue
240#options  ALTQ_FLOWVALVE      # RED/flow-valve (red-penalty-box)
241#options  ALTQ_HFSC # Hierarchical Fair Service Curve
242#options  ALTQ_LOCALQ         # Local queueing discipline
243#options  ALTQ_PRIQ # Priority Queueing
244#options  ALTQ_RED  # Random Early Detection
245#options  ALTQ_RIO  # RED with IN/OUT
246#options  ALTQ_WFQ  # Weighted Fair Queueing
247
248# These options enable verbose messages for several subsystems.
249# Warning, these may compile large string tables into the kernel!
250#options  ACPIVERBOSE         # verbose ACPI configuration messages
251#options  MIIVERBOSE          # verbose PHY autoconfig messages
252options   PCIVERBOSE          # verbose PCI device autoconfig messages
253#options  PCI_CONFIG_DUMP     # verbosely dump PCI config space
254#options  PCMCIAVERBOSE       # verbose PCMCIA configuration messages
255options   SCSIVERBOSE         # human readable SCSI error messages
256#options  USBVERBOSE          # verbose USB device autoconfig messages
257#options  HDAUDIOVERBOSE      # verbose HDAUDIO driver messages
258
259options   NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
260
261#
262# wscons options
263#
264# builtin terminal emulations
265options   WSEMUL_VT100                  # VT100 / VT220 emulation
266#options  WSEMUL_SUN                    # sun terminal emulation
267#options  WSEMUL_DEFAULT="\"vt100\""  # NB: default is "sun" if enabled
268# different kernel output - see dev/wscons/wsdisplayvar.h
269options   WS_KERNEL_FG=WSCOL_GREEN
270#options  WS_KERNEL_BG=WSCOL_BLACK
271# compatibility to other console drivers
272options   WSDISPLAY_COMPAT_PCVT                   # emulate some ioctls
273options   WSDISPLAY_COMPAT_SYSCONS      # emulate some ioctls
274options   WSDISPLAY_COMPAT_USL                    # wsconscfg VT handling
275options   WSDISPLAY_COMPAT_RAWKBD                 # can get raw scancodes
276# don't attach pckbd as the console if no PS/2 keyboard is found
277options   PCKBD_CNATTACH_MAY_FAIL
278# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
279#options  PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
280# allocate a number of virtual screens at autoconfiguration time
281#options  WSDISPLAY_DEFAULTSCREENS=4
282# use a large software cursor that doesn't blink
283options   PCDISPLAY_SOFTCURSOR
284# modify the screen type of the console; defaults to "80x25"
285#options  VGA_CONSOLE_SCREENTYPE="\"80x24\""
286# work around a hardware bug that loaded fonts don't work; found on ATI cards
287#options  VGA_CONSOLE_ATI_BROKEN_FONTSEL
288# console scrolling support.
289options   WSDISPLAY_SCROLLSUPPORT
290# enable VGA raster mode capable of displaying multilingual text on console
291#options  VGA_RASTERCONSOLE
292# enable splash screen support; requires genfb or radeonfb
293#options  SPLASHSCREEN
294
295# Kernel root file system and dump configuration.
296config              netbsd    root on ? type ?
297#config             netbsd    root on wd0a type ffs
298#config             netbsd    root on xennet0 type nfs
299
300#
301# Device configuration
302#
303
304## Xen-specific options
305hypervisor*         at mainbus?                   # Xen hypervisor
306
307vcpu*               at hypervisor?                # Xen virtual CPUs
308
309xenbus*   at hypervisor?                # Xen virtual bus
310
311xencons*  at hypervisor?                # Xen virtual console
312balloon*  at xenbus?                    # Xen balloon device
313## end Xen-specific options
314
315# IPMI support
316ipmi0               at mainbus?
317ipmi_acpi*          at acpi?
318ipmi0               at ipmi_acpi?
319
320# ACPI will be used if present. If not it will fall back to MPBIOS
321acpi0               at mainbus?                   # ACPI access in PVH(VM) mode
322acpi0               at hypervisor?                # ACPI access in PV mode
323
324options   ACPI_SCANPCI                  # find PCI roots using ACPI
325options   MPBIOS                        # configure CPUs and APICs using MPBIOS
326options   MPBIOS_SCANPCI                # MPBIOS configures PCI roots
327#options  PCI_INTR_FIXUP                # fixup PCI interrupt routing via ACPI
328#options  PCI_BUS_FIXUP                 # fixup PCI bus numbering
329#options  PCI_ADDR_FIXUP                # fixup PCI I/O addresses
330#options  ACPI_ACTIVATE_DEV   # If set, activate inactive devices
331options   VGA_POST            # in-kernel support for VGA POST
332
333# ACPI devices
334acpiacad* at acpi?            # ACPI AC Adapter
335acpibat*  at acpi?            # ACPI Battery
336acpibut*  at acpi?            # ACPI Button
337acpidalb* at acpi?            # ACPI Direct Application Launch Button
338acpiec*   at acpi?            # ACPI Embedded Controller (late)
339acpiecdt* at acpi?            # ACPI Embedded Controller (early)
340acpifan*  at acpi?            # ACPI Fan
341acpilid*  at acpi?            # ACPI Lid Switch
342#acpipmtr*          at acpi?            # ACPI Power Meter (experimental)
343#acpismbus*         at acpi?            # ACPI SMBus CMI (experimental)
344acpitz*   at acpi?            # ACPI Thermal Zone
345acpivga*  at acpi?            # ACPI Display Adapter
346acpiout*  at acpivga?                   # ACPI Display Output Device
347acpiwdrt* at acpi?            # ACPI Watchdog Resource Table
348acpiwmi*  at acpi?            # ACPI WMI Mapper
349
350# Mainboard devices
351aibs*               at acpi?            # ASUSTeK AI Booster hardware monitor
352asus*               at acpi?            # ASUS hotkeys
353attimer*  at acpi?            # AT Timer
354#com*               at acpi?            # Serial communications interface
355#fdc*               at acpi?            # Floppy disk controller
356fujbp*              at acpi?            # Fujitsu Brightness & Pointer
357fujhk*              at acpi?            # Fujitsu Hotkeys
358#hpacel*  at acpi?            # HP 3D DriveGuard accelerometer
359#hpqlb*             at acpi?            # HP Quick Launch Buttons
360hpet*               at acpihpetbus?               # High Precision Event Timer (table)
361hpet*               at acpinodebus?               # High Precision Event Timer (device)
362joy*                at acpi?            # Joystick/Game port
363#lpt*               at acpi?            # Parallel port
364mpu*                at acpi?            # Roland MPU-401 MIDI UART
365pckbc*              at acpi?            # PC keyboard controller
366pcppi*              at acpi?            # AT-style speaker sound
367qemufwcfg*          at acpi?            # QEMU Firmware Configuration device
368sdhc*               at acpi?            # SD Host Controller
369sony*               at acpi?            # Sony Notebook Controller
370spic*               at acpi?            # Sony Programmable I/O Controller
371wsmouse*  at spic?            # mouse
372thinkpad* at acpi?            # IBM/Lenovo Thinkpad hotkeys
373tpm*                at acpi?            # ACPI TPM (Experimental)
374ug*                 at acpi?            # Abit uGuru Hardware monitor
375valz*               at acpi?            # Toshiba Dynabook hotkeys
376wb*                 at acpi?            # Winbond W83L518D SD/MMC reader
377sdmmc*              at wb?                        # SD/MMC bus
378wmidell*  at acpiwmibus?                # Dell WMI mappings
379wmieeepc* at acpiwmibus?                # Asus Eee PC WMI mappings
380wmihp*              at acpiwmibus?                # HP WMI mappings
381wmimsi*   at acpiwmibus?                # MSI WMI mappings
382
383# Basic Bus Support
384
385# PCI bus support
386pci*      at hypervisor? bus ?
387pci*      at pchb? bus ?
388pci*      at ppb? bus ?
389
390# PCI bridges
391pchb*     at pci? dev ? function ?      # PCI-Host bridges
392#options  AGP_X86                       # INTENTIONAL OMISSION - crashes reported with agp
393pcib*     at pci? dev ? function ?      # PCI-ISA bridges
394ppb*      at pci? dev ? function ?      # PCI-PCI bridges
395# XXX 'puc's aren't really bridges, but there's no better place for them here
396puc*      at pci? dev ? function ?      # PCI "universal" comm. cards
397
398amdpcib* at pci? dev ? function ?       # AMD 8111 PCI-ISA w/ HPET
399hpet*     at amdpcib?
400
401pwdog*    at pci? dev ? function ?      # QUANCOM PWDOG1
402
403ichlpcib* at pci? dev ? function ?      # Intel ICH PCI-LPC w/ timecounter,
404                                                  # watchdog, gpio, Speedstep and HPET
405fwhrng* at ichlpcib?                    # Intel 82802 FWH Random Number Generator
406#hpet*    at ichlpcib?
407tco*      at ichlpcib?                  # TCO watch dog timer
408
409#agp*     at pchb?                      # INTENTIONAL OMISSION - crashes reported with agp
410aapic*    at pci? dev ? function ?      # AMD 8131 IO apic
411
412# pci backend devices, used for PCI pass-through. To export a PCI device
413# to a domU, the device has to be attached to the pciback driver in the dom0.
414# you can force a device to attach to the pciback driver in dom0 passing
415# pciback.hide=(bus:dev.fun)(bus:dev.func) to the dom0 kernel boot parameters.
416# bus and dev are 2-digits hex number, func is a single-digit number:
417# pciback.hide=(00:1a.0)(00:1a.1)(00:1a.7)
418pciback* at pci?                        # pci backend device
419
420# ISA bus support
421isa0      at hypervisor?
422isa0      at pcib?
423#isa0     at amdpcib?
424isa0      at ichlpcib?
425
426# CardBus bridge support
427cbb*                at pci? dev ? function ?
428cardslot* at cbb?
429
430# CardBus bus support
431cardbus*  at cardslot?
432pcmcia*   at cardslot?
433
434# Console Devices
435
436# wscons
437pckbc0              at isa?                       # pc keyboard controller
438pckbd*              at pckbc?           # PC keyboard
439pms*                at pckbc?           # PS/2 mouse for wsmouse
440#options  PMS_DISABLE_POWERHOOK         # Disable PS/2 reset on resume
441options   PMS_SYNAPTICS_TOUCHPAD        # Enable support for Synaptics Touchpads
442options   PMS_ELANTECH_TOUCHPAD         # Enable support for Elantech Touchpads
443options   PMS_ALPS_TOUCHPAD   # Enable support for Alps Touchpads
444vga*                at pci? dev ? function ?
445genfb*              at pci? dev ? function ?
446
447#options  VCONS_DRAW_INTR
448#wsdisplay*         at vga? console ?
449wsdisplay*          at wsemuldisplaydev?
450wskbd*              at pckbd? console ?
451wsmouse*  at pms? mux 0
452wsmouse*  at wsmousedev?
453
454attimer0  at isa?
455pcppi0              at isa?
456#sysbeep0 at pcppi? # Needs sysbeep_ca (from where?)
457
458# DRI legacy drivers
459#i915drm* at drm?             # Intel i915, i945 DRM driver
460#mach64drm*         at drm?             # mach64 (3D Rage Pro, Rage) DRM driver
461#mgadrm*  at drm?             # Matrox G[24]00, G[45]50 DRM driver
462#r128drm* at drm?             # ATI Rage 128 DRM driver
463#radeondrm*         at drm?             # ATI Radeon DRM driver
464#savagedrm*         at drm?             # S3 Savage DRM driver
465#sisdrm*  at drm?             # SiS DRM driver
466#tdfxdrm* at drm?             # 3dfx (voodoo) DRM driver
467
468# DRMKMS drivers
469# all disabled: drm uses acpi_md_vesa_modenum in acpi_wakeup.c (!xenpv)
470#i915drmkms*        at pci? dev ? function ?      # also require disabled agp
471#intelfb* at intelfbbus?
472
473#radeon*  at pci? dev ? function ?
474#radeondrmkmsfb* at radeonfbbus?
475
476#amdgpu*  at pci? dev ? function ?
477#amdgpufb*          at amdgpufbbus?
478
479#nouveau* at pci? dev ? function ?
480#nouveaufb*         at nouveaufbbus?
481
482# DRMUMS drivers
483#viadrmums*         at drm?
484
485#options  DRM_MAX_RESOLUTION_HORIZONTAL=1920      # Limit DRM size in horizontal dimension
486#options  DRM_MAX_RESOLUTION_VERTICAL=1080        # Limit DRM size in vertical dimension
487
488# Cryptographic Devices
489
490# PCI cryptographic devices
491amdccp*   at pci? dev ? function ?      # AMD Cryptographic Coprocessor
492hifn*     at pci? dev ? function ?      # Hifn 7755/7811/795x
493#qat*     at pci? dev ? function ?      # Intel QuickAssist
494ubsec*    at pci? dev ? function ?      # Broadcom 5501/5601/580x/582x
495
496# Trusted Platform Module
497tpm*      at isa? iomem 0xfed40000 irq 7
498
499# Serial Devices
500
501# PCI serial interfaces
502com*      at puc? port ?                          # 16x50s on "universal" comm boards
503cy*       at pci? dev ? function ?      # Cyclades Cyclom-Y serial boards
504cz*       at pci? dev ? function ?      # Cyclades-Z multi-port serial boards
505
506# PCMCIA serial interfaces
507com*      at pcmcia? function ?                   # Modems and serial cards
508
509pcmcom* at pcmcia? function ?           # PCMCIA multi-port serial cards
510com*      at pcmcom? slave ?            # ...and the slave devices
511
512# CardBus serial interfaces
513com*      at cardbus? function ?        # Modems and serial cards
514
515# ISA serial interfaces
516#options  COM_HAYESP                    # adds Hayes ESP serial board support
517# If a com port is used as Xen console it can't be used by the domain0 kernel
518# and there's no easy way to detect this yet. Leave com0 out as it's the
519# port usually used for serial console
520#com0     at isa? port 0x3f8 irq 4      # Standard PC serial ports
521com1      at isa? port 0x2f8 irq 3
522
523# Parallel Printer Interfaces
524
525# PCI parallel printer interfaces
526lpt*      at puc? port ?                          # || ports on "universal" comm boards
527
528# ISA parallel printer interfaces
529lpt0      at isa? port 0x378 irq 7      # standard PC parallel ports
530lpt1      at isa? port 0x278
531
532# Hardware monitors
533
534amdnb_misc* at pci?                     # AMD NB Misc Configuration
535amdtemp* at amdnb_misc?                 # AMD CPU Temperature sensors
536
537amdsmn* at pci?                                   # AMD SMN Configuration
538amdzentemp* at amdsmnbus?               # AMD Ryzen Family 17h CPU temp sensors
539
540# Winbond LPC Super I/O
541#wbsio*   at isa? port 0x2e
542#wbsio*   at isa? port 0x4e
543
544# IBM Hawk Integrated Systems Management Processor
545#ibmhawk0 at iic? addr 0x37
546
547# LM7[89] and compatible hardware monitors
548# Use flags to select temp sensor type (see lm(4) man page for details)
549#lm0      at isa?   port 0x290 flags 0x0          # other common ports: 0x280, 0x310
550#lm*      at wbsio?
551
552# SMSC LPC47B397 hardware monitor functions
553#smsc0    at isa? port 0x02e
554
555# SMSC LPC47M192 hardware monitor
556#smscmon* at iic? addr 0x2c
557#smscmon* at iic? addr 0x2d   # (alternate address)
558
559# AMD 768 and 8111 power/ACPI controllers
560amdpm*    at pci? dev ? function ?      # RNG and SMBus 1.0 interface
561#iic*     at amdpm?                     # sensors below are on this bus
562
563# NVIDIA nForce2/3/4 SMBus controller
564nfsmbc* at pci? dev ? function ?
565nfsmb*    at nfsmbc?
566iic*      at nfsmb?
567
568# Intel PIIX4 power management controllers
569piixpm* at pci? dev ? function ?        # PIIX4 compatible PM controller
570iic*      at piixpm?                              # SMBus on PIIX4
571
572# Intel ICH SMBus controller
573ichsmb* at pci? dev ? function ?
574iic*      at ichsmb?
575
576# Intel S1200,C2000 (non-pch) SMBus controller
577ismt* at pci? dev ? function ?
578iic*      at ismt?
579
580# DesignWare I2C controller as found in some Intel PCH and AMD FCH devices.
581dwiic*              at acpi?            # DesignWare I2C controller
582dwiic*              at pci?                       # DesignWare I2C controller
583iic*                at dwiic?
584
585# Thermal monitor and fan controller
586#dbcool* at iic? addr 0x2C              # Unknown other motherboard(s)
587#dbcool* at iic? addr 0x2D              # Tyan S2881
588#dbcool* at iic? addr 0x2E              # Tyan S2882-D
589
590# IBM Thinkpad Active Protection System
591#aps0     at isa? port 0x1600
592
593# Fintek Super I/O with hardware monitor
594#finsio0  at isa? port 0x4e
595
596# iTE IT87xxF Super I/O with watchdog and sensors support
597#itesio0  at isa? port 0x2e
598
599# Abit uGuru Hardware system monitor
600#ug0      at isa? port 0xe0
601
602# Serial Presence Detect capable memory modules
603#spdmem* at iic? addr 0x50
604#spdmem* at iic? addr 0x51
605#spdmem* at iic? addr 0x52
606#spdmem* at iic? addr 0x53
607#spdmem* at iic? addr 0x54
608#spdmem* at iic? addr 0x55
609#spdmem* at iic? addr 0x56
610#spdmem* at iic? addr 0x57
611#sdtemp* at iic? addr 0x18
612#sdtemp* at iic? addr 0x19
613#sdtemp* at iic? addr 0x1a
614#sdtemp* at iic? addr 0x1b
615#sdtemp* at iic? addr 0x1c
616#sdtemp* at iic? addr 0x1d
617#sdtemp* at iic? addr 0x1e
618#sdtemp* at iic? addr 0x1f
619
620# I2C HID devices
621ihidev* at iic?
622
623# I2C Mice
624ims*      at ihidev? reportid ?
625wsmouse* at ims? mux 0
626
627# I2O devices
628iop*      at pci? dev ? function ?      # I/O processor
629iopsp*    at iop? tid ?                           # SCSI/FC-AL ports
630ld*       at iop? tid ?                           # block devices
631# XXX dpti.c wants a processor type that is not assigned for x86-64
632#dpti*    at iop? tid 0                           # DPT/Adaptec control interface
633
634# GPIO devices
635gpio*               at gpiobus?
636
637# 1- Wire support
638#gpioow*  at gpio? offset ? mask ?      # 1-wire bitbanging via gpio
639gpioow*   at gpio?
640onewire*  at gpioow?
641
642# 1-Wire devices
643owtemp*   at onewire?                             # Temperature sensors
644
645# I2C support
646#gpioiic* at gpio?
647#iic*               at gpioiic?
648
649# Keylock support
650#gpiolock*          at gpio?
651
652# Pulsing GPIO pins in software
653#gpiopwm* at gpio?
654
655# Soekris 6501 GPIO/LED driver (provides gpiobus, needs gpio)
656#soekrisgpio0       at isa? port 0x680
657
658# Nuvoton NCT5104D SuperIO providing GPIO
659nct0                at isa? port ?
660
661# SCSI Controllers and Devices
662
663# PCI SCSI controllers
664adv*      at pci? dev ? function ?      # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
665adw*      at pci? dev ? function ?      # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
666ahc*      at pci? dev ? function ?      # Adaptec [23]94x, aic78x0 SCSI
667ahd*      at pci? dev ? function ?      # Adaptec aic790x SCSI
668bha*      at pci? dev ? function ?      # BusLogic 9xx SCSI
669dpt*      at pci? dev ? function ?      # DPT SmartCache/SmartRAID
670iha*      at pci? dev ? function ?      # Initio INIC-940/950 SCSI
671isp*      at pci? dev ? function ?      # Qlogic ISP [12]0x0 SCSI/FibreChannel
672mfi*      at pci? dev ? function ?      # LSI MegaRAID SAS
673mfii*     at pci? dev ? function ?      # LSI MegaRAID SAS (Fusion and newer)
674mly*      at pci? dev ? function ?      # Mylex AcceleRAID and eXtremeRAID
675mpt*      at pci? dev ? function ?      # LSILogic 9x9 and 53c1030 (Fusion-MPT)
676mpii*     at pci? dev ? function ?      # LSI Logic Fusion-MPT II
677njs*      at pci? dev ? function ?      # Workbit NinjaSCSI-32
678pcscp*    at pci? dev ? function ?      # AMD 53c974 PCscsi-PCI SCSI
679siop*     at pci? dev ? function ?      # Symbios 53c8xx SCSI
680esiop*    at pci? dev ? function ?      # Symbios 53c875 and newer SCSI
681#options  SIOP_SYMLED                   # drive the act. LED in software
682trm*      at pci? dev ? function ?      # Tekram DC-395U/UW/F, DC-315/U SCSI
683
684# PCMCIA SCSI controllers
685aic*      at pcmcia? function ?                   # Adaptec APA-1460 SCSI
686esp*      at pcmcia? function ?                   # Qlogic ESP406/FAS408 SCSI
687spc*      at pcmcia? function ?                   # Fujitsu MB87030/MB89352 SCSI
688
689# CardBus SCSI cards
690adv*      at cardbus? function ?        # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
691ahc*      at cardbus? function ?        # Adaptec ADP-1480
692njs*      at cardbus? function ?        # Workbit NinjaSCSI-32
693
694# SCSI bus support
695scsibus* at scsi?
696
697# SCSI devices
698sd*       at scsibus? target ? lun ?    # SCSI disk drives
699st*       at scsibus? target ? lun ?    # SCSI tape drives
700cd*       at scsibus? target ? lun ?    # SCSI CD-ROM drives
701ch*       at scsibus? target ? lun ?    # SCSI autochangers
702ses*      at scsibus? target ? lun ?    # SCSI Enclosure Services devices
703ss*       at scsibus? target ? lun ?    # SCSI scanners
704uk*       at scsibus? target ? lun ?    # SCSI unknown
705
706
707# RAID controllers and devices
708aac*      at pci? dev ? function ?      # Adaptec AAC family
709amr*      at pci? dev ? function ?      # AMI/LSI Logic MegaRAID
710arcmsr* at pci? dev ? function ?        # Areca SATA RAID controllers
711cac*      at pci? dev ? function ?      # Compaq PCI array controllers
712ciss*     at pci? dev ? function ?      # HP Smart Array controllers
713icp*      at pci? dev ? function ?      # ICP-Vortex GDT & Intel RAID
714mlx*      at pci? dev ? function ?      # Mylex DAC960 & DEC SWXCR family
715twe*      at pci? dev ? function ?      # 3ware Escalade RAID controllers
716twa*      at pci? dev ? function ?      # 3ware Escalade 9xxx RAID controllers
717
718ld*       at aac? unit ?
719ld*       at amr? unit ?
720ld*       at cac? unit ?
721ld*       at icp? unit ?
722ld*       at twe? unit ?
723ld*       at twa? unit ?
724ld*       at mlx? unit ?
725
726icpsp*    at icp? unit ?                          # SCSI pass-through
727
728# IDE and related devices
729# PCI IDE controllers - see pciide(4) for supported hardware.
730# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
731# how to set up DMA modes for this chip. This may work, or may cause
732# a machine hang with some controllers.
733pciide* at pci? dev ? function ? flags 0x0000     # GENERIC pciide driver
734acardide* at pci? dev ? function ?      # Acard IDE controllers
735aceride* at pci? dev ? function ?       # Acer Lab IDE controllers
736ahcisata* at pci? dev ? function ?      # AHCI SATA controllers
737artsata* at pci? dev ? function ?       # Intel i31244 SATA controller
738cmdide* at pci? dev ? function ?        # CMD tech IDE controllers
739cypide* at pci? dev ? function ?        # Cypress IDE controllers
740hptide* at pci? dev ? function ?        # Triones/HighPoint IDE controllers
741iteide* at pci? dev ? function ?        # IT Express IDE controllers
742ixpide* at pci? dev ? function ?        # ATI IXP IDE controllers
743jmide*    at pci? dev ? function ?      # JMicron PCI-e PATA/SATA controllers
744ahcisata* at jmide?
745mvsata* at pci? dev ? function ?        # Marvell Hercules-I/II
746optiide* at pci? dev ? function ?       # Opti IDE controllers
747piixide* at pci? dev ? function ?       # Intel IDE controllers
748pdcide* at pci? dev ? function ?        # Promise IDE controllers
749pdcsata* at pci? dev ? function ?       # Promise SATA150 controllers
750satalink* at pci? dev ? function ?      # SiI SATALink controllers
751siisata* at pci? dev ? function ?       # SiI SteelVine controllers
752siside* at pci? dev ? function ?        # SiS IDE controllers
753slide*    at pci? dev ? function ?      # Symphony Labs IDE controllers
754svwsata* at pci? dev ? function ?       # ServerWorks SATA controllers
755toshide* at pci? dev ? function ?       # TOSHIBA PICCOLO controllers
756viaide* at pci? dev ? function ?        # VIA/AMD/Nvidia IDE controllers
757
758# PCMCIA IDE controllers
759wdc*      at pcmcia? function ?
760
761# CardBus IDE controllers
762njata*    at cardbus? function ? flags 0x01       # Workbit NinjaATA-32
763siisata* at cardbus? function ?         # SiI SteelVine controllers
764
765# ISA ST506, ESDI, and IDE controllers
766# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
767# fall back to 16bits I/O if 32bits I/O are not functional).
768# Some controllers pass the initial 32bit test, but will fail later.
769wdc0      at isa? port 0x1f0 irq 14 flags 0x00
770wdc1      at isa? port 0x170 irq 15 flags 0x00
771
772# ATA (IDE) bus support
773atabus* at ata?
774options   ATADEBUG
775
776# IDE drives
777# Flags are used only with controllers that support DMA operations
778# and mode settings (e.g. some pciide controllers)
779# The lowest order four bits (rightmost digit) of the flags define the PIO
780# mode to use, the next set of four bits the DMA mode and the third set the
781# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
782# to use, and the last bit must be 1 for this setting to be used.
783# For DMA and UDMA, 0xf (1111) means 'disable'.
784# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
785# (0xc=1100, 0xa=1010, 0xf=1111)
786# 0x0000 means "use whatever the drive claims to support".
787wd*       at atabus? drive ? flags 0x0000
788
789# ATAPI bus support
790atapibus* at atapi?
791
792
793# ATA RAID configuration support, as found on some Promise controllers.
794pseudo-device ataraid
795ld*       at ataraid? vendtype ? unit ?
796
797# ATAPI devices
798# flags have the same meaning as for IDE drives.
799cd*       at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
800sd*       at atapibus? drive ? flags 0x0000       # ATAPI disk drives
801st*       at atapibus? drive ? flags 0x0000       # ATAPI tape drives
802uk*       at atapibus? drive ? flags 0x0000       # ATAPI unknown
803
804
805# NVM Express controllers and devices
806nvme*     at pci? dev ? function ?
807ld*       at nvme? nsid ?
808
809
810# Miscellaneous mass storage devices
811
812# ISA floppy
813fdc0      at isa? port 0x3f0 irq 6 drq 2          # standard PC floppy controllers
814#fdc1     at isa? port 0x370 irq ? drq ?
815fd*       at fdc? drive ?                         # the drives themselves
816# some machines need you to do this instead of fd*
817#fd0      at fdc0 drive 0
818
819# Network Interfaces
820
821# PCI network interfaces
822age*      at pci? dev ? function ?      # Attansic/Atheros L1 Gigabit Ethernet
823alc*      at pci? dev ? function ?      # Attansic/Atheros L1C/L2C Ethernet
824ale*      at pci? dev ? function ?      # Attansic/Atheros L1E Ethernet
825an*       at pci? dev ? function ?      # Aironet PC4500/PC4800 (802.11)
826aq*       at pci? dev ? function ?      # Aquantia AQC 10 gigabit
827ath*      at pci? dev ? function ?      # Atheros 5210/5211/5212 802.11
828athn*     at pci? dev ? function ?      # Atheros AR9k (802.11a/g/n)
829atw*      at pci? dev ? function ?      # ADMtek ADM8211 (802.11)
830bce*      at pci? dev ? function ?      # Broadcom 440x 10/100 Ethernet
831bge*      at pci? dev ? function ?      # Broadcom 570x gigabit Ethernet
832bnx*      at pci? dev ? function ?      # Broadcom NetXtremeII gigabit Ethernet
833bwi*      at pci? dev ? function ?      # Broadcom BCM43xx wireless
834bwfm*     at pci? dev ? function ?      # Broadcom FullMAC
835cas*      at pci? dev ? function ?      # Sun Cassini/Cassini+ Ethernet
836dge*      at pci? dev ? function ?      # Intel 82597 10GbE LR
837ena*      at pci? dev ? function ?      # Amazon.com Elastic Network Adapter
838ep*       at pci? dev ? function ?      # 3Com 3c59x
839epic*     at pci? dev ? function ?      # SMC EPIC/100 Ethernet
840et*       at pci? dev ? function ?      # Agere/LSI ET1310/ET1301 Gigabit
841ex*       at pci? dev ? function ?      # 3Com 90x[BC]
842fxp*      at pci? dev ? function ?      # Intel EtherExpress PRO 10+/100B
843gem*      at pci? dev ? function ?      # Apple GMAC and Sun ERI gigabit enet
844gsip*     at pci? dev ? function ?      # NS83820 Gigabit Ethernet
845hme*      at pci? dev ? function ?      # Sun Microelectronics STP2002-STQ
846iavf*     at pci? dev ? function ?      # Intel Adaptive Virtual Function
847igc*      at pci? dev ? function ?      # Intel I225 2.5 gigabit
848ipw*      at pci? dev ? function ?      # Intel PRO/Wireless 2100
849iwi*      at pci? dev ? function ?      # Intel PRO/Wireless 2200BG
850iwm*      at pci? dev ? function ?      # Intel Centrino 7260
851iwn*      at pci? dev ? function ?      # Intel PRO/Wireless 4965AGN
852ixg*      at pci? dev ? function ?      # Intel 8259x 10 gigabit
853ixl*      at pci? dev ? function ?      # Intel Ethernet 700 Series
854ixv*      at pci? dev ? function ?      # Intel 8259x 10G virtual function
855jme*      at pci? dev ? function ?      # JMicron JMC2[56]0 ethernet
856kse*      at pci? dev ? function ?      # Micrel KSZ8841/8842 ethernet
857lii*      at pci? dev ? function ?      # Atheros L2 Fast-Ethernet
858malo*     at pci? dev ? function ?      # Marvell Libertas Wireless
859mcx*      at pci? dev ? function ?      # Mellanox 5th generation Ethernet
860mskc*     at pci? dev ? function ?      # Marvell Yukon 2 Gigabit Ethernet
861msk*      at mskc?                      # Marvell Yukon 2 Gigabit Ethernet
862mtd*      at pci? dev ? function ?      # Myson MTD803 3-in-1 Ethernet
863ne*       at pci? dev ? function ?      # NE2000-compatible Ethernet
864nfe*      at pci?   dev ? function ?    # NVIDIA nForce Ethernet
865ntwoc*    at pci? dev ? function ?      # Riscom/N2 PCI Sync Serial
866pcn*      at pci? dev ? function ?      # AMD PCnet-PCI Ethernet
867ral*      at pci? dev ? function ?      # Ralink Technology RT25x0 802.11a/b/g
868re*       at pci? dev ? function ?      # Realtek 8139C+/8169/8169S/8110S
869rge*      at pci? dev ? function ?      # Realtek 8125
870rtk*      at pci? dev ? function ?      # Realtek 8129/8139
871rtw*      at pci? dev ? function ?      # Realtek 8180L (802.11)
872rtwn*     at pci? dev ? function ?      # Realtek 8188CE/8192CE 802.11b/g/n
873sf*       at pci? dev ? function ?      # Adaptec AIC-6915 Ethernet
874sip*      at pci? dev ? function ?      # SiS 900/DP83815 Ethernet
875skc*      at pci? dev ? function ?      # SysKonnect SK9821 Gigabit Ethernet
876sk*       at skc?                                 # SysKonnect SK9821 Gigabit Ethernet
877ste*      at pci? dev ? function ?      # Sundance ST-201 Ethernet
878stge*     at pci? dev ? function ?      # Sundance/Tamarack TC9021 Gigabit
879ti*       at pci? dev ? function ?      # Alteon ACEnic gigabit Ethernet
880tl*       at pci? dev ? function ?      # ThunderLAN-based Ethernet
881tlp*      at pci? dev ? function ?      # DECchip 21x4x and clones
882txp*      at pci? dev ? function ?      # 3com 3cr990
883vge*      at pci? dev ? function ?      # VIATech VT612X Gigabit Ethernet
884vmx*      at pci? dev ? function ?      # VMware VMXNET3
885vr*       at pci? dev ? function ?      # VIA Rhine Fast Ethernet
886wi*       at pci? dev ? function ?      # Intersil Prism Mini-PCI (802.11b)
887wm*       at pci? dev ? function ?      # Intel 82543/82544 gigabit
888wpi*      at pci? dev ? function ?      # Intel PRO/Wireless 3945ABG
889xge*      at pci? dev ? function ?      # Neterion (S2io) Xframe-I 10GbE
890
891# PCMCIA network interfaces
892an*       at pcmcia? function ?                   # Aironet PC4500/PC4800 (802.11)
893awi*      at pcmcia? function ?                   # BayStack 650/660 (802.11FH/DS)
894cnw*      at pcmcia? function ?                   # Xircom/Netwave AirSurfer
895cs*       at pcmcia? function ?                   # CS89xx Ethernet
896ep*       at pcmcia? function ?                   # 3Com 3c589 and 3c562 Ethernet
897malo*     at pcmcia? function ?                   # Marvell Libertas
898mbe*      at pcmcia? function ?                   # MB8696x based Ethernet
899ne*       at pcmcia? function ?                   # NE2000-compatible Ethernet
900ray*      at pcmcia? function ?                   # Raytheon Raylink (802.11)
901sm*       at pcmcia? function ?                   # Megahertz Ethernet
902wi*       at pcmcia? function ?                   # Lucent/Intersil WaveLan IEEE (802.11)
903xirc*     at pcmcia? function ?                   # Xircom CreditCard Ethernet
904com*      at xirc?
905xi*       at xirc?
906
907mhzc*     at pcmcia? function ?                   # Megahertz Ethernet/Modem combo cards
908com*      at mhzc?
909sm*       at mhzc?
910
911# CardBus network cards
912ath*      at cardbus? function ?        # Atheros 5210/5211/5212 802.11
913athn*     at cardbus? function ?        # Atheros AR9k (802.11a/g/n) - UNTESTED
914atw*      at cardbus? function ?        # ADMtek ADM8211 (802.11)
915ex*       at cardbus? function ?        # 3Com 3C575TX
916fxp*      at cardbus? function ?        # Intel i8255x
917malo*     at cardbus? function ?        # Marvell Libertas Wireless
918ral*      at cardbus? function ?        # Ralink Technology RT25x0 802.11a/b/g
919re*       at cardbus? function ?        # Realtek 8139C+/8169/8169S/8110S
920rtk*      at cardbus? function ?        # Realtek 8129/8139
921rtw*      at cardbus? function ?        # Realtek 8180L (802.11)
922tlp*      at cardbus? function ?        # DECchip 21143
923
924# MII/PHY support
925acphy*    at mii? phy ?                           # DAltima AC101 and AMD Am79c874 PHYs
926amhphy* at mii? phy ?                             # AMD 79c901 Ethernet PHYs
927atphy*    at mii?   phy ?                         # Attansic/Atheros PHYs
928bmtphy* at mii? phy ?                             # Broadcom BCM5201 and BCM5202 PHYs
929brgphy* at mii? phy ?                             # Broadcom BCM5400-family PHYs
930ciphy*    at mii? phy ?                           # Cicada CS8201 Gig-E PHYs
931dmphy*    at mii? phy ?                           # Davicom DM9101 PHYs
932etphy*    at mii? phy ?                           # Agere/LSI ET1011 TruePHY Gig-E PHYs
933exphy*    at mii? phy ?                           # 3Com internal PHYs
934gentbi* at mii? phy ?                             # Generic Ten-Bit 1000BASE-[CLS]X PHYs
935glxtphy* at mii? phy ?                            # Level One LXT-1000 PHYs
936gphyter* at mii? phy ?                            # NS83861 Gig-E PHY
937icsphy* at mii? phy ?                             # Integrated Circuit Systems ICS189x
938igphy*    at mii? phy ?                           # Intel IGP01E1000
939ihphy*    at mii? phy ?                           # Intel 82577 PHYs
940ikphy*    at mii? phy ?                           # Intel 82563 PHYs
941inphy*    at mii? phy ?                           # Intel 82555 PHYs
942iophy*    at mii? phy ?                           # Intel 82553 PHYs
943ipgphy* at mii? phy ?                             # IC PLUS IP1000A/IP1001 PHYs
944jmphy*    at mii? phy ?                           # Jmicron JMP202/211 PHYs
945lxtphy* at mii? phy ?                             # Level One LXT-970 PHYs
946makphy* at mii? phy ?                             # Marvell Semiconductor 88E1000 PHYs
947micphy* at mii? phy ?                             # Micrel KSZ[89]xxx PHYs
948nsphy*    at mii? phy ?                           # NS83840 PHYs
949nsphyter* at mii? phy ?                 # NS83843 PHYs
950pnaphy* at mii? phy ?                             # generic HomePNA PHYs
951qsphy*    at mii? phy ?                           # Quality Semiconductor QS6612 PHYs
952rgephy* at mii? phy ?                             # Realtek 8169S/8110 internal PHYs
953rlphy*    at mii? phy ?                           # Realtek 8139/8201L PHYs
954smscphy* at mii? phy ?                            # SMSC LAN87xx PHYs
955sqphy*    at mii? phy ?                           # Seeq 80220/80221/80223 PHYs
956tlphy*    at mii? phy ?                           # ThunderLAN PHYs
957tqphy*    at mii? phy ?                           # TDK Semiconductor PHYs
958ukphy*    at mii? phy ?                           # generic unknown PHYs
959urlphy* at mii? phy ?                             # Realtek RTL8150L internal PHYs
960
961
962# USB Controller and Devices
963
964# Virtual USB controller
965#pseudo-device      vhci
966
967# PCI USB controllers
968xhci*     at pci?   dev ? function ?    # eXtensible Host Controller
969ehci*     at pci?   dev ? function ?    # Enhanced Host Controller
970ohci*     at pci?   dev ? function ?    # Open Host Controller
971uhci*     at pci?   dev ? function ?    # Universal Host Controller (Intel)
972
973# CardBus USB controllers
974ehci*     at cardbus? function ?        # Enhanced Host Controller
975ohci*     at cardbus? function ?        # Open Host Controller
976uhci*     at cardbus? function ?                  # Universal Host Controller (Intel)
977
978# ISA USB controllers
979#slhci0   at isa? port 0x300 irq 5      # ScanLogic SL811HS
980
981# PCMCIA USB controllers
982slhci*    at pcmcia? function ?                   # ScanLogic SL811HS
983
984# USB bus support
985#usb*     at vhci?
986usb*      at xhci?
987usb*      at ehci?
988usb*      at ohci?
989usb*      at uhci?
990usb*      at slhci?
991
992include "dev/usb/usbdevices.config"
993
994# PCI IEEE1394 controllers
995fwohci* at pci? dev ? function ?        # IEEE1394 Open Host Controller
996
997# CardBus IEEE1394 controllers
998fwohci* at cardbus? function ?                    # IEEE1394 Open Host Controller
999
1000ieee1394if* at fwohci?
1001fwip*     at ieee1394if?                          # IP over IEEE1394
1002sbp*      at ieee1394if? euihi ? euilo ?
1003
1004# Audio Devices
1005
1006# PCI audio devices
1007auacer* at pci? dev ? function ?        # ALi M5455 integrated AC'97 Audio
1008auich*    at pci? dev ? function ?      # Intel/AMD/nVidia AC'97 Audio
1009auixp*    at pci? dev ? function ?      # ATI IXP AC'97 Audio
1010autri*    at pci? dev ? function ?      # Trident 4DWAVE based AC'97 Audio
1011auvia*    at pci? dev ? function ?      # VIA AC'97 audio
1012clcs*     at pci? dev ? function ?      # Cirrus Logic CS4280
1013clct*     at pci? dev ? function ?      # Cirrus Logic CS4281
1014cmpci*    at pci? dev ? function ?      # C-Media CMI8338/8738
1015eap*      at pci? dev ? function ?      # Ensoniq AudioPCI
1016emuxki* at pci? dev ? function ?        # Creative SBLive! and PCI512
1017esa*      at pci? dev ? function ?      # ESS Allegro-1 / Maestro-3 PCI Audio
1018esm*      at pci? dev ? function ?      # ESS Maestro-1/2/2e PCI Audio Accelerator
1019eso*      at pci? dev ? function ?      # ESS Solo-1 PCI AudioDrive
1020fms*      at pci? dev ? function ?      # Forte Media FM801
1021neo*      at pci? dev ? function ?      # NeoMagic 256 AC'97 Audio
1022sv*       at pci? dev ? function ?      # S3 SonicVibes
1023yds*      at pci? dev ? function ?      # Yamaha DS-1 PCI Audio
1024
1025# OPL[23] FM synthesizers
1026#opl0     at isa? port 0x388  # use only if not attached to sound card
1027opl*      at cmpci? flags 1
1028opl*      at eso?
1029opl*      at fms?
1030opl*      at sv?
1031
1032# High Definition Audio
1033hdaudio*  at pci? dev ? function ?      # High Definition Audio
1034hdafg*              at hdaudiobus?
1035
1036# Audio support
1037audio*    at audiobus?
1038
1039# The spkr driver provides a simple tone interface to the built in speaker.
1040spkr*     at pcppi?           # PC speaker
1041spkr*     at audio?           # PC speaker (synthesized)
1042#wsbell* at spkr?             # Bell for wscons display (module by default)
1043
1044# MPU 401 UARTs
1045#mpu*     at isa? port 0x330 irq 9      # MPU401 or compatible card
1046mpu*      at cmpci?
1047mpu*      at eso?
1048mpu*      at yds?
1049
1050# MIDI support
1051midi*     at midibus?
1052midi*     at pcppi?           # MIDI interface to the PC speaker
1053
1054# FM-Radio devices
1055# PCI radio devices
1056#gtp*     at pci? dev ? function ? # Guillemot Maxi Radio FM 2000 Radio Card
1057
1058# Radio support
1059#radio*   at gtp?
1060
1061
1062# Video capture devices
1063
1064coram*    at pci? dev ? function ?      # Conexant CX23885 PCI-E TV
1065cxdtv*    at pci? dev ? function ?      # Conexant CX2388[0-3] PCI TV
1066
1067video*    at videobus?                            # Analog capture interface
1068dtv*      at dtvbus?                              # Digital capture interface
1069
1070
1071# TV cards
1072
1073# Brooktree 848/849/878/879 based TV cards
1074bktr* at pci? dev ? function ?
1075radio* at bktr?
1076
1077
1078# Bluetooth Controller and Device support
1079
1080# Bluetooth PCMCIA Controllers
1081bt3c* at pcmcia? function ?             # 3Com 3CRWB6096-A
1082btbc* at pcmcia? function ?             # AnyCom BlueCard LSE041/039/139
1083
1084# Bluetooth SDIO Controllers
1085sbt* at sdmmc?
1086
1087# Bluetooth USB Controllers
1088ubt* at uhub? port ?
1089aubtfwl* at uhub? port ?
1090
1091# Bluetooth Device Hub
1092bthub* at bcsp?
1093bthub* at bt3c?
1094bthub* at btbc?
1095bthub* at btuart?
1096bthub* at sbt?
1097bthub* at ubt?
1098
1099# Bluetooth HID support
1100bthidev* at bthub?
1101
1102# Bluetooth Mouse
1103btms* at bthidev? reportid ?
1104wsmouse* at btms? mux 0
1105
1106# Bluetooth Keyboard
1107btkbd* at bthidev? reportid ?
1108wskbd* at btkbd? console ? mux 1
1109
1110# Bluetooth Apple Magic Mouse
1111btmagic* at bthub?
1112wsmouse* at btmagic? mux 0
1113
1114# Bluetooth Audio support
1115btsco* at bthub?
1116
1117
1118# SD/MMC/SDIO Controller and Device support
1119
1120# SD/MMC controller
1121sdhc*     at pci?             # SD Host Controller
1122rtsx*     at pci?             # Realtek RTS5209/RTS5229 Card Reader
1123sdhc*     at cardbus?         # SD Host Controller
1124sdmmc*    at sdhc?  # SD/MMC bus
1125sdmmc*    at rtsx?  # SD/MMC bus
1126
1127ld*       at sdmmc?
1128
1129
1130# Middle Digital, Inc. PCI-Weasel serial console board control
1131# devices (watchdog timer, etc.)
1132weasel* at pci?
1133
1134# Pseudo-Devices
1135
1136pseudo-device       crypto                        # /dev/crypto device
1137pseudo-device       swcrypto            # software crypto implementation
1138
1139# disk/mass storage pseudo-devices
1140pseudo-device       bio                           # RAID control device driver
1141pseudo-device       ccd                           # concatenated/striped disk devices
1142pseudo-device       cgd                           # cryptographic disk devices
1143pseudo-device       raid                          # RAIDframe disk driver
1144options   RAID_AUTOCONFIG               # auto-configuration of RAID components
1145# Options to enable various other RAIDframe RAID types.
1146#options  RF_INCLUDE_EVENODD=1
1147#options  RF_INCLUDE_RAID5_RS=1
1148#options  RF_INCLUDE_PARITYLOGGING=1
1149#options  RF_INCLUDE_CHAINDECLUSTER=1
1150#options  RF_INCLUDE_INTERDECLUSTER=1
1151#options  RF_INCLUDE_PARITY_DECLUSTERING=1
1152#options  RF_INCLUDE_PARITY_DECLUSTERING_DS=1
1153pseudo-device       fss                           # file system snapshot device
1154
1155pseudo-device       md                            # memory disk device (ramdisk)
1156options             MEMORY_DISK_HOOKS   # enable md specific hooks
1157options   MEMORY_DISK_DYNAMIC # enable dynamic resizing
1158
1159pseudo-device       vnd                           # disk-like interface to files
1160options   VND_COMPRESSION               # compressed vnd(4)
1161
1162
1163# network pseudo-devices
1164pseudo-device       bpfilter            # Berkeley packet filter
1165pseudo-device       carp                          # Common Address Redundancy Protocol
1166pseudo-device       loop                          # network loopback
1167#pseudo-device      mpls                          # MPLS pseudo-interface
1168pseudo-device       ppp                           # Point-to-Point Protocol
1169pseudo-device       pppoe                         # PPP over Ethernet (RFC 2516)
1170pseudo-device       sl                            # Serial Line IP
1171pseudo-device       irframetty                    # IrDA frame line discipline
1172pseudo-device       tun                           # network tunneling over tty
1173pseudo-device       tap                           # virtual Ethernet
1174pseudo-device       gre                           # generic L3 over IP tunnel
1175pseudo-device       gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
1176pseudo-device       ipsecif                       # tunnel interface for routing based ipsec
1177#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
1178pseudo-device       stf                           # 6to4 IPv6 over IPv4 encapsulation
1179pseudo-device       vlan                          # IEEE 802.1q encapsulation
1180pseudo-device       bridge                        # simple inter-network bridging
1181pseudo-device       vether                        # Virtual Ethernet for bridge
1182pseudo-device       agr                           # IEEE 802.3ad link aggregation
1183pseudo-device       l2tp                          # L2TPv3 interface
1184pseudo-device       lagg                          # Link aggregation interface
1185pseudo-device       npf                           # NPF packet filter
1186
1187#pseudo-device      canloop                       # CAN loopback interface
1188
1189#
1190# accept filters
1191pseudo-device       accf_data           # "dataready" accept filter
1192pseudo-device       accf_http           # "httpready" accept filter
1193
1194# miscellaneous pseudo-devices
1195pseudo-device       pty                           # pseudo-terminals
1196pseudo-device       sequencer           # MIDI sequencer
1197# rnd works; RND_COM does not on port i386 yet.
1198#options  RND_COM                       # use "com" randomness as well (BROKEN)
1199pseudo-device       clockctl            # user control of clock subsystem
1200pseudo-device       ksyms                         # /dev/ksyms
1201pseudo-device       lockstat            # lock profiling
1202pseudo-device       bcsp                          # BlueCore Serial Protocol
1203pseudo-device       btuart                        # Bluetooth HCI UART (H4)
1204#pseudo-device      nvmm                          # NetBSD Virtual Machine Monitor
1205
1206# wscons pseudo-devices
1207pseudo-device       wsmux                         # mouse & keyboard multiplexor
1208pseudo-device       wsfont
1209# Give us a choice of fonts based on monitor size
1210options   FONT_BOLD8x16
1211options   FONT_BOLD16x32
1212
1213# pseudo audio device driver
1214pseudo-device       pad
1215
1216# userland interface to drivers, including autoconf and properties retrieval
1217pseudo-device       drvctl
1218
1219include "dev/veriexec.config"
1220
1221options   PAX_SEGVGUARD=0               # PaX Segmentation fault guard
1222options   PAX_MPROTECT=1                # PaX mprotect(2) restrictions
1223options   PAX_MPROTECT_DEBUG=1          # PaX mprotect debug
1224options   PAX_ASLR=1                    # PaX Address Space Layout Randomization
1225options   PAX_ASLR_DEBUG=1    # PaX ASLR debug
1226
1227# xen pseudo-devices
1228pseudo-device  xenevt
1229pseudo-device  xvif
1230pseudo-device  xbdback
1231
1232# Pull in optional local configuration - always at end
1233cinclude  "arch/amd64/conf/GENERIC.local"
1234