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