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