xref: /freebsd/sys/amd64/conf/NOTES (revision 841c0c7ec75bef3c9920cd811270f9f84791ee04)
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# $FreeBSD$
8b132d96eSPeter Wemm#
9b132d96eSPeter Wemm
10b132d96eSPeter Wemm#
1175294710SPeter Wemm# We want LINT to cover profiling as well.
1280a11093SPeter Wemmprofile         2
1332a31d0dSDavid E. O'Brien
1432a31d0dSDavid E. O'Brien
155b9bfb42SDavid E. O'Brien#####################################################################
165b9bfb42SDavid E. O'Brien# SMP OPTIONS:
175b9bfb42SDavid E. O'Brien#
185b9bfb42SDavid E. O'Brien# Notes:
195b9bfb42SDavid E. O'Brien#
207452bc49SStephan Uphoff# IPI_PREEMPTION instructs the kernel to preempt threads running on other
217452bc49SStephan Uphoff#	  CPUS if needed.  Relies on the PREEMPTION option
225b9bfb42SDavid E. O'Brien
235b9bfb42SDavid E. O'Brien# Optional:
247452bc49SStephan Uphoffoptions 	IPI_PREEMPTION
2542044ceeSDavid E. O'Briendevice		atpic			# Optional legacy pic support
2684883913SDavid E. O'Briendevice		mptable			# Optional MPSPEC mptable support
275b9bfb42SDavid E. O'Brien
28fdbbb288SDavid E. O'Brien#
29fdbbb288SDavid E. O'Brien# Watchdog routines.
30fdbbb288SDavid E. O'Brien#
31fdbbb288SDavid E. O'Brienoptions 	MP_WATCHDOG
32fdbbb288SDavid E. O'Brien
33fdc9713bSDoug White
345b9bfb42SDavid E. O'Brien
355b9bfb42SDavid E. O'Brien#####################################################################
365b9bfb42SDavid E. O'Brien# CPU OPTIONS
375b9bfb42SDavid E. O'Brien
385b9bfb42SDavid E. O'Brien#
395b9bfb42SDavid E. O'Brien# You must specify at least one CPU (the one you intend to run on);
405b9bfb42SDavid E. O'Brien# deleting the specification for CPUs you don't need to use may make
415b9bfb42SDavid E. O'Brien# parts of the system run faster.
425b9bfb42SDavid E. O'Brien#
435b9bfb42SDavid E. O'Briencpu		HAMMER			# aka K8, aka Opteron & Athlon64
445b9bfb42SDavid E. O'Brien
455b9bfb42SDavid E. O'Brien#
465b9bfb42SDavid E. O'Brien# Options for CPU features.
475b9bfb42SDavid E. O'Brien#
48b132d96eSPeter Wemm
49b132d96eSPeter Wemm#
50b132d96eSPeter Wemm# PERFMON causes the driver for Pentium/Pentium Pro performance counters
51b132d96eSPeter Wemm# to be compiled.  See perfmon(4) for more information.
52b132d96eSPeter Wemm#
535b9bfb42SDavid E. O'Brien#XXX#options 	PERFMON
54b132d96eSPeter Wemm
55b132d96eSPeter Wemm
56b132d96eSPeter Wemm#####################################################################
57b132d96eSPeter Wemm# NETWORKING OPTIONS
58b132d96eSPeter Wemm
59b132d96eSPeter Wemm#
60b132d96eSPeter Wemm# DEVICE_POLLING adds support for mixed interrupt-polling handling
61b132d96eSPeter Wemm# of network device drivers, which has significant benefits in terms
62b132d96eSPeter Wemm# of robustness to overloads and responsivity, as well as permitting
63b132d96eSPeter Wemm# accurate scheduling of the CPU time between kernel network processing
64b132d96eSPeter Wemm# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
65b132d96eSPeter Wemm# potential increase in response times.
66b132d96eSPeter Wemm# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
67b132d96eSPeter Wemm# to achieve smoother behaviour.
689c26aa3cSGleb Smirnoff# Additionally, you can enable/disable polling at runtime with help of
699c26aa3cSGleb Smirnoff# the ifconfig(8) utility, and select the CPU fraction reserved to
709c26aa3cSGleb Smirnoff# userland with the sysctl variable kern.polling.user_frac
719c26aa3cSGleb Smirnoff# (default 50, range 0..100).
72b132d96eSPeter Wemm#
735b9bfb42SDavid E. O'Brien# Not all device drivers support this mode of operation at the time of
745b9bfb42SDavid E. O'Brien# this writing.  See polling(4) for more details.
75b132d96eSPeter Wemm
76b132d96eSPeter Wemmoptions 	DEVICE_POLLING
77b132d96eSPeter Wemm
78cb7d38abSJung-uk Kim# BPF_JITTER adds support for BPF just-in-time compiler.
79cb7d38abSJung-uk Kim
80cb7d38abSJung-uk Kimoptions 	BPF_JITTER
81cb7d38abSJung-uk Kim
82b132d96eSPeter Wemm
83b132d96eSPeter Wemm#####################################################################
84b132d96eSPeter Wemm# CLOCK OPTIONS
85b132d96eSPeter Wemm
86c8b14fa8SPeter Wemm# Provide read/write access to the memory in the clock chip.
87c8b14fa8SPeter Wemmdevice		nvram		# Access to rtc cmos via /dev/nvram
88c8b14fa8SPeter Wemm
89b132d96eSPeter Wemm
90b132d96eSPeter Wemm#####################################################################
91b132d96eSPeter Wemm# MISCELLANEOUS DEVICES AND OPTIONS
92b132d96eSPeter Wemm
936d8200ffSRuslan Ermilovdevice		speaker		#Play IBM BASIC-style noises out your speaker
946d8200ffSRuslan Ermilovhint.speaker.0.at="isa"
956d8200ffSRuslan Ermilovhint.speaker.0.port="0x61"
96b132d96eSPeter Wemmdevice		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
97b132d96eSPeter Wemm
98b132d96eSPeter Wemm
99b132d96eSPeter Wemm#####################################################################
100b132d96eSPeter Wemm# HARDWARE BUS CONFIGURATION
101b132d96eSPeter Wemm
102b132d96eSPeter Wemm#
103b132d96eSPeter Wemm# ISA bus
104b132d96eSPeter Wemm#
105b132d96eSPeter Wemmdevice		isa
106b132d96eSPeter Wemm
107b132d96eSPeter Wemm#
108b132d96eSPeter Wemm# Options for `isa':
109b132d96eSPeter Wemm#
110b132d96eSPeter Wemm# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
111b132d96eSPeter Wemm# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
112b132d96eSPeter Wemm# This option breaks suspend/resume on some portables.
113b132d96eSPeter Wemm#
114b132d96eSPeter Wemm# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
115b132d96eSPeter Wemm# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
116b132d96eSPeter Wemm# Automatic EOI is documented not to work for for the slave with the
117b132d96eSPeter Wemm# original i8259A, but it works for some clones and some integrated
118b132d96eSPeter Wemm# versions.
119b132d96eSPeter Wemm#
120b132d96eSPeter Wemm# MAXMEM specifies the amount of RAM on the machine; if this is not
121b132d96eSPeter Wemm# specified, FreeBSD will first read the amount of memory from the CMOS
122b132d96eSPeter Wemm# RAM, so the amount of memory will initially be limited to 64MB or 16MB
123b132d96eSPeter Wemm# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
124b132d96eSPeter Wemm# then attempt to detect the installed amount of RAM.  If this probe
125b132d96eSPeter Wemm# fails to detect >64MB RAM you will have to use the MAXMEM option.
126b132d96eSPeter Wemm# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
127b132d96eSPeter Wemm# be 131072 (128 * 1024).
128b132d96eSPeter Wemm#
129b132d96eSPeter Wemm# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
130b132d96eSPeter Wemm# reset the CPU for reboot.  This is needed on some systems with broken
131b132d96eSPeter Wemm# keyboard controllers.
132b132d96eSPeter Wemm
1335b9bfb42SDavid E. O'Brienoptions 	AUTO_EOI_1
1345b9bfb42SDavid E. O'Brien#options 	AUTO_EOI_2
1355b9bfb42SDavid E. O'Brien
136b132d96eSPeter Wemmoptions 	MAXMEM=(128*1024)
137b132d96eSPeter Wemm#options 	BROKEN_KEYBOARD_RESET
138b132d96eSPeter Wemm
139b132d96eSPeter Wemm#
140b132d96eSPeter Wemm# PCI bus & PCI options:
141b132d96eSPeter Wemm#
142b132d96eSPeter Wemmdevice		pci
143b132d96eSPeter Wemm
144b132d96eSPeter Wemm#
145b132d96eSPeter Wemm# AGP GART support
146b132d96eSPeter Wemmdevice		agp
147b132d96eSPeter Wemm
148c353491aSWojciech A. Koszek#
149c353491aSWojciech A. Koszek# AGP debugging.
150c353491aSWojciech A. Koszek#
151c353491aSWojciech A. Koszekoptions 	AGP_DEBUG
152c353491aSWojciech A. Koszek
153b132d96eSPeter Wemm
154b132d96eSPeter Wemm#####################################################################
155b132d96eSPeter Wemm# HARDWARE DEVICE CONFIGURATION
156b132d96eSPeter Wemm
1576abad12dSXin LI# To include support for VGA VESA video modes
158ee5e90daSXin LIoptions 	VESA
159ee5e90daSXin LI
160ee5e90daSXin LI# Turn on extra debugging checks and output for VESA support.
161ee5e90daSXin LIoptions 	VESA_DEBUG
162ee5e90daSXin LI
163a57707e7SXin LIdevice		dpms		# DPMS suspend & resume via VESA BIOS
164a57707e7SXin LI
165a57707e7SXin LI# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
166a57707e7SXin LIoptions		X86BIOS
167a57707e7SXin LI
168b132d96eSPeter Wemm#
169b132d96eSPeter Wemm# Optional devices:
170b132d96eSPeter Wemm#
171b132d96eSPeter Wemm
172c43ac89aSDag-Erling Smørgrav# PS/2 mouse
173c43ac89aSDag-Erling Smørgravdevice		psm
174c43ac89aSDag-Erling Smørgravhint.psm.0.at="atkbdc"
175c43ac89aSDag-Erling Smørgravhint.psm.0.irq="12"
176c43ac89aSDag-Erling Smørgrav
177c43ac89aSDag-Erling Smørgrav# Options for psm:
178c43ac89aSDag-Erling Smørgravoptions 	PSM_HOOKRESUME		#hook the system resume event, useful
179c43ac89aSDag-Erling Smørgrav					#for some laptops
180c43ac89aSDag-Erling Smørgravoptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
181c43ac89aSDag-Erling Smørgrav
182c43ac89aSDag-Erling Smørgrav# The keyboard controller; it controls the keyboard and the PS/2 mouse.
183c43ac89aSDag-Erling Smørgravdevice		atkbdc
184c43ac89aSDag-Erling Smørgravhint.atkbdc.0.at="isa"
185c43ac89aSDag-Erling Smørgravhint.atkbdc.0.port="0x060"
186c43ac89aSDag-Erling Smørgrav
187c43ac89aSDag-Erling Smørgrav# The AT keyboard
188c43ac89aSDag-Erling Smørgravdevice		atkbd
189c43ac89aSDag-Erling Smørgravhint.atkbd.0.at="atkbdc"
190c43ac89aSDag-Erling Smørgravhint.atkbd.0.irq="1"
191c43ac89aSDag-Erling Smørgrav
192c43ac89aSDag-Erling Smørgrav# Options for atkbd:
193c43ac89aSDag-Erling Smørgravoptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
194c43ac89aSDag-Erling Smørgravmakeoptions	ATKBD_DFLT_KEYMAP=jp.106
195c43ac89aSDag-Erling Smørgrav
196c43ac89aSDag-Erling Smørgrav# `flags' for atkbd:
197c43ac89aSDag-Erling Smørgrav#       0x01    Force detection of keyboard, else we always assume a keyboard
198c43ac89aSDag-Erling Smørgrav#       0x02    Don't reset keyboard, useful for some newer ThinkPads
199c43ac89aSDag-Erling Smørgrav#	0x03	Force detection and avoid reset, might help with certain
200c43ac89aSDag-Erling Smørgrav#		dockingstations
201c43ac89aSDag-Erling Smørgrav#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
202c43ac89aSDag-Erling Smørgrav
203c43ac89aSDag-Erling Smørgrav# Video card driver for VGA adapters.
204c43ac89aSDag-Erling Smørgravdevice		vga
205c43ac89aSDag-Erling Smørgravhint.vga.0.at="isa"
206c43ac89aSDag-Erling Smørgrav
207c43ac89aSDag-Erling Smørgrav# Options for vga:
208c43ac89aSDag-Erling Smørgrav# Try the following option if the mouse pointer is not drawn correctly
209c43ac89aSDag-Erling Smørgrav# or font does not seem to be loaded properly.  May cause flicker on
210c43ac89aSDag-Erling Smørgrav# some systems.
211c43ac89aSDag-Erling Smørgravoptions 	VGA_ALT_SEQACCESS
212c43ac89aSDag-Erling Smørgrav
213c43ac89aSDag-Erling Smørgrav# If you can dispense with some vga driver features, you may want to
214c43ac89aSDag-Erling Smørgrav# use the following options to save some memory.
215c43ac89aSDag-Erling Smørgrav#options 	VGA_NO_FONT_LOADING	# don't save/load font
216c43ac89aSDag-Erling Smørgrav#options 	VGA_NO_MODE_CHANGE	# don't change video modes
217c43ac89aSDag-Erling Smørgrav
218c43ac89aSDag-Erling Smørgrav# Older video cards may require this option for proper operation.
219c43ac89aSDag-Erling Smørgravoptions 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
220c43ac89aSDag-Erling Smørgrav
221c43ac89aSDag-Erling Smørgrav# The following option probably won't work with the LCD displays.
222c43ac89aSDag-Erling Smørgravoptions 	VGA_WIDTH90		# support 90 column modes
223c43ac89aSDag-Erling Smørgrav
224c43ac89aSDag-Erling Smørgrav# Debugging.
225c43ac89aSDag-Erling Smørgravoptions 	VGA_DEBUG
226c43ac89aSDag-Erling Smørgrav
227372c7337SXin LI# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
228372c7337SXin LIdevice		s3pci
229372c7337SXin LI
2305b9bfb42SDavid E. O'Brien# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
2315b9bfb42SDavid E. O'Brien# the /dev/3dfx0 device to work with glide implementations.  This should get
2325b9bfb42SDavid E. O'Brien# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
2335b9bfb42SDavid E. O'Brien# the tdfx DRI module from XFree86 and is completely unrelated.
2345b9bfb42SDavid E. O'Brien#
2355b9bfb42SDavid E. O'Brien# To enable Linuxulator support, one must also include COMPAT_LINUX in the
2364ffbe6baSYaroslav Tykhiy# config as well.  The other option is to load both as modules.
2375b9bfb42SDavid E. O'Brien
2385b9bfb42SDavid E. O'Briendevice		tdfx			# Enable 3Dfx Voodoo support
2394ffbe6baSYaroslav Tykhiy#XXX#device 	tdfx_linux		# Enable Linuxulator support
2405b9bfb42SDavid E. O'Brien
241b132d96eSPeter Wemm#
242b132d96eSPeter Wemm# ACPI support using the Intel ACPI Component Architecture reference
243b132d96eSPeter Wemm# implementation.
244b132d96eSPeter Wemm#
245b132d96eSPeter Wemm# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
246b132d96eSPeter Wemm# kernel environment variables to select initial debugging levels for the
247b132d96eSPeter Wemm# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
248b132d96eSPeter Wemm# defined when it is built).
2495b9bfb42SDavid E. O'Brien
250b132d96eSPeter Wemmdevice		acpi
251b132d96eSPeter Wemmoptions 	ACPI_DEBUG
252b132d96eSPeter Wemm
253a1ec5393SNate Lawson# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
254a1ec5393SNate Lawsondevice		cpufreq
255a1ec5393SNate Lawson
256b8aa843cSEric Anholt# Direct Rendering modules for 3D acceleration.
257b8aa843cSEric Anholtdevice		drm		# DRM core module required by DRM drivers
25869b9fffcSEric Anholtdevice		i915drm		# Intel i830 through i915
259b8aa843cSEric Anholtdevice		mach64drm	# ATI Rage Pro, Rage Mobility P/M, Rage XL
260b8aa843cSEric Anholtdevice		mgadrm		# AGP Matrox G200, G400, G450, G550
261b8aa843cSEric Anholtdevice		r128drm		# ATI Rage 128
262af088425SEric Anholtdevice		radeondrm	# ATI Radeon
2639fb07673SEric Anholtdevice		savagedrm	# S3 Savage3D, Savage4
264b8aa843cSEric Anholtdevice		sisdrm		# SiS 300/305, 540, 630
265b8aa843cSEric Anholtdevice		tdfxdrm		# 3dfx Voodoo 3/4/5 and Banshee
266b1ba33ffSRobert Nolanddevice		viadrm		# VIA
267b8aa843cSEric Anholtoptions 	DRM_DEBUG	# Include debug printfs (slow)
268b132d96eSPeter Wemm
269b132d96eSPeter Wemm#
270b132d96eSPeter Wemm# Network interfaces:
271b132d96eSPeter Wemm#
272b132d96eSPeter Wemm
27332a31d0dSDavid E. O'Brien# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
274e54ad0a1SWarner Losh#       HP PC Lan+, various PC Card devices
27575294710SPeter Wemm#       (requires miibus)
276e3d7caf4SJohn Baldwin# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
277c7ea7c46SRebecca Cran#	Requires the ipw firmware module
278e3d7caf4SJohn Baldwin# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
279c7ea7c46SRebecca Cran#	Requires the iwi firmware module
280c7ea7c46SRebecca Cran# iwn:	Intel Wireless WiFi Link 4965/1000/5000/6000 802.11 network adapters
281c7ea7c46SRebecca Cran#	Requires the iwn firmware module
282c7ea7c46SRebecca Cran# mwl:	Marvell 88W8363 IEEE 802.11 adapter
283c7ea7c46SRebecca Cran#	Requires the mwl firmware module
284bfc788c2SDavid E. O'Brien# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
285296c4b1aSJohn Baldwin# nve:	nVidia nForce MCP on-board Ethernet Networking
28603734771SBenjamin Close# wpi:	Intel 3945ABG Wireless LAN controller
287c7ea7c46SRebecca Cran#	Requires the wpi firmware module
288b132d96eSPeter Wemm
2896ec29713SPeter Wemmdevice		ed
2906ec29713SPeter Wemmoptions 	ED_3C503
2916ec29713SPeter Wemmoptions 	ED_HPP
2926ec29713SPeter Wemmoptions 	ED_SIC
293c7ea7c46SRebecca Crandevice		ipw
294e3d7caf4SJohn Baldwindevice		iwi
2953971d07bSSam Lefflerdevice		iwn
296c7ea7c46SRebecca Crandevice		mwl
297c4ce3ea6SWojciech A. Koszekdevice		nfe
298c4ce3ea6SWojciech A. Koszekdevice		nve
29903734771SBenjamin Closedevice		wpi
30032a31d0dSDavid E. O'Brien
301c7ea7c46SRebecca Cran# IEEE 802.11 adapter firmware modules
302c7ea7c46SRebecca Cran
303c7ea7c46SRebecca Cran# Intel PRO/Wireless 2100 firmware:
304c7ea7c46SRebecca Cran#   ipwfw:		BSS/IBSS/monitor mode firmware
305c7ea7c46SRebecca Cran#   ipwbssfw:		BSS mode firmware
306c7ea7c46SRebecca Cran#   ipwibssfw:		IBSS mode firmware
307c7ea7c46SRebecca Cran#   ipwmonitorfw:	Monitor mode firmware
308c7ea7c46SRebecca Cran# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
309c7ea7c46SRebecca Cran#   iwifw:		BSS/IBSS/monitor mode firmware
310c7ea7c46SRebecca Cran#   iwibssfw:		BSS mode firmware
311c7ea7c46SRebecca Cran#   iwiibssfw:		IBSS mode firmware
312c7ea7c46SRebecca Cran#   iwimonitorfw:	Monitor mode firmware
313c7ea7c46SRebecca Cran# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
314c7ea7c46SRebecca Cran#   iwnfw:		Single module to support the 4965/1000/5000/5150/6000
315c7ea7c46SRebecca Cran#   iwn4965fw:		Specific module for the 4965 only
316c7ea7c46SRebecca Cran#   iwn1000fw:		Specific module for the 1000 only
317c7ea7c46SRebecca Cran#   iwn5000fw:		Specific module for the 5000 only
318c7ea7c46SRebecca Cran#   iwn5150fw:		Specific module for the 5150 only
319c7ea7c46SRebecca Cran#   iwn6000fw:		Specific module for the 6000 only
320c7ea7c46SRebecca Cran# mwlfw:	Marvell 88W8363 firmware
321c7ea7c46SRebecca Cran# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
322c7ea7c46SRebecca Cran
323c7ea7c46SRebecca Crandevice		iwifw
324c7ea7c46SRebecca Crandevice		iwibssfw
325c7ea7c46SRebecca Crandevice		iwiibssfw
326c7ea7c46SRebecca Crandevice		iwimonitorfw
327c7ea7c46SRebecca Crandevice		ipwfw
328c7ea7c46SRebecca Crandevice		ipwbssfw
329c7ea7c46SRebecca Crandevice		ipwibssfw
330c7ea7c46SRebecca Crandevice		ipwmonitorfw
331c7ea7c46SRebecca Crandevice		iwnfw
332c7ea7c46SRebecca Crandevice		iwn4965fw
333c7ea7c46SRebecca Crandevice		iwn1000fw
334c7ea7c46SRebecca Crandevice		iwn5000fw
335c7ea7c46SRebecca Crandevice		iwn5150fw
336c7ea7c46SRebecca Crandevice		iwn6000fw
337c7ea7c46SRebecca Crandevice		mwlfw
338c7ea7c46SRebecca Crandevice		wpifw
339c7ea7c46SRebecca Cran
340b132d96eSPeter Wemm#
3415b9bfb42SDavid E. O'Brien#XXX this stores pointers in a 32bit field that is defined by the hardware
3425b9bfb42SDavid E. O'Brien#device	pst
343b132d96eSPeter Wemm
344b132d96eSPeter Wemm#
345d0885ac3SScott Long# Areca 11xx and 12xx series of SATA II RAID controllers.
346d0885ac3SScott Long# CAM is required.
347d0885ac3SScott Long#
348d0885ac3SScott Longdevice		arcmsr		# Areca SATA II RAID
349d0885ac3SScott Long
350d0885ac3SScott Long#
3517be2e3e2SPeter Wemm# 3ware 9000 series PATA/SATA RAID controller driver and options.
3527be2e3e2SPeter Wemm# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
3537be2e3e2SPeter Wemm#
3547be2e3e2SPeter Wemmoptions 	TWA_DEBUG		# 0-10; 10 prints the most messages.
3557be2e3e2SPeter Wemmoptions 	TWA_FLASH_FIRMWARE	# firmware image bundled when defined.
3567be2e3e2SPeter Wemmdevice		twa			# 3ware 9000 series PATA/SATA RAID
3577be2e3e2SPeter Wemm
3587be2e3e2SPeter Wemm#
359b132d96eSPeter Wemm# SCSI host adapters:
360b132d96eSPeter Wemm#
36132a31d0dSDavid E. O'Brien# ncv: NCR 53C500 based SCSI host adapters.
36232a31d0dSDavid E. O'Brien# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
36332a31d0dSDavid E. O'Brien# stg: TMC 18C30, 18C50 based SCSI host adapters.
36432a31d0dSDavid E. O'Brien
36532a31d0dSDavid E. O'Briendevice		ncv
36632a31d0dSDavid E. O'Briendevice		nsp
36732a31d0dSDavid E. O'Briendevice		stg
368b132d96eSPeter Wemm
369b132d96eSPeter Wemm#
370b132d96eSPeter Wemm# Adaptec FSA RAID controllers, including integrated DELL controllers,
371b132d96eSPeter Wemm# the Dell PERC 2/QC and the HP NetRAID-4M
372b132d96eSPeter Wemmdevice		aac
373b132d96eSPeter Wemmdevice		aacp	# SCSI Passthrough interface (optional, CAM required)
374b132d96eSPeter Wemm
375b132d96eSPeter Wemm#
376b063a422SScott Long# Highpoint RocketRAID 182x.
377dc8540a9SScott Longdevice		hptmv
37880a11093SPeter Wemm
37980a11093SPeter Wemm#
380b063a422SScott Long# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
381b063a422SScott Long# RR2210, RR174x, RR2522, RR231x, RR230x.
382b063a422SScott Longdevice		hptrr
383b063a422SScott Long
384b063a422SScott Long#
385f73e86c3SScott Long# Highpoint RocketRaid 3xxx series SATA RAID
386f73e86c3SScott Longdevice		hptiop
387f73e86c3SScott Long
388f73e86c3SScott Long#
389b132d96eSPeter Wemm# IBM (now Adaptec) ServeRAID controllers
390b132d96eSPeter Wemmdevice		ips
391b132d96eSPeter Wemm
392b132d96eSPeter Wemm#
393b132d96eSPeter Wemm# SafeNet crypto driver: can be moved to the MI NOTES as soon as
394b132d96eSPeter Wemm# it's tested on a big-endian machine
395b132d96eSPeter Wemm#
396b132d96eSPeter Wemmdevice		safe		# SafeNet 1141
397b132d96eSPeter Wemmoptions 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
398b132d96eSPeter Wemmoptions 	SAFE_RNDTEST	# enable rndtest support
399b132d96eSPeter Wemm
400b132d96eSPeter Wemm#####################################################################
401b132d96eSPeter Wemm
402b132d96eSPeter Wemm#
403b132d96eSPeter Wemm# Miscellaneous hardware:
404b132d96eSPeter Wemm#
405d72a0786SJohn Baldwin# ipmi: Intelligent Platform Management Interface
406c4ce3ea6SWojciech A. Koszek# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
4074bf21bfeSPeter Wemm# smbios: DMI/SMBIOS entry point
4084bf21bfeSPeter Wemm# vpd: Vital Product Data kernel interface
409d9aa6eb4SRui Paulo# asmc: Apple System Management Controller
410c4ce3ea6SWojciech A. Koszek# si: Specialix International SI/XIO or SX intelligent serial card
411b132d96eSPeter Wemm
412b132d96eSPeter Wemm# Notes on the Specialix SI/XIO driver:
413b132d96eSPeter Wemm#  The host card is memory, not IO mapped.
414b132d96eSPeter Wemm#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
415b132d96eSPeter Wemm#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
416b132d96eSPeter Wemm#  The cards can use an IRQ of 11, 12 or 15.
417b132d96eSPeter Wemm
418d72a0786SJohn Baldwindevice		ipmi
41980a11093SPeter Wemmdevice		pbio
42080a11093SPeter Wemmhint.pbio.0.at="isa"
42180a11093SPeter Wemmhint.pbio.0.port="0x360"
422a52daa5fSJung-uk Kimdevice		smbios
4234bf21bfeSPeter Wemmdevice		vpd
424d9aa6eb4SRui Paulodevice		asmc
425c4ce3ea6SWojciech A. Koszek#device		si
426c4ce3ea6SWojciech A. Koszek
427b132d96eSPeter Wemm#
428b132d96eSPeter Wemm# Laptop/Notebook options:
429b132d96eSPeter Wemm#
430b132d96eSPeter Wemm
4315b9bfb42SDavid E. O'Brien
4325b9bfb42SDavid E. O'Brien#
4335b9bfb42SDavid E. O'Brien# I2C Bus
4345b9bfb42SDavid E. O'Brien#
4355b9bfb42SDavid E. O'Brien
43680a11093SPeter Wemm#
43780a11093SPeter Wemm# Hardware watchdog timers:
43880a11093SPeter Wemm#
43980a11093SPeter Wemm# ichwd: Intel ICH watchdog timer
4405022f21bSAndriy Gapon# amdsbwd: AMD SB7xx watchdog timer
44180a11093SPeter Wemm#
44280a11093SPeter Wemmdevice		ichwd
4435022f21bSAndriy Gapondevice		amdsbwd
44480a11093SPeter Wemm
44583d18f22SDag-Erling Smørgrav#
44683d18f22SDag-Erling Smørgrav# Temperature sensors:
44783d18f22SDag-Erling Smørgrav#
44883d18f22SDag-Erling Smørgrav# coretemp: on-die sensor on Intel Core and newer CPUs
4496465d2d9SDmitry Chagin# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
45083d18f22SDag-Erling Smørgrav#
45183d18f22SDag-Erling Smørgravdevice		coretemp
4526465d2d9SDmitry Chagindevice		amdtemp
45383d18f22SDag-Erling Smørgrav
454b132d96eSPeter Wemm#
455e085f869SStanislav Sedov# CPU control pseudo-device. Provides access to MSRs, CPUID info and
456e085f869SStanislav Sedov# microcode update feature.
457e085f869SStanislav Sedov#
458e085f869SStanislav Sedovdevice		cpuctl
459e085f869SStanislav Sedov
460e085f869SStanislav Sedov#
4617be2e3e2SPeter Wemm# System Management Bus (SMB)
4627be2e3e2SPeter Wemm#
4637be2e3e2SPeter Wemmoptions 	ENABLE_ALART		# Control alarm on Intel intpm driver
4647be2e3e2SPeter Wemm
4657be2e3e2SPeter Wemm#
466b132d96eSPeter Wemm# Set the number of PV entries per process.  Increasing this can
467b132d96eSPeter Wemm# stop panics related to heavy use of shared memory.  However, that can
468b132d96eSPeter Wemm# (combined with large amounts of physical memory) cause panics at
469b132d96eSPeter Wemm# boot time due the kernel running out of VM space.
470b132d96eSPeter Wemm#
471b132d96eSPeter Wemm# If you're tweaking this, you might also want to increase the sysctls
472b132d96eSPeter Wemm# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
473b132d96eSPeter Wemm#
474b132d96eSPeter Wemm# The value below is the one more than the default.
475b132d96eSPeter Wemm#
4765b9bfb42SDavid E. O'Brienoptions 	PMAP_SHPGPERPROC=201
477b132d96eSPeter Wemm
478b132d96eSPeter Wemm
479b132d96eSPeter Wemm#####################################################################
480b132d96eSPeter Wemm# ABI Emulation
481b132d96eSPeter Wemm
4825b9bfb42SDavid E. O'Brien#XXX keep these here for now and reactivate when support for emulating
4835b9bfb42SDavid E. O'Brien#XXX these 32 bit binaries is added.
4845b9bfb42SDavid E. O'Brien
485c680f6b1SDavid E. O'Brien# Enable 32-bit runtime support for FreeBSD/i386 binaries.
486841c0c7eSNathan Whitehornoptions 	COMPAT_FREEBSD32
487c680f6b1SDavid E. O'Brien
4885b9bfb42SDavid E. O'Brien# Enable iBCS2 runtime support for SCO and ISC binaries
4895b9bfb42SDavid E. O'Brien#XXX#options 	IBCS2
4905b9bfb42SDavid E. O'Brien
4915b9bfb42SDavid E. O'Brien# Emulate spx device for client side of SVR3 local X interface
4925b9bfb42SDavid E. O'Brien#XXX#options 	SPX_HACK
4935b9bfb42SDavid E. O'Brien
494b132d96eSPeter Wemm# Enable Linux ABI emulation
4955b9bfb42SDavid E. O'Brien#XXX#options 	COMPAT_LINUX
496b132d96eSPeter Wemm
497841c0c7eSNathan Whitehorn# Enable 32-bit Linux ABI emulation (requires COMPAT_43 and COMPAT_FREEBSD32)
498ea0fabbcSTim J. Robbinsoptions 	COMPAT_LINUX32
499ea0fabbcSTim J. Robbins
5007a474197STim J. Robbins# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32
501b132d96eSPeter Wemm# and PSEUDOFS)
5027a474197STim J. Robbinsoptions 	LINPROCFS
5035b9bfb42SDavid E. O'Brien
50432397ce0SDoug Ambrisko#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32
50532397ce0SDoug Ambrisko# and PSEUDOFS)
50632397ce0SDoug Ambriskooptions 	LINSYSFS
50732397ce0SDoug Ambrisko
5085b9bfb42SDavid E. O'Brien#
5095b9bfb42SDavid E. O'Brien# SysVR4 ABI emulation
5105b9bfb42SDavid E. O'Brien#
5115b9bfb42SDavid E. O'Brien# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
5125b9bfb42SDavid E. O'Brien# a KLD module.
5135b9bfb42SDavid E. O'Brien# The STREAMS network emulation code can also be compiled statically or as a
5145b9bfb42SDavid E. O'Brien# module.  If loaded as a module, it must be loaded before the svr4 module
5155b9bfb42SDavid E. O'Brien# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
5165b9bfb42SDavid E. O'Brien# the `streams' device must be configured into any kernel which also
5175b9bfb42SDavid E. O'Brien# specifies COMPAT_SVR4.  It is possible to have a statically-configured
5185b9bfb42SDavid E. O'Brien# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
5195b9bfb42SDavid E. O'Brien# script understands that it doesn't need to load the `streams' module under
5205b9bfb42SDavid E. O'Brien# those circumstances.
5215b9bfb42SDavid E. O'Brien# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
5225b9bfb42SDavid E. O'Brien# (whether static or dynamic).
5235b9bfb42SDavid E. O'Brien#
5245b9bfb42SDavid E. O'Brien#XXX#options 	COMPAT_SVR4	# build emulator statically
5250fef69a2SPeter Wemm#XXX#options 	DEBUG_SVR4	# enable verbose debugging
5265b9bfb42SDavid E. O'Brien#XXX#device	streams		# STREAMS network driver (required for svr4).
527b132d96eSPeter Wemm
528b132d96eSPeter Wemm
529b132d96eSPeter Wemm#####################################################################
530b132d96eSPeter Wemm# VM OPTIONS
531b132d96eSPeter Wemm
532b132d96eSPeter Wemm# KSTACK_PAGES is the number of memory pages to assign to the kernel
533b132d96eSPeter Wemm# stack of each thread.
534b132d96eSPeter Wemm
535b132d96eSPeter Wemmoptions 	KSTACK_PAGES=3
536b132d96eSPeter Wemm
537b132d96eSPeter Wemm#####################################################################
538b132d96eSPeter Wemm
539b132d96eSPeter Wemm# More undocumented options for linting.
540b132d96eSPeter Wemm# Note that documenting these are not considered an affront.
541b132d96eSPeter Wemm
542b132d96eSPeter Wemmoptions 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
543b132d96eSPeter Wemm
544b132d96eSPeter Wemmoptions 	KBDIO_DEBUG=2
545b132d96eSPeter Wemmoptions 	KBD_MAXRETRY=4
546b132d96eSPeter Wemmoptions 	KBD_MAXWAIT=6
547b132d96eSPeter Wemmoptions 	KBD_RESETDELAY=201
548b132d96eSPeter Wemm
549b132d96eSPeter Wemmoptions 	PSM_DEBUG=1
550b132d96eSPeter Wemm
551b132d96eSPeter Wemmoptions 	TIMER_FREQ=((14318182+6)/12)
552b132d96eSPeter Wemm
553b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE
554b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE_MAX
555b132d96eSPeter Wemmoptions 	VM_KMEM_SIZE_SCALE
5568ab2f5ecSMark Murray
557e3d7caf4SJohn Baldwin# Enable NDIS binary driver support
558663963b1SAndrew Thompsonoptions 	NDISAPI
559663963b1SAndrew Thompsondevice		ndis
5604507f02eSBjoern A. Zeeb
5614507f02eSBjoern A. Zeeb# Linux-specific pseudo devices support
5624507f02eSBjoern A. Zeebdevice		lindev
563