1125461Speter#
2125461Speter# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3125461Speter#
4125461Speter# This file contains machine dependent kernel configuration notes.  For
5125461Speter# machine independent notes, look in /sys/conf/NOTES.
6125984Sobrien#
7125461Speter# $FreeBSD: stable/11/sys/amd64/conf/NOTES 337263 2018-08-03 15:43:37Z markj $
8125461Speter#
9125461Speter
10125461Speter#
11126929Speter# We want LINT to cover profiling as well.
12147687Speterprofile         2
13125461Speter
14209313Skib#
15209313Skib# Enable the kernel DTrace hooks which are required to load the DTrace
16209313Skib# kernel modules.
17209313Skib#
18209313Skiboptions 	KDTRACE_HOOKS
19209313Skib
20284227Sbr# DTrace core
21284227Sbr# NOTE: introduces CDDL-licensed components into the kernel
22284227Sbr#device		dtrace
23284227Sbr
24284227Sbr# DTrace modules
25284227Sbr#device		dtrace_profile
26284227Sbr#device		dtrace_sdt
27284227Sbr#device		dtrace_fbt
28284227Sbr#device		dtrace_systrace
29284227Sbr#device		dtrace_prototype
30284227Sbr#device		dtnfscl
31284227Sbr#device		dtmalloc
32284227Sbr
33284227Sbr# Alternatively include all the DTrace modules
34284227Sbr#device		dtraceall
35284227Sbr
36125461Speter
37126541Sobrien#####################################################################
38126541Sobrien# SMP OPTIONS:
39126541Sobrien#
40126541Sobrien# Notes:
41126541Sobrien#
42147378Sups# IPI_PREEMPTION instructs the kernel to preempt threads running on other
43147378Sups#	  CPUS if needed.  Relies on the PREEMPTION option
44125461Speter
45126541Sobrien# Optional:
46147378Supsoptions 	IPI_PREEMPTION
47126638Sobriendevice		atpic			# Optional legacy pic support
48126637Sobriendevice		mptable			# Optional MPSPEC mptable support
49126541Sobrien
50142732Sobrien#
51142732Sobrien# Watchdog routines.
52142732Sobrien#
53142732Sobrienoptions 	MP_WATCHDOG
54142732Sobrien
55209248Smav# Debugging options.
56209248Smav#
57209248Smavoptions 	COUNT_XINVLTLB_HITS	# Counters for TLB events
58209248Smavoptions 	COUNT_IPIS		# Per-CPU IPI interrupt counters
59145727Sdwhite
60209248Smav
61126541Sobrien
62126541Sobrien#####################################################################
63126541Sobrien# CPU OPTIONS
64126541Sobrien
65125461Speter#
66126541Sobrien# You must specify at least one CPU (the one you intend to run on);
67126541Sobrien# deleting the specification for CPUs you don't need to use may make
68126541Sobrien# parts of the system run faster.
69126541Sobrien#
70126541Sobriencpu		HAMMER			# aka K8, aka Opteron & Athlon64
71126541Sobrien
72126541Sobrien#
73126541Sobrien# Options for CPU features.
74126541Sobrien#
75126541Sobrien
76126541Sobrien#
77125461Speter# PERFMON causes the driver for Pentium/Pentium Pro performance counters
78125461Speter# to be compiled.  See perfmon(4) for more information.
79125461Speter#
80126541Sobrien#XXX#options 	PERFMON
81125461Speter
82125461Speter
83125461Speter#####################################################################
84125461Speter# NETWORKING OPTIONS
85125461Speter
86125461Speter#
87125461Speter# DEVICE_POLLING adds support for mixed interrupt-polling handling
88125461Speter# of network device drivers, which has significant benefits in terms
89125461Speter# of robustness to overloads and responsivity, as well as permitting
90125461Speter# accurate scheduling of the CPU time between kernel network processing
91126541Sobrien# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
92125461Speter# potential increase in response times.
93125461Speter# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
94125461Speter# to achieve smoother behaviour.
95151051Sglebius# Additionally, you can enable/disable polling at runtime with help of
96151051Sglebius# the ifconfig(8) utility, and select the CPU fraction reserved to
97151051Sglebius# userland with the sysctl variable kern.polling.user_frac
98151051Sglebius# (default 50, range 0..100).
99125461Speter#
100126541Sobrien# Not all device drivers support this mode of operation at the time of
101126541Sobrien# this writing.  See polling(4) for more details.
102125461Speter
103125461Speteroptions 	DEVICE_POLLING
104125461Speter
105177586Sjkim# BPF_JITTER adds support for BPF just-in-time compiler.
106177586Sjkim
107191954Skuriyamaoptions 	BPF_JITTER
108177586Sjkim
109234183Sjhb# OpenFabrics Enterprise Distribution (Infiniband).
110234183Sjhboptions 	OFED
111234183Sjhboptions 	OFED_DEBUG_INIT
112234183Sjhb
113234183Sjhb# Sockets Direct Protocol
114234183Sjhboptions 	SDP
115234183Sjhboptions 	SDP_DEBUG
116234183Sjhb
117239771Sjhb# IP over Infiniband
118234183Sjhboptions 	IPOIB
119234183Sjhboptions 	IPOIB_DEBUG
120234183Sjhboptions 	IPOIB_CM
121234183Sjhb
122125461Speter
123125461Speter#####################################################################
124125461Speter# CLOCK OPTIONS
125125461Speter
126173160Speter# Provide read/write access to the memory in the clock chip.
127173160Speterdevice		nvram		# Access to rtc cmos via /dev/nvram
128173160Speter
129125461Speter
130125461Speter#####################################################################
131125461Speter# MISCELLANEOUS DEVICES AND OPTIONS
132125461Speter
133152306Srudevice		speaker		#Play IBM BASIC-style noises out your speaker
134152306Sruhint.speaker.0.at="isa"
135152306Sruhint.speaker.0.port="0x61"
136126541Sobriendevice		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
137125461Speter
138125461Speter
139125461Speter#####################################################################
140125461Speter# HARDWARE BUS CONFIGURATION
141125461Speter
142125461Speter#
143125461Speter# ISA bus
144125461Speter#
145125461Speterdevice		isa
146125461Speter
147125461Speter#
148125461Speter# Options for `isa':
149125461Speter#
150125461Speter# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
151125461Speter# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
152125461Speter# This option breaks suspend/resume on some portables.
153125461Speter#
154125461Speter# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
155125461Speter# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
156125461Speter# Automatic EOI is documented not to work for for the slave with the
157125461Speter# original i8259A, but it works for some clones and some integrated
158125461Speter# versions.
159125461Speter#
160125461Speter# MAXMEM specifies the amount of RAM on the machine; if this is not
161125461Speter# specified, FreeBSD will first read the amount of memory from the CMOS
162125461Speter# RAM, so the amount of memory will initially be limited to 64MB or 16MB
163125461Speter# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
164125461Speter# then attempt to detect the installed amount of RAM.  If this probe
165125461Speter# fails to detect >64MB RAM you will have to use the MAXMEM option.
166125461Speter# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
167125461Speter# be 131072 (128 * 1024).
168125461Speter#
169125461Speter# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
170125461Speter# reset the CPU for reboot.  This is needed on some systems with broken
171125461Speter# keyboard controllers.
172125461Speter
173126541Sobrienoptions 	AUTO_EOI_1
174126541Sobrien#options 	AUTO_EOI_2
175126541Sobrien
176125461Speteroptions 	MAXMEM=(128*1024)
177125461Speter#options 	BROKEN_KEYBOARD_RESET
178125461Speter
179125461Speter#
180125461Speter# AGP GART support
181125461Speterdevice		agp
182125461Speter
183188247Swkoszek#
184188247Swkoszek# AGP debugging.
185188247Swkoszek#
186191954Skuriyamaoptions 	AGP_DEBUG
187188247Swkoszek
188125461Speter
189125461Speter#####################################################################
190125461Speter# HARDWARE DEVICE CONFIGURATION
191125461Speter
192197380Sdelphij# To include support for VGA VESA video modes
193197025Sdelphijoptions 	VESA
194197025Sdelphij
195197025Sdelphij# Turn on extra debugging checks and output for VESA support.
196197025Sdelphijoptions 	VESA_DEBUG
197197025Sdelphij
198197397Sdelphijdevice		dpms		# DPMS suspend & resume via VESA BIOS
199197397Sdelphij
200197397Sdelphij# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
201263301Simpoptions 	X86BIOS
202197397Sdelphij
203125461Speter#
204125461Speter# Optional devices:
205125461Speter#
206125461Speter
207163535Sdes# PS/2 mouse
208163535Sdesdevice		psm
209163535Sdeshint.psm.0.at="atkbdc"
210163535Sdeshint.psm.0.irq="12"
211163535Sdes
212163535Sdes# Options for psm:
213163535Sdesoptions 	PSM_HOOKRESUME		#hook the system resume event, useful
214163535Sdes					#for some laptops
215163535Sdesoptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
216163535Sdes
217163535Sdes# The keyboard controller; it controls the keyboard and the PS/2 mouse.
218163535Sdesdevice		atkbdc
219163535Sdeshint.atkbdc.0.at="isa"
220163535Sdeshint.atkbdc.0.port="0x060"
221163535Sdes
222163535Sdes# The AT keyboard
223163535Sdesdevice		atkbd
224163535Sdeshint.atkbd.0.at="atkbdc"
225163535Sdeshint.atkbd.0.irq="1"
226163535Sdes
227163535Sdes# Options for atkbd:
228163535Sdesoptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
229276208Sphkmakeoptions	ATKBD_DFLT_KEYMAP=fr.dvorak
230163535Sdes
231163535Sdes# `flags' for atkbd:
232163535Sdes#       0x01    Force detection of keyboard, else we always assume a keyboard
233163535Sdes#       0x02    Don't reset keyboard, useful for some newer ThinkPads
234163535Sdes#	0x03	Force detection and avoid reset, might help with certain
235163535Sdes#		dockingstations
236163535Sdes#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
237163535Sdes
238163535Sdes# Video card driver for VGA adapters.
239163535Sdesdevice		vga
240163535Sdeshint.vga.0.at="isa"
241163535Sdes
242163535Sdes# Options for vga:
243163535Sdes# Try the following option if the mouse pointer is not drawn correctly
244163535Sdes# or font does not seem to be loaded properly.  May cause flicker on
245163535Sdes# some systems.
246163535Sdesoptions 	VGA_ALT_SEQACCESS
247163535Sdes
248163535Sdes# If you can dispense with some vga driver features, you may want to
249163535Sdes# use the following options to save some memory.
250163535Sdes#options 	VGA_NO_FONT_LOADING	# don't save/load font
251163535Sdes#options 	VGA_NO_MODE_CHANGE	# don't change video modes
252163535Sdes
253163535Sdes# Older video cards may require this option for proper operation.
254163535Sdesoptions 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
255163535Sdes
256163535Sdes# The following option probably won't work with the LCD displays.
257163535Sdesoptions 	VGA_WIDTH90		# support 90 column modes
258163535Sdes
259163535Sdes# Debugging.
260163535Sdesoptions 	VGA_DEBUG
261163535Sdes
262268069Semaste# vt(4) drivers.
263268069Semastedevice		vt_vga		# VGA
264268069Semastedevice		vt_efifb	# EFI framebuffer
265268069Semaste
266197379Sdelphij# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
267197379Sdelphijdevice		s3pci
268197379Sdelphij
269126541Sobrien# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
270126541Sobrien# the /dev/3dfx0 device to work with glide implementations.  This should get
271126541Sobrien# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
272126541Sobrien# the tdfx DRI module from XFree86 and is completely unrelated.
273125461Speter#
274126541Sobrien# To enable Linuxulator support, one must also include COMPAT_LINUX in the
275156354Syar# config as well.  The other option is to load both as modules.
276126541Sobrien
277126541Sobriendevice		tdfx			# Enable 3Dfx Voodoo support
278156354Syar#XXX#device 	tdfx_linux		# Enable Linuxulator support
279126541Sobrien
280126541Sobrien#
281125461Speter# ACPI support using the Intel ACPI Component Architecture reference
282125461Speter# implementation.
283125461Speter#
284125461Speter# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
285125461Speter# kernel environment variables to select initial debugging levels for the
286125461Speter# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
287125461Speter# defined when it is built).
288126541Sobrien
289125461Speterdevice		acpi
290125461Speteroptions 	ACPI_DEBUG
291125461Speter
292171146Snjl# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
293171146Snjldevice		cpufreq
294171146Snjl
295145132Sanholt# Direct Rendering modules for 3D acceleration.
296145132Sanholtdevice		drm		# DRM core module required by DRM drivers
297153033Sanholtdevice		i915drm		# Intel i830 through i915
298145132Sanholtdevice		mach64drm	# ATI Rage Pro, Rage Mobility P/M, Rage XL
299145132Sanholtdevice		mgadrm		# AGP Matrox G200, G400, G450, G550
300145132Sanholtdevice		r128drm		# ATI Rage 128
301148211Sanholtdevice		radeondrm	# ATI Radeon
302152909Sanholtdevice		savagedrm	# S3 Savage3D, Savage4
303145132Sanholtdevice		sisdrm		# SiS 300/305, 540, 630
304145132Sanholtdevice		tdfxdrm		# 3dfx Voodoo 3/4/5 and Banshee
305203288Srnolanddevice		viadrm		# VIA
306145132Sanholtoptions 	DRM_DEBUG	# Include debug printfs (slow)
307125461Speter
308125461Speter#
309125461Speter# Network interfaces:
310125461Speter#
311125461Speter
312255736Sdavidch# bxe:  Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet
313255736Sdavidch#       adapters.
314125984Sobrien# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
315163494Simp#       HP PC Lan+, various PC Card devices
316129293Speter#       (requires miibus)
317159549Sjhb# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
318203691Sbrucec#	Requires the ipw firmware module
319159549Sjhb# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
320203691Sbrucec#	Requires the iwi firmware module
321269992Sgavin# iwn:	Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn
322269992Sgavin#	802.11 network adapters
323203691Sbrucec#	Requires the iwn firmware module
324272022Sbz# ixl:	Intel XL710 40Gbe PCIE Ethernet
325272022Sbz# ixlv:	Intel XL710 40Gbe VF PCIE Ethernet
326331769Shselasky# mthca: Mellanox HCA InfiniBand
327234183Sjhb# mlx4ib: Mellanox ConnectX HCA InfiniBand
328329159Shselasky# mlx4en: Mellanox ConnectX HCA Ethernet
329159967Sobrien# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
330228085Sphilip# sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters
331255323Sbryanv# vmx:	VMware VMXNET3 Ethernet (BSD open source)
332173491Sbenjsc# wpi:	Intel 3945ABG Wireless LAN controller
333203691Sbrucec#	Requires the wpi firmware module
334125461Speter
335255736Sdavidchdevice		bxe		# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
336233872Sjhbdevice		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
337148263Speteroptions 	ED_3C503
338148263Speteroptions 	ED_HPP
339148263Speteroptions 	ED_SIC
340233872Sjhbdevice		ipw		# Intel 2100 wireless NICs.
341233872Sjhbdevice		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
342233872Sjhbdevice		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
343272022Sbzdevice		ixl		# Intel XL710 40Gbe PCIE Ethernet
344318357Serjoptions		IXL_IW		# Enable iWARP Client Interface in ixl(4)
345272022Sbzdevice		ixlv		# Intel XL710 40Gbe VF PCIE Ethernet
346331769Shselaskydevice  	mthca		# Mellanox HCA InfiniBand
347329159Shselaskydevice  	mlx4		# Shared code module between IB and Ethernet
348234183Sjhbdevice  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
349329159Shselaskydevice  	mlx4en		# Mellanox ConnectX HCA Ethernet
350233872Sjhbdevice		nfe		# nVidia nForce MCP on-board Ethernet
351240098Sjhbdevice		sfxge		# Solarflare SFC9000 10Gb Ethernet
352255323Sbryanvdevice		vmx		# VMware VMXNET3 Ethernet
353233872Sjhbdevice		wpi		# Intel 3945ABG wireless NICs.
354125461Speter
355203691Sbrucec# IEEE 802.11 adapter firmware modules
356203691Sbrucec
357203691Sbrucec# Intel PRO/Wireless 2100 firmware:
358203691Sbrucec#   ipwfw:		BSS/IBSS/monitor mode firmware
359203691Sbrucec#   ipwbssfw:		BSS mode firmware
360203691Sbrucec#   ipwibssfw:		IBSS mode firmware
361203691Sbrucec#   ipwmonitorfw:	Monitor mode firmware
362203691Sbrucec# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
363203691Sbrucec#   iwifw:		BSS/IBSS/monitor mode firmware
364203691Sbrucec#   iwibssfw:		BSS mode firmware
365203691Sbrucec#   iwiibssfw:		IBSS mode firmware
366203691Sbrucec#   iwimonitorfw:	Monitor mode firmware
367203691Sbrucec# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
368269992Sgavin#   iwnfw:		Single module to support all devices
369269992Sgavin#   iwn1000fw:		Specific module for the 1000 only
370269992Sgavin#   iwn105fw:		Specific module for the 105 only
371269992Sgavin#   iwn135fw:		Specific module for the 135 only
372269992Sgavin#   iwn2000fw:		Specific module for the 2000 only
373269992Sgavin#   iwn2030fw:		Specific module for the 2030 only
374203691Sbrucec#   iwn4965fw:		Specific module for the 4965 only
375203691Sbrucec#   iwn5000fw:		Specific module for the 5000 only
376203691Sbrucec#   iwn5150fw:		Specific module for the 5150 only
377203691Sbrucec#   iwn6000fw:		Specific module for the 6000 only
378269992Sgavin#   iwn6000g2afw:	Specific module for the 6000g2a only
379269992Sgavin#   iwn6000g2bfw:	Specific module for the 6000g2b only
380210113Sbschmidt#   iwn6050fw:		Specific module for the 6050 only
381203691Sbrucec# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
382203691Sbrucec
383203691Sbrucecdevice		iwifw
384203691Sbrucecdevice		iwibssfw
385203691Sbrucecdevice		iwiibssfw
386203691Sbrucecdevice		iwimonitorfw
387203691Sbrucecdevice		ipwfw
388203691Sbrucecdevice		ipwbssfw
389203691Sbrucecdevice		ipwibssfw
390203691Sbrucecdevice		ipwmonitorfw
391203691Sbrucecdevice		iwnfw
392269992Sgavindevice		iwn1000fw
393269992Sgavindevice		iwn105fw
394269992Sgavindevice		iwn135fw
395269992Sgavindevice		iwn2000fw
396269992Sgavindevice		iwn2030fw
397203691Sbrucecdevice		iwn4965fw
398203691Sbrucecdevice		iwn5000fw
399203691Sbrucecdevice		iwn5150fw
400203691Sbrucecdevice		iwn6000fw
401269992Sgavindevice		iwn6000g2afw
402269992Sgavindevice		iwn6000g2bfw
403210113Sbschmidtdevice		iwn6050fw
404203691Sbrucecdevice		wpifw
405203691Sbrucec
406323453Smav#
407323453Smav# Non-Transparent Bridge (NTB) drivers
408323453Smav#
409323453Smavdevice		if_ntb		# Virtual NTB network interface
410323453Smavdevice		ntb_transport	# NTB packet transport driver
411323453Smavdevice		ntb		# NTB hardware interface
412323453Smavdevice		ntb_hw_intel	# Intel NTB hardware driver
413323453Smavdevice		ntb_hw_plx	# PLX NTB hardware driver
414250079Scarl
415125461Speter#
416126541Sobrien#XXX this stores pointers in a 32bit field that is defined by the hardware
417126541Sobrien#device	pst
418125461Speter
419126541Sobrien#
420144423Sscottl# Areca 11xx and 12xx series of SATA II RAID controllers.
421144423Sscottl# CAM is required.
422144423Sscottl#
423144423Sscottldevice		arcmsr		# Areca SATA II RAID
424144423Sscottl
425144423Sscottl#
426333417Ssbruno# Microsemi smartpqi controllers.
427333417Ssbruno# These controllers have a SCSI-like interface, and require the
428333417Ssbruno# CAM infrastructure.
429333417Ssbruno#
430333417Ssbrunodevice		smartpqi
431333417Ssbruno
432333417Ssbruno#
433129293Speter# 3ware 9000 series PATA/SATA RAID controller driver and options.
434129293Speter# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
435129293Speter#
436142733Sobrienoptions 	TWA_DEBUG		# 0-10; 10 prints the most messages.
437142733Sobrienoptions 	TWA_FLASH_FIRMWARE	# firmware image bundled when defined.
438129293Speterdevice		twa			# 3ware 9000 series PATA/SATA RAID
439129293Speter
440129293Speter#
441125461Speter# SCSI host adapters:
442126541Sobrien#
443125984Sobrien# ncv: NCR 53C500 based SCSI host adapters.
444125984Sobrien# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
445125984Sobrien# stg: TMC 18C30, 18C50 based SCSI host adapters.
446125461Speter
447126638Sobriendevice		ncv
448126638Sobriendevice		nsp
449126638Sobriendevice		stg
450125984Sobrien
451125461Speter#
452125461Speter# Adaptec FSA RAID controllers, including integrated DELL controllers,
453125461Speter# the Dell PERC 2/QC and the HP NetRAID-4M
454125461Speterdevice		aac
455125461Speterdevice		aacp	# SCSI Passthrough interface (optional, CAM required)
456125461Speter
457125461Speter#
458250963Sachim# Adaptec by PMC RAID controllers, Series 6/7/8 and upcoming families
459250963Sachimdevice		aacraid		# Container interface, CAM required
460250963Sachim
461250963Sachim#
462228940Sdelphij# Highpoint RocketRAID 27xx.
463228940Sdelphijdevice		hpt27xx
464228940Sdelphij
465228940Sdelphij#
466174604Sscottl# Highpoint RocketRAID 182x.
467149873Sscottldevice		hptmv
468147687Speter
469147687Speter#
470252867Sdelphij# Highpoint DC7280 and R750.
471252867Sdelphijdevice		hptnr
472252867Sdelphij
473252867Sdelphij#
474174604Sscottl# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
475174604Sscottl# RR2210, RR174x, RR2522, RR231x, RR230x.
476174604Sscottldevice		hptrr
477174604Sscottl
478174604Sscottl#
479169421Sscottl# Highpoint RocketRaid 3xxx series SATA RAID
480169421Sscottldevice		hptiop
481169421Sscottl
482169421Sscottl#
483125461Speter# IBM (now Adaptec) ServeRAID controllers
484125461Speterdevice		ips
485125461Speter
486125461Speter#
487330679Srpokala# Intel integrated Memory Controller (iMC) SMBus controller
488330679Srpokala#	Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon
489330679Srpokaladevice		imcsmb
490330679Srpokala
491330679Srpokala#
492230843Sjimharris# Intel C600 (Patsburg) integrated SAS controller
493230843Sjimharrisdevice		isci
494263301Simpoptions 	ISCI_LOGGING	# enable debugging in isci HAL
495230843Sjimharris
496230843Sjimharris#
497240618Sjimharris# NVM Express (NVMe) support
498240618Sjimharrisdevice         nvme    # base NVMe driver
499240618Sjimharrisdevice         nvd     # expose NVMe namespaces as disks, depends on nvme
500240618Sjimharris
501240618Sjimharris#
502285662Sbenno# PMC-Sierra SAS/SATA controller
503285662Sbennodevice		pmspcv
504285662Sbenno
505285662Sbenno#
506125461Speter# SafeNet crypto driver: can be moved to the MI NOTES as soon as
507125461Speter# it's tested on a big-endian machine
508125461Speter#
509125461Speterdevice		safe		# SafeNet 1141
510142733Sobrienoptions 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
511142733Sobrienoptions 	SAFE_RNDTEST	# enable rndtest support
512125461Speter
513245362Sbryanv#
514245362Sbryanv# VirtIO support
515247870Sbryanv#
516247870Sbryanv# The virtio entry provides a generic bus for use by the device drivers.
517247870Sbryanv# It must be combined with an interface that communicates with the host.
518260376Sschweikh# Multiple such interfaces are defined by the VirtIO specification. FreeBSD
519247870Sbryanv# only has support for PCI. Therefore, virtio_pci must be statically
520247870Sbryanv# compiled in or loaded as a module for the device drivers to function.
521247870Sbryanv#
522245362Sbryanvdevice		virtio		# Generic VirtIO bus (required)
523245362Sbryanvdevice		virtio_pci	# VirtIO PCI Interface
524245362Sbryanvdevice		vtnet		# VirtIO Ethernet device
525245362Sbryanvdevice		virtio_blk	# VirtIO Block device
526245362Sbryanvdevice		virtio_scsi	# VirtIO SCSI device
527245362Sbryanvdevice		virtio_balloon	# VirtIO Memory Balloon device
528260847Sbryanvdevice		virtio_random	# VirtIO Entropy device
529274065Sbryanvdevice		virtio_console	# VirtIO Console device
530245362Sbryanv
531299010Spfg# Microsoft Hyper-V enhancement support
532257277Sglebiusdevice 		hyperv		# HyperV drivers
533257277Sglebius
534257277Sglebius# Xen HVM Guest Optimizations
535260376Sschweikhoptions 	XENHVM		# Xen HVM kernel infrastructure
536257277Sglebiusdevice 		xenpci		# Xen HVM Hypervisor services driver
537257277Sglebius
538125461Speter#####################################################################
539125461Speter
540125461Speter#
541125461Speter# Miscellaneous hardware:
542125461Speter#
543162562Sjhb# ipmi: Intelligent Platform Management Interface
544188254Swkoszek# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
545148264Speter# smbios: DMI/SMBIOS entry point
546148264Speter# vpd: Vital Product Data kernel interface
547174962Srpaulo# asmc: Apple System Management Controller
548188254Swkoszek# si: Specialix International SI/XIO or SX intelligent serial card
549212861Snork# tpm: Trusted Platform Module
550125461Speter
551125461Speter# Notes on the Specialix SI/XIO driver:
552125461Speter#  The host card is memory, not IO mapped.
553125461Speter#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
554125461Speter#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
555125461Speter#  The cards can use an IRQ of 11, 12 or 15.
556125461Speter
557162562Sjhbdevice		ipmi
558147687Speterdevice		pbio
559147687Speterhint.pbio.0.at="isa"
560147687Speterhint.pbio.0.port="0x360"
561148217Sjkimdevice		smbios
562148264Speterdevice		vpd
563174962Srpaulodevice		asmc
564270224Sjhbdevice		si
565212861Snorkdevice		tpm
566254624Sobriendevice		padlock_rng	# VIA Padlock RNG
567254624Sobriendevice		rdrand_rng	# Intel Bull Mountain RNG
568256053Sjmgdevice		aesni		# AES-NI OpenCrypto module
569287117Scemdevice		ioat		# Intel I/OAT DMA engine
570188254Swkoszek
571125461Speter#
572125461Speter# Laptop/Notebook options:
573125461Speter#
574125461Speter
575126541Sobrien
576126541Sobrien#
577126541Sobrien# I2C Bus
578126541Sobrien#
579126541Sobrien
580147687Speter#
581147687Speter# Hardware watchdog timers:
582147687Speter#
583147687Speter# ichwd: Intel ICH watchdog timer
584199969Savg# amdsbwd: AMD SB7xx watchdog timer
585228724Sdelphij# viawd: VIA south bridge watchdog timer
586232614Sbz# wbwd: Winbond watchdog timer
587147687Speter#
588147687Speterdevice		ichwd
589199969Savgdevice		amdsbwd
590228431Sfabientdevice		viawd
591232614Sbzdevice		wbwd
592147687Speter
593171854Sdes#
594171854Sdes# Temperature sensors:
595171854Sdes#
596171854Sdes# coretemp: on-die sensor on Intel Core and newer CPUs
597189872Sdchagin# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
598171854Sdes#
599171854Sdesdevice		coretemp
600189872Sdchagindevice		amdtemp
601171854Sdes
602126541Sobrien#
603181430Sstas# CPU control pseudo-device. Provides access to MSRs, CPUID info and
604181430Sstas# microcode update feature.
605181430Sstas#
606181430Sstasdevice		cpuctl
607181430Sstas
608181430Sstas#
609129293Speter# System Management Bus (SMB)
610129293Speter#
611129293Speteroptions 	ENABLE_ALART		# Control alarm on Intel intpm driver
612129293Speter
613129293Speter#
614329767Struckman# AMD System Management Network (SMN)
615329767Struckman#
616329767Struckmandevice		amdsmn
617329767Struckman
618329767Struckman#
619225194Sjhb# Number of initial kernel page table pages used for early bootstrap.
620225194Sjhb# This number should include enough pages to map the kernel and any
621225194Sjhb# modules or other data loaded with the kernel by the loader.  Each
622225194Sjhb# page table page maps 2MB.
623225194Sjhb#
624225194Sjhboptions 	NKPT=31
625225194Sjhb
626306737Skib# EFI Runtime Services support (not functional yet).
627306737Skiboptions 	EFIRT
628306737Skib
629125461Speter
630125461Speter#####################################################################
631125461Speter# ABI Emulation
632125461Speter
633126541Sobrien#XXX keep these here for now and reactivate when support for emulating
634126541Sobrien#XXX these 32 bit binaries is added.
635126541Sobrien
636133844Sobrien# Enable 32-bit runtime support for FreeBSD/i386 binaries.
637205014Snwhitehornoptions 	COMPAT_FREEBSD32
638133844Sobrien
639126541Sobrien# Enable iBCS2 runtime support for SCO and ISC binaries
640126541Sobrien#XXX#options 	IBCS2
641126541Sobrien
642126541Sobrien# Emulate spx device for client side of SVR3 local X interface
643126541Sobrien#XXX#options 	SPX_HACK
644126541Sobrien
645307144Sed# Enable 32-bit runtime support for CloudABI binaries.
646307144Sedoptions 	COMPAT_CLOUDABI32
647307144Sed
648285746Sed# Enable 64-bit runtime support for CloudABI binaries.
649285746Sedoptions 	COMPAT_CLOUDABI64
650285746Sed
651125461Speter# Enable Linux ABI emulation
652126541Sobrien#XXX#options 	COMPAT_LINUX
653125461Speter
654337263Smarkj# Enable 32-bit Linux ABI emulation (requires COMPAT_FREEBSD32).
655133819Stjroptions 	COMPAT_LINUX32
656133819Stjr
657133853Stjr# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32
658125461Speter# and PSEUDOFS)
659133853Stjroptions 	LINPROCFS
660125461Speter
661158381Sambrisko#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32
662158381Sambrisko# and PSEUDOFS)
663191954Skuriyamaoptions 	LINSYSFS
664158381Sambrisko
665126541Sobrien#
666126541Sobrien# SysVR4 ABI emulation
667126541Sobrien#
668126541Sobrien# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
669126541Sobrien# a KLD module.
670126541Sobrien# The STREAMS network emulation code can also be compiled statically or as a
671126541Sobrien# module.  If loaded as a module, it must be loaded before the svr4 module
672126541Sobrien# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
673126541Sobrien# the `streams' device must be configured into any kernel which also
674126541Sobrien# specifies COMPAT_SVR4.  It is possible to have a statically-configured
675126541Sobrien# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
676126541Sobrien# script understands that it doesn't need to load the `streams' module under
677126541Sobrien# those circumstances.
678126541Sobrien# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
679126541Sobrien# (whether static or dynamic).
680126541Sobrien#
681126541Sobrien#XXX#options 	COMPAT_SVR4	# build emulator statically
682126930Speter#XXX#options 	DEBUG_SVR4	# enable verbose debugging
683126541Sobrien#XXX#device	streams		# STREAMS network driver (required for svr4).
684126541Sobrien
685125461Speter
686125461Speter#####################################################################
687125461Speter# VM OPTIONS
688125461Speter
689125461Speter# KSTACK_PAGES is the number of memory pages to assign to the kernel
690125461Speter# stack of each thread.
691125461Speter
692219525Savgoptions 	KSTACK_PAGES=5
693125461Speter
694233433Salc# Enable detailed accounting by the PV entry allocator.
695233433Salc
696233433Salcoptions 	PV_STATS
697233433Salc
698125461Speter#####################################################################
699125461Speter
700125461Speter# More undocumented options for linting.
701125461Speter# Note that documenting these are not considered an affront.
702125461Speter
703125461Speteroptions 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
704125461Speter
705125461Speteroptions 	KBDIO_DEBUG=2
706125461Speteroptions 	KBD_MAXRETRY=4
707125461Speteroptions 	KBD_MAXWAIT=6
708125461Speteroptions 	KBD_RESETDELAY=201
709125461Speter
710125461Speteroptions 	PSM_DEBUG=1
711125461Speter
712125461Speteroptions 	TIMER_FREQ=((14318182+6)/12)
713125461Speter
714125461Speteroptions 	VM_KMEM_SIZE
715125461Speteroptions 	VM_KMEM_SIZE_MAX
716125461Speteroptions 	VM_KMEM_SIZE_SCALE
717132956Smarkm
718159549Sjhb# Enable NDIS binary driver support
719189497Sthompsaoptions 	NDISAPI
720189497Sthompsadevice		ndis
721