xref: /freebsd/sys/amd64/conf/NOTES (revision bfd2ce2a5a61f16f2f8c98f4fbdcf47a758275ce)
1b132d96eSPeter Wemm#
2b132d96eSPeter Wemm# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3b132d96eSPeter Wemm#
4b132d96eSPeter Wemm# This file contains machine dependent kernel configuration notes.  For
5b132d96eSPeter Wemm# machine independent notes, look in /sys/conf/NOTES.
632a31d0dSDavid E. O'Brien#
7b132d96eSPeter Wemm#
8b132d96eSPeter Wemm
9b132d96eSPeter Wemm#
109e3e64e7SKonstantin Belousov# Enable the kernel DTrace hooks which are required to load the DTrace
119e3e64e7SKonstantin Belousov# kernel modules.
129e3e64e7SKonstantin Belousov#
139e3e64e7SKonstantin Belousovoptions 	KDTRACE_HOOKS
149e3e64e7SKonstantin Belousov
154f4d15f0SRuslan Bukin# DTrace core
164f4d15f0SRuslan Bukin# NOTE: introduces CDDL-licensed components into the kernel
174f4d15f0SRuslan Bukin#device		dtrace
184f4d15f0SRuslan Bukin
194f4d15f0SRuslan Bukin# DTrace modules
204f4d15f0SRuslan Bukin#device		dtrace_profile
214f4d15f0SRuslan Bukin#device		dtrace_sdt
224f4d15f0SRuslan Bukin#device		dtrace_fbt
234f4d15f0SRuslan Bukin#device		dtrace_systrace
244f4d15f0SRuslan Bukin#device		dtrace_prototype
254f4d15f0SRuslan Bukin#device		dtnfscl
264f4d15f0SRuslan Bukin#device		dtmalloc
274f4d15f0SRuslan Bukin
284f4d15f0SRuslan Bukin# Alternatively include all the DTrace modules
294f4d15f0SRuslan Bukin#device		dtraceall
304f4d15f0SRuslan Bukin
3132a31d0dSDavid E. O'Brien
325b9bfb42SDavid E. O'Brien#####################################################################
335b9bfb42SDavid E. O'Brien# SMP OPTIONS:
345b9bfb42SDavid E. O'Brien#
355b9bfb42SDavid E. O'Brien# Notes:
365b9bfb42SDavid E. O'Brien#
377452bc49SStephan Uphoff# IPI_PREEMPTION instructs the kernel to preempt threads running on other
387452bc49SStephan Uphoff#	  CPUS if needed.  Relies on the PREEMPTION option
395b9bfb42SDavid E. O'Brien
405b9bfb42SDavid E. O'Brien# Optional:
417452bc49SStephan Uphoffoptions 	IPI_PREEMPTION
4242044ceeSDavid E. O'Briendevice		atpic			# Optional legacy pic support
4384883913SDavid E. O'Briendevice		mptable			# Optional MPSPEC mptable support
445b9bfb42SDavid E. O'Brien
45d3646381SAlexander Motin# Debugging options.
46d3646381SAlexander Motin#
47d3646381SAlexander Motinoptions 	COUNT_XINVLTLB_HITS	# Counters for TLB events
48d3646381SAlexander Motinoptions 	COUNT_IPIS		# Per-CPU IPI interrupt counters
49d3646381SAlexander Motin
50fdc9713bSDoug White
515b9bfb42SDavid E. O'Brien
525b9bfb42SDavid E. O'Brien#####################################################################
535b9bfb42SDavid E. O'Brien# CPU OPTIONS
545b9bfb42SDavid E. O'Brien
555b9bfb42SDavid E. O'Brien#
565b9bfb42SDavid E. O'Brien# You must specify at least one CPU (the one you intend to run on);
575b9bfb42SDavid E. O'Brien# deleting the specification for CPUs you don't need to use may make
585b9bfb42SDavid E. O'Brien# parts of the system run faster.
595b9bfb42SDavid E. O'Brien#
605b9bfb42SDavid E. O'Briencpu		HAMMER			# aka K8, aka Opteron & Athlon64
615b9bfb42SDavid E. O'Brien
625b9bfb42SDavid E. O'Brien#
635b9bfb42SDavid E. O'Brien# Options for CPU features.
645b9bfb42SDavid E. O'Brien#
65b132d96eSPeter Wemm
66b132d96eSPeter Wemm
67b132d96eSPeter Wemm#####################################################################
68b132d96eSPeter Wemm# NETWORKING OPTIONS
69b132d96eSPeter Wemm
70b132d96eSPeter Wemm#
71b132d96eSPeter Wemm# DEVICE_POLLING adds support for mixed interrupt-polling handling
72b132d96eSPeter Wemm# of network device drivers, which has significant benefits in terms
73b132d96eSPeter Wemm# of robustness to overloads and responsivity, as well as permitting
74b132d96eSPeter Wemm# accurate scheduling of the CPU time between kernel network processing
75b132d96eSPeter Wemm# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
76b132d96eSPeter Wemm# potential increase in response times.
77b132d96eSPeter Wemm# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
78b132d96eSPeter Wemm# to achieve smoother behaviour.
799c26aa3cSGleb Smirnoff# Additionally, you can enable/disable polling at runtime with help of
809c26aa3cSGleb Smirnoff# the ifconfig(8) utility, and select the CPU fraction reserved to
819c26aa3cSGleb Smirnoff# userland with the sysctl variable kern.polling.user_frac
829c26aa3cSGleb Smirnoff# (default 50, range 0..100).
83b132d96eSPeter Wemm#
845b9bfb42SDavid E. O'Brien# Not all device drivers support this mode of operation at the time of
855b9bfb42SDavid E. O'Brien# this writing.  See polling(4) for more details.
86b132d96eSPeter Wemm
87b132d96eSPeter Wemmoptions 	DEVICE_POLLING
88b132d96eSPeter Wemm
89cb7d38abSJung-uk Kim# BPF_JITTER adds support for BPF just-in-time compiler.
90cb7d38abSJung-uk Kim
91cb7d38abSJung-uk Kimoptions 	BPF_JITTER
92cb7d38abSJung-uk Kim
93b132d96eSPeter Wemm
94b132d96eSPeter Wemm#####################################################################
95b132d96eSPeter Wemm# CLOCK OPTIONS
96b132d96eSPeter Wemm
97c8b14fa8SPeter Wemm# Provide read/write access to the memory in the clock chip.
98c8b14fa8SPeter Wemmdevice		nvram		# Access to rtc cmos via /dev/nvram
99c8b14fa8SPeter Wemm
100b132d96eSPeter Wemm
101b132d96eSPeter Wemm#####################################################################
102b132d96eSPeter Wemm# MISCELLANEOUS DEVICES AND OPTIONS
103b132d96eSPeter Wemm
1046d8200ffSRuslan Ermilovdevice		speaker		#Play IBM BASIC-style noises out your speaker
105f9ba2bbeSWarner Loshenvvar		hint.speaker.0.at="isa"
106f9ba2bbeSWarner Loshenvvar		hint.speaker.0.port="0x61"
107b132d96eSPeter Wemm
108b132d96eSPeter Wemm
109b132d96eSPeter Wemm#####################################################################
110b132d96eSPeter Wemm# HARDWARE BUS CONFIGURATION
111b132d96eSPeter Wemm
112b132d96eSPeter Wemm#
113b132d96eSPeter Wemm# ISA bus
114b132d96eSPeter Wemm#
115b132d96eSPeter Wemmdevice		isa
116b132d96eSPeter Wemm
117b132d96eSPeter Wemm#
118b132d96eSPeter Wemm# Options for `isa':
119b132d96eSPeter Wemm#
120b132d96eSPeter Wemm# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
121b132d96eSPeter Wemm# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
122b132d96eSPeter Wemm# This option breaks suspend/resume on some portables.
123b132d96eSPeter Wemm#
124b132d96eSPeter Wemm# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
125b132d96eSPeter Wemm# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
126efd0fdfeSGordon Bergling# Automatic EOI is documented not to work for the slave with the
127b132d96eSPeter Wemm# original i8259A, but it works for some clones and some integrated
128b132d96eSPeter Wemm# versions.
129b132d96eSPeter Wemm#
130b132d96eSPeter Wemm# MAXMEM specifies the amount of RAM on the machine; if this is not
131b132d96eSPeter Wemm# specified, FreeBSD will first read the amount of memory from the CMOS
132b132d96eSPeter Wemm# RAM, so the amount of memory will initially be limited to 64MB or 16MB
133b132d96eSPeter Wemm# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
134b132d96eSPeter Wemm# then attempt to detect the installed amount of RAM.  If this probe
135b132d96eSPeter Wemm# fails to detect >64MB RAM you will have to use the MAXMEM option.
136b132d96eSPeter Wemm# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
137b132d96eSPeter Wemm# be 131072 (128 * 1024).
138b132d96eSPeter Wemm#
139b132d96eSPeter Wemm# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
140b132d96eSPeter Wemm# reset the CPU for reboot.  This is needed on some systems with broken
141b132d96eSPeter Wemm# keyboard controllers.
142b132d96eSPeter Wemm
1435b9bfb42SDavid E. O'Brienoptions 	AUTO_EOI_1
1445b9bfb42SDavid E. O'Brien#options 	AUTO_EOI_2
1455b9bfb42SDavid E. O'Brien
146b132d96eSPeter Wemmoptions 	MAXMEM=(128*1024)
147b132d96eSPeter Wemm#options 	BROKEN_KEYBOARD_RESET
148b132d96eSPeter Wemm
149b132d96eSPeter Wemm#
150b132d96eSPeter Wemm# AGP GART support
151b132d96eSPeter Wemmdevice		agp
152b132d96eSPeter Wemm
153c353491aSWojciech A. Koszek#
154c353491aSWojciech A. Koszek# AGP debugging.
155c353491aSWojciech A. Koszek#
156c353491aSWojciech A. Koszekoptions 	AGP_DEBUG
157c353491aSWojciech A. Koszek
158b132d96eSPeter Wemm
159b132d96eSPeter Wemm#####################################################################
160b132d96eSPeter Wemm# HARDWARE DEVICE CONFIGURATION
161b132d96eSPeter Wemm
1626abad12dSXin LI# To include support for VGA VESA video modes
163ee5e90daSXin LIoptions 	VESA
164ee5e90daSXin LI
165ee5e90daSXin LI# Turn on extra debugging checks and output for VESA support.
166ee5e90daSXin LIoptions 	VESA_DEBUG
167ee5e90daSXin LI
168a57707e7SXin LIdevice		dpms		# DPMS suspend & resume via VESA BIOS
169a57707e7SXin LI
170a57707e7SXin LI# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
171a57707e7SXin LIoptions 	X86BIOS
172a57707e7SXin LI
173b132d96eSPeter Wemm#
174b132d96eSPeter Wemm# Optional devices:
175b132d96eSPeter Wemm#
176b132d96eSPeter Wemm
177c43ac89aSDag-Erling Smørgrav# PS/2 mouse
178c43ac89aSDag-Erling Smørgravdevice		psm
179f9ba2bbeSWarner Loshenvvar		hint.psm.0.at="atkbdc"
180f9ba2bbeSWarner Loshenvvar		hint.psm.0.irq="12"
181c43ac89aSDag-Erling Smørgrav
182c43ac89aSDag-Erling Smørgrav# Options for psm:
183c43ac89aSDag-Erling Smørgravoptions 	PSM_HOOKRESUME		#hook the system resume event, useful
184c43ac89aSDag-Erling Smørgrav					#for some laptops
185c43ac89aSDag-Erling Smørgravoptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
186c43ac89aSDag-Erling Smørgrav
187c43ac89aSDag-Erling Smørgrav# The keyboard controller; it controls the keyboard and the PS/2 mouse.
188c43ac89aSDag-Erling Smørgravdevice		atkbdc
189f9ba2bbeSWarner Loshenvvar		hint.atkbdc.0.at="isa"
190f9ba2bbeSWarner Loshenvvar		hint.atkbdc.0.port="0x060"
191c43ac89aSDag-Erling Smørgrav
192c43ac89aSDag-Erling Smørgrav# The AT keyboard
193c43ac89aSDag-Erling Smørgravdevice		atkbd
194f9ba2bbeSWarner Loshenvvar		hint.atkbd.0.at="atkbdc"
195f9ba2bbeSWarner Loshenvvar		hint.atkbd.0.irq="1"
196c43ac89aSDag-Erling Smørgrav
197c43ac89aSDag-Erling Smørgrav# Options for atkbd:
198c43ac89aSDag-Erling Smørgravoptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
19991b050b2SPoul-Henning Kampmakeoptions	ATKBD_DFLT_KEYMAP=fr.dvorak
200c43ac89aSDag-Erling Smørgrav
201c43ac89aSDag-Erling Smørgrav# `flags' for atkbd:
202c43ac89aSDag-Erling Smørgrav#       0x01    Force detection of keyboard, else we always assume a keyboard
203c43ac89aSDag-Erling Smørgrav#       0x02    Don't reset keyboard, useful for some newer ThinkPads
204c43ac89aSDag-Erling Smørgrav#	0x03	Force detection and avoid reset, might help with certain
205c43ac89aSDag-Erling Smørgrav#		dockingstations
206c43ac89aSDag-Erling Smørgrav#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
207c43ac89aSDag-Erling Smørgrav
208c43ac89aSDag-Erling Smørgrav# Video card driver for VGA adapters.
209c43ac89aSDag-Erling Smørgravdevice		vga
210f9ba2bbeSWarner Loshenvvar		hint.vga.0.at="isa"
211c43ac89aSDag-Erling Smørgrav
212c43ac89aSDag-Erling Smørgrav# Options for vga:
213c43ac89aSDag-Erling Smørgrav# Try the following option if the mouse pointer is not drawn correctly
214c43ac89aSDag-Erling Smørgrav# or font does not seem to be loaded properly.  May cause flicker on
215c43ac89aSDag-Erling Smørgrav# some systems.
216c43ac89aSDag-Erling Smørgravoptions 	VGA_ALT_SEQACCESS
217c43ac89aSDag-Erling Smørgrav
218c43ac89aSDag-Erling Smørgrav# If you can dispense with some vga driver features, you may want to
219c43ac89aSDag-Erling Smørgrav# use the following options to save some memory.
220c43ac89aSDag-Erling Smørgrav#options 	VGA_NO_FONT_LOADING	# don't save/load font
221c43ac89aSDag-Erling Smørgrav#options 	VGA_NO_MODE_CHANGE	# don't change video modes
222c43ac89aSDag-Erling Smørgrav
223c43ac89aSDag-Erling Smørgrav# Older video cards may require this option for proper operation.
224c43ac89aSDag-Erling Smørgravoptions 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
225c43ac89aSDag-Erling Smørgrav
226c43ac89aSDag-Erling Smørgrav# The following option probably won't work with the LCD displays.
227c43ac89aSDag-Erling Smørgravoptions 	VGA_WIDTH90		# support 90 column modes
228c43ac89aSDag-Erling Smørgrav
229c43ac89aSDag-Erling Smørgrav# Debugging.
230c43ac89aSDag-Erling Smørgravoptions 	VGA_DEBUG
231c43ac89aSDag-Erling Smørgrav
232ccbb7b5eSEd Maste# vt(4) drivers.
233ccbb7b5eSEd Mastedevice		vt_vga		# VGA
234ccbb7b5eSEd Mastedevice		vt_efifb	# EFI framebuffer
235a4a10b37SToomas Soomedevice		vt_vbefb	# VBE framebuffer
236ccbb7b5eSEd Maste
237372c7337SXin LI# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
238372c7337SXin LIdevice		s3pci
239372c7337SXin LI
2405b9bfb42SDavid E. O'Brien# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
2415b9bfb42SDavid E. O'Brien# the /dev/3dfx0 device to work with glide implementations.  This should get
2425b9bfb42SDavid E. O'Brien# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
2435b9bfb42SDavid E. O'Brien# the tdfx DRI module from XFree86 and is completely unrelated.
2445b9bfb42SDavid E. O'Brien#
2455b9bfb42SDavid E. O'Brien
2465b9bfb42SDavid E. O'Briendevice		tdfx			# Enable 3Dfx Voodoo support
2475b9bfb42SDavid E. O'Brien
248b132d96eSPeter Wemm#
249b132d96eSPeter Wemm# ACPI support using the Intel ACPI Component Architecture reference
250b132d96eSPeter Wemm# implementation.
251b132d96eSPeter Wemm#
252b132d96eSPeter Wemm# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
253b132d96eSPeter Wemm# kernel environment variables to select initial debugging levels for the
254b132d96eSPeter Wemm# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
255b132d96eSPeter Wemm# defined when it is built).
2565b9bfb42SDavid E. O'Brien
257b132d96eSPeter Wemmdevice		acpi
258b132d96eSPeter Wemmoptions 	ACPI_DEBUG
259b132d96eSPeter Wemm
260a1ec5393SNate Lawson# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
261a1ec5393SNate Lawsondevice		cpufreq
262a1ec5393SNate Lawson
263b132d96eSPeter Wemm#
264b132d96eSPeter Wemm# Network interfaces:
265b132d96eSPeter Wemm#
266b132d96eSPeter Wemm
2675bf623bbSJohn Baldwin# axp: AMD EPYC integrated NIC
2685bf623bbSJohn Baldwin#	Requires the miibus module
2694e400768SDavid Christensen# bxe:  Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet
2704e400768SDavid Christensen#       adapters.
27171d10453SEric Joyner# ice:	Intel 800 Series Physical Function
27271d10453SEric Joyner#	Requires the ice_ddp module for full functionality
273517904deSPeter Grehan# igc:	Intel I225 2.5Gb Ethernet adapter
274e3d7caf4SJohn Baldwin# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
275c7ea7c46SRebecca Cran#	Requires the ipw firmware module
276cdcd52d4SBartosz Sobczak# irdma: Intel 800 Series RDMA driver
277cdcd52d4SBartosz Sobczak#        Requires the ice module
278e3d7caf4SJohn Baldwin# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
279c7ea7c46SRebecca Cran#	Requires the iwi firmware module
28067e3b91bSGavin Atkinson# iwn:	Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn
28167e3b91bSGavin Atkinson#	802.11 network adapters
282c7ea7c46SRebecca Cran#	Requires the iwn firmware module
28333ec1ccbSHans Petter Selasky# mthca: Mellanox HCA InfiniBand
284ed5a2b61SJohn Baldwin# mlx4ib: Mellanox ConnectX HCA InfiniBand
28597549c34SHans Petter Selasky# mlx4en: Mellanox ConnectX HCA Ethernet
286bfc788c2SDavid E. O'Brien# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
287f2d166d5SJohn Baldwin# qlxgb: QLogic 3200 and 8200 series 10 Gigabit Ethernet & CNA Adapter
288f2d166d5SJohn Baldwin# qlxgbe: QLogic 8300 series 10 Gigabit Ethernet & CNA Adapter
289f2d166d5SJohn Baldwin# qlxge: QLogic 8100 series 10 Gigabit Ethernet & CNA Adapter
290b0d3d44dSMark O'Donovan# qlnxe: Cavium QLogic 41000/45000 series 10/25/40/100 Gigabit Ethernet & CNA Adapter
2917ac6374dSPhilip Paeps# sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters
292ddb4ffd0SBryan Venteicher# vmx:	VMware VMXNET3 Ethernet (BSD open source)
29303734771SBenjamin Close# wpi:	Intel 3945ABG Wireless LAN controller
294c7ea7c46SRebecca Cran#	Requires the wpi firmware module
295b132d96eSPeter Wemm
2965bf623bbSJohn Baldwindevice		axp		# AMD EPYC integrated NIC
2974e400768SDavid Christensendevice		bxe		# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
298517904deSPeter Grehandevice		igc		# Intel I225 2.5G Ethernet
29920b5d3bfSJohn Baldwindevice		ipw		# Intel 2100 wireless NICs.
30020b5d3bfSJohn Baldwindevice		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
30120b5d3bfSJohn Baldwindevice		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
30277c1fcecSEric Joynerdevice		ixl		# Intel 700 Series Physical Function
30377c1fcecSEric Joynerdevice		iavf		# Intel Adaptive Virtual Function
30471d10453SEric Joynerdevice		ice		# Intel 800 Series Physical Function
30571d10453SEric Joynerdevice		ice_ddp		# Intel 800 Series DDP Package
306cdcd52d4SBartosz Sobczakdevice		irdma		# Intel 800 Series RDMA driver
30733ec1ccbSHans Petter Selaskydevice  	mthca		# Mellanox HCA InfiniBand
30897549c34SHans Petter Selaskydevice  	mlx4		# Shared code module between IB and Ethernet
309ed5a2b61SJohn Baldwindevice  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
31097549c34SHans Petter Selaskydevice  	mlx4en		# Mellanox ConnectX HCA Ethernet
31120b5d3bfSJohn Baldwindevice		nfe		# nVidia nForce MCP on-board Ethernet
312f2d166d5SJohn Baldwindevice		qlxgb		# QLogic 3200/8200 Ethernet
313f2d166d5SJohn Baldwindevice		qlxgbe		# QLogic 8300 Ethernet
314f2d166d5SJohn Baldwindevice		qlxge		# QLogic 8100 Ethernet
315b0d3d44dSMark O'Donovandevice		qlnxe		# QLogic 41000/45000 Ethernet
316778eefa4SJohn Baldwindevice		sfxge		# Solarflare SFC9000 10Gb Ethernet
317ddb4ffd0SBryan Venteicherdevice		vmx		# VMware VMXNET3 Ethernet
31820b5d3bfSJohn Baldwindevice		wpi		# Intel 3945ABG wireless NICs.
31932a31d0dSDavid E. O'Brien
320c7ea7c46SRebecca Cran# IEEE 802.11 adapter firmware modules
321c7ea7c46SRebecca Cran
322c7ea7c46SRebecca Cran# Intel PRO/Wireless 2100 firmware:
323c7ea7c46SRebecca Cran#   ipwfw:		BSS/IBSS/monitor mode firmware
324c7ea7c46SRebecca Cran#   ipwbssfw:		BSS mode firmware
325c7ea7c46SRebecca Cran#   ipwibssfw:		IBSS mode firmware
326c7ea7c46SRebecca Cran#   ipwmonitorfw:	Monitor mode firmware
327c7ea7c46SRebecca Cran# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
328c7ea7c46SRebecca Cran#   iwifw:		BSS/IBSS/monitor mode firmware
329c7ea7c46SRebecca Cran#   iwibssfw:		BSS mode firmware
330c7ea7c46SRebecca Cran#   iwiibssfw:		IBSS mode firmware
331c7ea7c46SRebecca Cran#   iwimonitorfw:	Monitor mode firmware
332c7ea7c46SRebecca Cran# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
33367e3b91bSGavin Atkinson#   iwnfw:		Single module to support all devices
334c7ea7c46SRebecca Cran#   iwn1000fw:		Specific module for the 1000 only
33567e3b91bSGavin Atkinson#   iwn105fw:		Specific module for the 105 only
33667e3b91bSGavin Atkinson#   iwn135fw:		Specific module for the 135 only
33767e3b91bSGavin Atkinson#   iwn2000fw:		Specific module for the 2000 only
33867e3b91bSGavin Atkinson#   iwn2030fw:		Specific module for the 2030 only
33967e3b91bSGavin Atkinson#   iwn4965fw:		Specific module for the 4965 only
340c7ea7c46SRebecca Cran#   iwn5000fw:		Specific module for the 5000 only
341c7ea7c46SRebecca Cran#   iwn5150fw:		Specific module for the 5150 only
342c7ea7c46SRebecca Cran#   iwn6000fw:		Specific module for the 6000 only
34367e3b91bSGavin Atkinson#   iwn6000g2afw:	Specific module for the 6000g2a only
34467e3b91bSGavin Atkinson#   iwn6000g2bfw:	Specific module for the 6000g2b only
345774f94f1SBernhard Schmidt#   iwn6050fw:		Specific module for the 6050 only
346c7ea7c46SRebecca Cran# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
347c7ea7c46SRebecca Cran
348c7ea7c46SRebecca Crandevice		iwifw
349c7ea7c46SRebecca Crandevice		iwibssfw
350c7ea7c46SRebecca Crandevice		iwiibssfw
351c7ea7c46SRebecca Crandevice		iwimonitorfw
352c7ea7c46SRebecca Crandevice		ipwfw
353c7ea7c46SRebecca Crandevice		ipwbssfw
354c7ea7c46SRebecca Crandevice		ipwibssfw
355c7ea7c46SRebecca Crandevice		ipwmonitorfw
356c7ea7c46SRebecca Crandevice		iwnfw
357c7ea7c46SRebecca Crandevice		iwn1000fw
35867e3b91bSGavin Atkinsondevice		iwn105fw
35967e3b91bSGavin Atkinsondevice		iwn135fw
36067e3b91bSGavin Atkinsondevice		iwn2000fw
36167e3b91bSGavin Atkinsondevice		iwn2030fw
36267e3b91bSGavin Atkinsondevice		iwn4965fw
363c7ea7c46SRebecca Crandevice		iwn5000fw
364c7ea7c46SRebecca Crandevice		iwn5150fw
365c7ea7c46SRebecca Crandevice		iwn6000fw
36667e3b91bSGavin Atkinsondevice		iwn6000g2afw
36767e3b91bSGavin Atkinsondevice		iwn6000g2bfw
368774f94f1SBernhard Schmidtdevice		iwn6050fw
369c7ea7c46SRebecca Crandevice		wpifw
370c7ea7c46SRebecca Cran
3714a8e4d15SBjoern A. Zeeb# net80211 options
3724a8e4d15SBjoern A. Zeeboptions 	IEEE80211_DEBUG_REFCNT
3734a8e4d15SBjoern A. Zeeb
374ed9652daSAlexander Motin#
375ed9652daSAlexander Motin# Non-Transparent Bridge (NTB) drivers
376ed9652daSAlexander Motin#
377ed9652daSAlexander Motindevice		if_ntb		# Virtual NTB network interface
378ed9652daSAlexander Motindevice		ntb_transport	# NTB packet transport driver
379ed9652daSAlexander Motindevice		ntb		# NTB hardware interface
3806683132dSAlexander Motindevice		ntb_hw_amd	# AMD NTB hardware driver
381ed9652daSAlexander Motindevice		ntb_hw_intel	# Intel NTB hardware driver
382ed9652daSAlexander Motindevice		ntb_hw_plx	# PLX NTB hardware driver
383e47937d1SCarl Delsey
384b132d96eSPeter Wemm#
3855b9bfb42SDavid E. O'Brien#XXX this stores pointers in a 32bit field that is defined by the hardware
3865b9bfb42SDavid E. O'Brien#device	pst
387b132d96eSPeter Wemm
388b132d96eSPeter Wemm#
389d0885ac3SScott Long# Areca 11xx and 12xx series of SATA II RAID controllers.
390d0885ac3SScott Long# CAM is required.
391d0885ac3SScott Long#
392d0885ac3SScott Longdevice		arcmsr		# Areca SATA II RAID
393d0885ac3SScott Long
394d0885ac3SScott Long#
39514ec0f3aSSean Bruno# Microsemi smartpqi controllers.
39614ec0f3aSSean Bruno# These controllers have a SCSI-like interface, and require the
39714ec0f3aSSean Bruno# CAM infrastructure.
39814ec0f3aSSean Bruno#
39914ec0f3aSSean Brunodevice		smartpqi
40014ec0f3aSSean Bruno
40114ec0f3aSSean Bruno#
402b132d96eSPeter Wemm# Adaptec FSA RAID controllers, including integrated DELL controllers,
403b132d96eSPeter Wemm# the Dell PERC 2/QC and the HP NetRAID-4M
404b132d96eSPeter Wemmdevice		aac
405b132d96eSPeter Wemmdevice		aacp	# SCSI Passthrough interface (optional, CAM required)
406b132d96eSPeter Wemm
407b132d96eSPeter Wemm#
40881966bceSXin LI# Highpoint RocketRAID 27xx.
40981966bceSXin LIdevice		hpt27xx
41081966bceSXin LI
41181966bceSXin LI#
412b063a422SScott Long# Highpoint RocketRAID 182x.
413dc8540a9SScott Longdevice		hptmv
41480a11093SPeter Wemm
41580a11093SPeter Wemm#
4161fdeb165SXin LI# Highpoint DC7280 and R750.
4171fdeb165SXin LIdevice		hptnr
4181fdeb165SXin LI
4191fdeb165SXin LI#
420b063a422SScott Long# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
421b063a422SScott Long# RR2210, RR174x, RR2522, RR231x, RR230x.
422b063a422SScott Longdevice		hptrr
423b063a422SScott Long
424b063a422SScott Long#
425f73e86c3SScott Long# Highpoint RocketRaid 3xxx series SATA RAID
426f73e86c3SScott Longdevice		hptiop
427f73e86c3SScott Long
428f73e86c3SScott Long#
429b132d96eSPeter Wemm# IBM (now Adaptec) ServeRAID controllers
430b132d96eSPeter Wemmdevice		ips
431b132d96eSPeter Wemm
432b132d96eSPeter Wemm#
43324f93aa0SRavi Pokala# Intel integrated Memory Controller (iMC) SMBus controller
43424f93aa0SRavi Pokala#	Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon
43524f93aa0SRavi Pokaladevice		imcsmb
43624f93aa0SRavi Pokala
43724f93aa0SRavi Pokala#
438f11c7f63SJim Harris# Intel C600 (Patsburg) integrated SAS controller
439f11c7f63SJim Harrisdevice		isci
440f11c7f63SJim Harrisoptions 	ISCI_LOGGING	# enable debugging in isci HAL
441f11c7f63SJim Harris
442f11c7f63SJim Harris#
443f2521a76SDoug Ambrisko# Intel Volume Management Device (VMD) support
4447af4475aSAlexander Motindevice		vmd
445f2521a76SDoug Ambrisko
446f2521a76SDoug Ambrisko#
4474e1bc9a0SAchim Leubner# PMC-Sierra SAS/SATA controller
4484e1bc9a0SAchim Leubnerdevice		pmspcv
4494e1bc9a0SAchim Leubner
4504e1bc9a0SAchim Leubner#
451f4f56ff4SMark Johnston# Intel QuickAssist driver with OpenCrypto support
452f4f56ff4SMark Johnston#
453f4f56ff4SMark Johnston# Only for legacy Atom C2XXX chipsets.
454f4f56ff4SMark Johnstondevice		qat_c2xxx
45572143e89SMark Johnston
45672143e89SMark Johnston#
457b132d96eSPeter Wemm# SafeNet crypto driver: can be moved to the MI NOTES as soon as
458b132d96eSPeter Wemm# it's tested on a big-endian machine
459b132d96eSPeter Wemm#
460b132d96eSPeter Wemmdevice		safe		# SafeNet 1141
461b132d96eSPeter Wemmoptions 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
462b132d96eSPeter Wemmoptions 	SAFE_RNDTEST	# enable rndtest support
463b132d96eSPeter Wemm
464ae366ffcSBryan Venteicher#
465ae366ffcSBryan Venteicher# VirtIO support
4660cfbcf8cSBryan Venteicher#
4670cfbcf8cSBryan Venteicher# The virtio entry provides a generic bus for use by the device drivers.
4680cfbcf8cSBryan Venteicher# It must be combined with an interface that communicates with the host.
469aa27ed45SJens Schweikhardt# Multiple such interfaces are defined by the VirtIO specification. FreeBSD
4700cfbcf8cSBryan Venteicher# only has support for PCI. Therefore, virtio_pci must be statically
4710cfbcf8cSBryan Venteicher# compiled in or loaded as a module for the device drivers to function.
4720cfbcf8cSBryan Venteicher#
473ae366ffcSBryan Venteicherdevice		virtio		# Generic VirtIO bus (required)
474ae366ffcSBryan Venteicherdevice		virtio_pci	# VirtIO PCI Interface
475ae366ffcSBryan Venteicherdevice		vtnet		# VirtIO Ethernet device
476ae366ffcSBryan Venteicherdevice		virtio_blk	# VirtIO Block device
477ae366ffcSBryan Venteicherdevice		virtio_scsi	# VirtIO SCSI device
478ae366ffcSBryan Venteicherdevice		virtio_balloon	# VirtIO Memory Balloon device
47910c40180SBryan Venteicherdevice		virtio_random	# VirtIO Entropy device
480217eb125SBryan Venteicherdevice		virtio_console	# VirtIO Console device
481ae366ffcSBryan Venteicher
4826c69c6bbSAdam Fenn# Linux KVM paravirtualization support
4836c69c6bbSAdam Fenndevice		kvm_clock	# KVM paravirtual clock driver
4846c69c6bbSAdam Fenn
4854d779448SXin LI# Google Virtual NIC
4864d779448SXin LIdevice		gve		# Google Virtual NIC (gVNIC) driver
4874d779448SXin LI
488edafb5a3SPedro F. Giffuni# Microsoft Hyper-V enhancement support
48969eb2b17SGleb Smirnoffdevice 		hyperv		# HyperV drivers
490e4d3f1e4SYuridevice		hvhid		# HyperV HID device
49169eb2b17SGleb Smirnoff
49269eb2b17SGleb Smirnoff# Xen HVM Guest Optimizations
49369eb2b17SGleb Smirnoffoptions 	XENHVM		# Xen HVM kernel infrastructure
494b2c50bb9SElliott Mitchelldevice		xenefi		# Xen EFI timer device
49569eb2b17SGleb Smirnoffdevice 		xenpci		# Xen HVM Hypervisor services driver
49682bf6a25SRoger Pau Monnédevice		xentimer	# Xen x86 PV timer device
49769eb2b17SGleb Smirnoff
498b132d96eSPeter Wemm#####################################################################
499b132d96eSPeter Wemm
500b132d96eSPeter Wemm#
501b132d96eSPeter Wemm# Miscellaneous hardware:
502b132d96eSPeter Wemm#
503d72a0786SJohn Baldwin# ipmi: Intelligent Platform Management Interface
504c4ce3ea6SWojciech A. Koszek# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
505a29bff7aSGreg V# smbios: DMI/SMBIOS entry point (requires EFIRT option)
5064bf21bfeSPeter Wemm# vpd: Vital Product Data kernel interface
507d9aa6eb4SRui Paulo# asmc: Apple System Management Controller
508c4ce3ea6SWojciech A. Koszek# si: Specialix International SI/XIO or SX intelligent serial card
509cbf4dac6SNorikatsu Shigemura# tpm: Trusted Platform Module
510b132d96eSPeter Wemm
511b132d96eSPeter Wemm# Notes on the Specialix SI/XIO driver:
512b132d96eSPeter Wemm#  The host card is memory, not IO mapped.
513b132d96eSPeter Wemm#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
514b132d96eSPeter Wemm#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
515b132d96eSPeter Wemm#  The cards can use an IRQ of 11, 12 or 15.
516b132d96eSPeter Wemm
517d72a0786SJohn Baldwindevice		ipmi
51880a11093SPeter Wemmdevice		pbio
519f9ba2bbeSWarner Loshenvvar		hint.pbio.0.at="isa"
520f9ba2bbeSWarner Loshenvvar		hint.pbio.0.port="0x360"
521a52daa5fSJung-uk Kimdevice		smbios
5224bf21bfeSPeter Wemmdevice		vpd
523d9aa6eb4SRui Paulodevice		asmc
524cbf4dac6SNorikatsu Shigemuradevice		tpm
52546be218dSDavid E. O'Briendevice		padlock_rng	# VIA Padlock RNG
52646be218dSDavid E. O'Briendevice		rdrand_rng	# Intel Bull Mountain RNG
52729904f46SJohn-Mark Gurneydevice		aesni		# AES-NI OpenCrypto module
528ba610be9SJohn Baldwindevice		ossl		# OpenSSL OpenCrypto module
529e974f91cSConrad Meyerdevice		ioat		# Intel I/OAT DMA engine
530c4ce3ea6SWojciech A. Koszek
531b132d96eSPeter Wemm#
532b132d96eSPeter Wemm# Laptop/Notebook options:
533b132d96eSPeter Wemm#
534b132d96eSPeter Wemm
53590b8c0eaSEmmanuel Vadotdevice backlight
5365b9bfb42SDavid E. O'Brien
5375b9bfb42SDavid E. O'Brien#
5385b9bfb42SDavid E. O'Brien# I2C Bus
5395b9bfb42SDavid E. O'Brien#
5405b9bfb42SDavid E. O'Brien
54180a11093SPeter Wemm#
54280a11093SPeter Wemm# Hardware watchdog timers:
54380a11093SPeter Wemm#
54480a11093SPeter Wemm# ichwd: Intel ICH watchdog timer
5455022f21bSAndriy Gapon# amdsbwd: AMD SB7xx watchdog timer
54625841e91SXin LI# viawd: VIA south bridge watchdog timer
5470566170fSBjoern A. Zeeb# wbwd: Winbond watchdog timer
548edca4938SAndriy Gapon# itwd: ITE Super I/O watchdog timer
54980a11093SPeter Wemm#
55080a11093SPeter Wemmdevice		ichwd
5515022f21bSAndriy Gapondevice		amdsbwd
55261af1d13SFabien Thomasdevice		viawd
5530566170fSBjoern A. Zeebdevice		wbwd
554edca4938SAndriy Gapondevice		itwd
55580a11093SPeter Wemm
55683d18f22SDag-Erling Smørgrav#
55783d18f22SDag-Erling Smørgrav# Temperature sensors:
55883d18f22SDag-Erling Smørgrav#
55983d18f22SDag-Erling Smørgrav# coretemp: on-die sensor on Intel Core and newer CPUs
5606465d2d9SDmitry Chagin# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
56183d18f22SDag-Erling Smørgrav#
56283d18f22SDag-Erling Smørgravdevice		coretemp
5636465d2d9SDmitry Chagindevice		amdtemp
56483d18f22SDag-Erling Smørgrav
565b132d96eSPeter Wemm#
566e085f869SStanislav Sedov# CPU control pseudo-device. Provides access to MSRs, CPUID info and
567e085f869SStanislav Sedov# microcode update feature.
568e085f869SStanislav Sedov#
569e085f869SStanislav Sedovdevice		cpuctl
570e085f869SStanislav Sedov
571e085f869SStanislav Sedov#
572e3722b78SAndriy Gapon# SuperIO driver.
573e3722b78SAndriy Gapon#
574e3722b78SAndriy Gapondevice		superio
575e3722b78SAndriy Gapon
576e3722b78SAndriy Gapon#
5777be2e3e2SPeter Wemm# System Management Bus (SMB)
5787be2e3e2SPeter Wemm#
5797be2e3e2SPeter Wemmoptions 	ENABLE_ALART		# Control alarm on Intel intpm driver
5807be2e3e2SPeter Wemm
5817be2e3e2SPeter Wemm#
582907f50feSConrad Meyer# AMD System Management Network (SMN)
583907f50feSConrad Meyer#
584907f50feSConrad Meyerdevice		amdsmn
585907f50feSConrad Meyer
586907f50feSConrad Meyer#
587cee0b197SJohn Baldwin# Number of initial kernel page table pages used for early bootstrap.
588cee0b197SJohn Baldwin# This number should include enough pages to map the kernel and any
589cee0b197SJohn Baldwin# modules or other data loaded with the kernel by the loader.  Each
590cee0b197SJohn Baldwin# page table page maps 2MB.
591cee0b197SJohn Baldwin#
592cee0b197SJohn Baldwinoptions 	NKPT=31
593cee0b197SJohn Baldwin
594164138e7SKyle Evans# EFI Runtime Services support
595bc3ad3a1SKonstantin Belousovoptions 	EFIRT
596bc3ad3a1SKonstantin Belousov
597*bfd2ce2aSStephen J. Kiernan# EFI pseudo-device
598*bfd2ce2aSStephen J. Kiernandevice		efidev
599*bfd2ce2aSStephen J. Kiernan
600*bfd2ce2aSStephen J. Kiernan# EFI RTC
601*bfd2ce2aSStephen J. Kiernandevice		efirtc
602*bfd2ce2aSStephen J. Kiernan
6030f0379faSVladimir Kondratyev#
6040f0379faSVladimir Kondratyev# HID-over-I2C support
6050f0379faSVladimir Kondratyev#
6060f0379faSVladimir Kondratyevdevice		iichid		# HID-over-I2C support
6070f0379faSVladimir Kondratyevoptions 	IICHID_DEBUG	# Enable HID-over-I2C debug messages
6080f0379faSVladimir Kondratyevoptions 	IICHID_SAMPLING	# Workaround missing GPIO INTR support
6090f0379faSVladimir Kondratyev
610b132d96eSPeter Wemm#####################################################################
611b132d96eSPeter Wemm# ABI Emulation
612b132d96eSPeter Wemm
6135b9bfb42SDavid E. O'Brien#XXX keep these here for now and reactivate when support for emulating
6145b9bfb42SDavid E. O'Brien#XXX these 32 bit binaries is added.
6155b9bfb42SDavid E. O'Brien
616c680f6b1SDavid E. O'Brien# Enable 32-bit runtime support for FreeBSD/i386 binaries.
617841c0c7eSNathan Whitehornoptions 	COMPAT_FREEBSD32
618c680f6b1SDavid E. O'Brien
619c507c512SBruce Evans# Enable (32-bit) a.out binary support
620c507c512SBruce Evansoptions 	COMPAT_AOUT
621c507c512SBruce Evans
622b132d96eSPeter Wemm#####################################################################
623f1bac7bbSMatt Macy# ZFS support
624f1bac7bbSMatt Macy
625fb702b44SMatt Macy# NB: This depends on crypto, cryptodev and ZSTDIO
626f1bac7bbSMatt Macyoptions 	ZFS
627f1bac7bbSMatt Macy
628f1bac7bbSMatt Macy#####################################################################
629b132d96eSPeter Wemm# VM OPTIONS
630b132d96eSPeter Wemm
631b132d96eSPeter Wemm# KSTACK_PAGES is the number of memory pages to assign to the kernel
632b132d96eSPeter Wemm# stack of each thread.
633b132d96eSPeter Wemm
634136882cfSAndriy Gaponoptions 	KSTACK_PAGES=5
635b132d96eSPeter Wemm
6365d4c773bSAlan Cox# Enable detailed accounting by the PV entry allocator.
6375d4c773bSAlan Cox
6385d4c773bSAlan Coxoptions 	PV_STATS
6395d4c773bSAlan Cox
640b132d96eSPeter Wemm#####################################################################
641b132d96eSPeter Wemm
642b132d96eSPeter Wemm# More undocumented options for linting.
643b132d96eSPeter Wemm# Note that documenting these are not considered an affront.
644b132d96eSPeter Wemm
645b132d96eSPeter Wemmoptions 	KBDIO_DEBUG=2
646b132d96eSPeter Wemmoptions 	KBD_MAXRETRY=4
647b132d96eSPeter Wemmoptions 	KBD_MAXWAIT=6
648b132d96eSPeter Wemmoptions 	KBD_RESETDELAY=201
649b132d96eSPeter Wemm
650b132d96eSPeter Wemmoptions 	PSM_DEBUG=1
651b132d96eSPeter Wemm
652b132d96eSPeter Wemmoptions 	TIMER_FREQ=((14318182+6)/12)
653b132d96eSPeter Wemm
654b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE
655b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE_MAX
656b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE_SCALE
6578ab2f5ecSMark Murray
658030963c0SMatt Macy# GCOV (code coverage) support
659030963c0SMatt Macy
660030963c0SMatt Macyoptions 	LINDEBUGFS
661030963c0SMatt Macyoptions 	GCOV
662