NOTES revision 275273
1222301Sadrian#
2222301Sadrian# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3222301Sadrian#
4222301Sadrian# This file contains machine dependent kernel configuration notes.  For
5222301Sadrian# machine independent notes, look in /sys/conf/NOTES.
6222301Sadrian#
7222301Sadrian# $FreeBSD: stable/10/sys/i386/conf/NOTES 275273 2014-11-29 22:48:40Z bryanv $
8222301Sadrian#
9222301Sadrian
10222301Sadrian#
11222301Sadrian# We want LINT to cover profiling as well.
12222301Sadrianprofile         2
13222301Sadrian
14222301Sadrian#
15222301Sadrian# Enable the kernel DTrace hooks which are required to load the DTrace
16222301Sadrian# kernel modules.
17222301Sadrian#
18222301Sadrianoptions 	KDTRACE_HOOKS
19222301Sadrian
20222301Sadrian
21222301Sadrian#####################################################################
22222301Sadrian# SMP OPTIONS:
23222301Sadrian#
24222301Sadrian# The apic device enables the use of the I/O APIC for interrupt delivery.
25222301Sadrian# The apic device can be used in both UP and SMP kernels, but is required
26222301Sadrian# for SMP kernels.  Thus, the apic device is not strictly an SMP option,
27222301Sadrian# but it is a prerequisite for SMP.
28222301Sadrian#
29222301Sadrian# Notes:
30222301Sadrian#
31222301Sadrian# HTT CPUs should only be used if they are enabled in the BIOS.  For
32222301Sadrian# the ACPI case, ACPI only correctly tells us about any HTT CPUs if
33222301Sadrian# they are enabled.  However, most HTT systems do not list HTT CPUs
34222301Sadrian# in the MP Table if they are enabled, thus we guess at the HTT CPUs
35222301Sadrian# for the MP Table case.  However, we shouldn't try to guess and use
36222308Sadrian# these CPUs if HTT is disabled.  Thus, HTT guessing is only enabled
37222301Sadrian# for the MP Table if the user explicitly asks for it via the
38222301Sadrian# MPTABLE_FORCE_HTT option.  Do NOT use this option if you have HTT
39222308Sadrian# disabled in your BIOS.
40222308Sadrian#
41222308Sadrian# IPI_PREEMPTION instructs the kernel to preempt threads running on other
42222308Sadrian# CPUS if needed.  Relies on the PREEMPTION option
43222308Sadrian
44222308Sadrian# Mandatory:
45222308Sadriandevice		apic			# I/O apic
46222308Sadrian
47222308Sadrian# Optional:
48237184Sadrianoptions 	MPTABLE_FORCE_HTT	# Enable HTT CPUs with the MP Table
49237184Sadrianoptions 	IPI_PREEMPTION
50237184Sadrian
51237184Sadrian#
52237184Sadrian# Watchdog routines.
53237184Sadrian#
54237184Sadrianoptions 	MP_WATCHDOG
55222308Sadrian
56237184Sadrian# Debugging options.
57222308Sadrian#
58237184Sadrianoptions 	COUNT_XINVLTLB_HITS	# Counters for TLB events
59222308Sadrianoptions 	COUNT_IPIS		# Per-CPU IPI interrupt counters
60237184Sadrian
61237184Sadrian
62237184Sadrian
63237184Sadrian#####################################################################
64237184Sadrian# CPU OPTIONS
65237184Sadrian
66222308Sadrian#
67222308Sadrian# You must specify at least one CPU (the one you intend to run on);
68237184Sadrian# deleting the specification for CPUs you don't need to use may make
69237184Sadrian# parts of the system run faster.
70237184Sadrian#
71237184Sadriancpu		I486_CPU
72237184Sadriancpu		I586_CPU		# aka Pentium(tm)
73237184Sadriancpu		I686_CPU		# aka Pentium Pro(tm)
74237184Sadrian
75222308Sadrian#
76237184Sadrian# Options for CPU features.
77237184Sadrian#
78237184Sadrian# CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has
79237184Sadrian# forgotten to enable them.
80237184Sadrian#
81237184Sadrian# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
82237184Sadrian# CPU if CPU supports it.  The default is double-clock mode on
83237184Sadrian# BlueLightning CPU box.
84237184Sadrian#
85237184Sadrian# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
86222308Sadrian# BlueLightning CPU.  It works only with Cyrix FPU, and this option
87237184Sadrian# should not be used with Intel FPU.
88237184Sadrian#
89237184Sadrian# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
90237184Sadrian#
91237184Sadrian# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
92237184Sadrian# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
93237184Sadrian# Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
94237184Sadrian#
95222308Sadrian# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
96237184Sadrian# mapped mode.  Default is 2-way set associative mode.
97237184Sadrian#
98222308Sadrian# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables
99237184Sadrian# reorder).  This option should not be used if you use memory mapped
100237184Sadrian# I/O device(s).
101237184Sadrian#
102237184Sadrian# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
103237184Sadrian# machines.  VmWare 3.x seems to emulate this instruction poorly, causing
104237184Sadrian# the guest OS to run very slowly.  This problem appears to be fixed in
105237184Sadrian# VmWare 4.x, at least in version 4.5.2, so that enabling this option with
106237184Sadrian# VmWare 4.x will result in locking operations to be 20-30 times slower.
107237184Sadrian# Enabling this with an SMP kernel will cause the kernel to be unusable.
108237184Sadrian#
109237184Sadrian# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE.
110222308Sadrian#
111237184Sadrian# CPU_ELAN enables support for AMDs ElanSC520 CPU.
112222308Sadrian#    CPU_ELAN_PPS enables precision timestamp code.
113222308Sadrian#    CPU_ELAN_XTAL sets the clock crystal frequency in Hz.
114222312Sadrian#
115222312Sadrian# CPU_ENABLE_LONGRUN enables support for Transmeta Crusoe LongRun
116222312Sadrian# technology which allows to restrict power consumption of the CPU by
117222312Sadrian# using group of hw.crusoe.* sysctls.
118222310Sadrian#
119222312Sadrian# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
120222310Sadrian#
121222312Sadrian# CPU_GEODE is for the SC1100 Geode embedded processor.  This option
122222312Sadrian# is necessary because the i8254 timecounter is toast.
123222312Sadrian#
124222312Sadrian# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
125222310Sadrian# for i386 machines.
126222310Sadrian#
127222312Sadrian# CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
128222310Sadrian# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
129222310Sadrian# (no clock delay).
130222310Sadrian#
131222312Sadrian# CPU_L2_LATENCY specifies the L2 cache latency value.  This option is used
132222310Sadrian# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
133222310Sadrian# The default value is 5.
134222310Sadrian#
135222312Sadrian# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
136222312Sadrian# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
137222312Sadrian# 1).
138222312Sadrian#
139222312Sadrian# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
140222312Sadrian# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
141222312Sadrian# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
142222312Sadrian#
143222310Sadrian# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
144222312Sadrian#
145222312Sadrian# CPU_SOEKRIS enables support www.soekris.com hardware.
146222312Sadrian#
147222312Sadrian# CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
148222312Sadrian# enters suspend mode following execution of HALT instruction.
149222312Sadrian#
150222312Sadrian# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
151222312Sadrian#
152222312Sadrian# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
153222310Sadrian# K5/K6/K6-2 CPUs.
154222312Sadrian#
155222312Sadrian# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
156222312Sadrian# flush at hold state.
157222312Sadrian#
158222312Sadrian# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
159222312Sadrian# without cache flush at hold state, and (2) write-back CPU cache on
160222312Sadrian# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
161222310Sadrian#
162222312Sadrian# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
163222312Sadrian# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
164222312Sadrian# executed.  This option is only needed if I586_CPU is also defined,
165222312Sadrian# and should be included for any non-Pentium CPU that defines it.
166222312Sadrian#
167222312Sadrian# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
168222312Sadrian# which indicates that the 15-16MB range is *definitely* not being
169222312Sadrian# occupied by an ISA memory hole.
170222312Sadrian#
171222312Sadrian# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
172222312Sadrian# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
173222312Sadrian# These options may crash your system.
174222312Sadrian#
175222312Sadrian# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
176222312Sadrian# in write-through mode when revision < 2.7.  If revision of Cyrix
177222312Sadrian# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
178222312Sadrian#
179222312Sadrian# NOTE 3: This option may cause failures for software that requires
180222312Sadrian# locked cycles in order to operate correctly.
181222312Sadrian#
182222312Sadrianoptions 	CPU_ATHLON_SSE_HACK
183222312Sadrianoptions 	CPU_BLUELIGHTNING_3X
184222312Sadrianoptions 	CPU_BLUELIGHTNING_FPU_OP_CACHE
185222312Sadrianoptions 	CPU_BTB_EN
186222312Sadrianoptions 	CPU_DIRECT_MAPPED_CACHE
187222312Sadrianoptions 	CPU_DISABLE_5X86_LSSER
188222424Sadrianoptions 	CPU_DISABLE_CMPXCHG
189222312Sadrian#options 	CPU_DISABLE_SSE
190222312Sadrianoptions 	CPU_ELAN
191222312Sadrianoptions 	CPU_ELAN_PPS
192222312Sadrianoptions 	CPU_ELAN_XTAL=32768000
193222312Sadrianoptions 	CPU_ENABLE_LONGRUN
194222312Sadrianoptions 	CPU_FASTER_5X86_FPU
195222312Sadrianoptions 	CPU_GEODE
196222312Sadrianoptions 	CPU_I486_ON_386
197222312Sadrianoptions 	CPU_IORT
198222312Sadrianoptions 	CPU_L2_LATENCY=5
199222312Sadrianoptions 	CPU_LOOP_EN
200222312Sadrianoptions 	CPU_PPRO2CELERON
201222312Sadrianoptions 	CPU_RSTK_EN
202222312Sadrianoptions 	CPU_SOEKRIS
203222312Sadrianoptions 	CPU_SUSP_HLT
204222312Sadrianoptions 	CPU_UPGRADE_HW_CACHE
205222312Sadrianoptions 	CPU_WT_ALLOC
206222312Sadrianoptions 	CYRIX_CACHE_WORKS
207222312Sadrianoptions 	CYRIX_CACHE_REALLY_WORKS
208222312Sadrian#options 	NO_F00F_HACK
209222312Sadrian
210222312Sadrian# Debug options
211222312Sadrianoptions 	NPX_DEBUG	# enable npx debugging
212222312Sadrian
213222312Sadrian#
214222312Sadrian# PERFMON causes the driver for Pentium/Pentium Pro performance counters
215222312Sadrian# to be compiled.  See perfmon(4) for more information.
216222312Sadrian#
217222312Sadrianoptions 	PERFMON
218222312Sadrian
219222312Sadrian#
220222312Sadrian# XBOX causes the kernel to be bootable on the Microsoft XBox console system.
221222312Sadrian# The resulting kernel will auto-detect whether it is being booted on a XBox,
222222312Sadrian# so kernels compiled with this option will also work on an ordinary PC.
223222312Sadrian# This option require I686_CPU.
224222312Sadrian#
225222312Sadrian# xboxfb includes support for the XBox frame buffer device. It is fully USB-
226222312Sadrian# keyboard aware, and will only be used if an xbox is detected. This option
227222312Sadrian# (obviously) requires XBOX support in your kernel.
228222312Sadrian#
229222312Sadrian# NOTE: xboxfb currently conflicts with syscons(4); if you have an XBOX and
230222312Sadrian# include both in your kernel; you will not get any video output. Ordinary
231222312Sadrian# PC's do not suffer from this.
232222312Sadrian#
233222312Sadrianoptions 	XBOX
234222312Sadriandevice		xboxfb
235222312Sadrian
236222312Sadrian
237222312Sadrian#####################################################################
238222312Sadrian# NETWORKING OPTIONS
239222312Sadrian
240222312Sadrian#
241222312Sadrian# DEVICE_POLLING adds support for mixed interrupt-polling handling
242222312Sadrian# of network device drivers, which has significant benefits in terms
243222312Sadrian# of robustness to overloads and responsivity, as well as permitting
244222312Sadrian# accurate scheduling of the CPU time between kernel network processing
245222312Sadrian# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
246222312Sadrian# potential increase in response times.
247222312Sadrian# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
248222312Sadrian# to achieve smoother behaviour.
249222312Sadrian# Additionally, you can enable/disable polling at runtime with help of
250222312Sadrian# the ifconfig(8) utility, and select the CPU fraction reserved to
251222312Sadrian# userland with the sysctl variable kern.polling.user_frac
252222312Sadrian# (default 50, range 0..100).
253222312Sadrian#
254222312Sadrian# Not all device drivers support this mode of operation at the time of
255222312Sadrian# this writing.  See polling(4) for more details.
256222312Sadrian
257222312Sadrianoptions 	DEVICE_POLLING
258222312Sadrian
259222312Sadrian# BPF_JITTER adds support for BPF just-in-time compiler.
260222312Sadrian
261222312Sadrianoptions 	BPF_JITTER
262222312Sadrian
263222312Sadrian# OpenFabrics Enterprise Distribution (Infiniband).
264222312Sadrianoptions 	OFED
265222312Sadrianoptions 	OFED_DEBUG_INIT
266222312Sadrian
267222312Sadrian# Sockets Direct Protocol
268222312Sadrianoptions 	SDP
269222312Sadrianoptions 	SDP_DEBUG
270222312Sadrian
271222312Sadrian# IP over Infiniband
272222312Sadrianoptions 	IPOIB
273222312Sadrianoptions 	IPOIB_DEBUG
274222312Sadrianoptions 	IPOIB_CM
275222312Sadrian
276222312Sadrian
277222312Sadrian#####################################################################
278222312Sadrian# CLOCK OPTIONS
279222312Sadrian
280222312Sadrian# Provide read/write access to the memory in the clock chip.
281222312Sadriandevice		nvram		# Access to rtc cmos via /dev/nvram
282222312Sadrian
283222312Sadrian
284222312Sadrian#####################################################################
285222312Sadrian# MISCELLANEOUS DEVICES AND OPTIONS
286222312Sadrian
287222312Sadriandevice		speaker		#Play IBM BASIC-style noises out your speaker
288222312Sadrianhint.speaker.0.at="isa"
289222312Sadrianhint.speaker.0.port="0x61"
290222312Sadriandevice		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
291222312Sadriandevice		apm_saver	# Requires APM
292222312Sadrian
293222312Sadrian
294222312Sadrian#####################################################################
295222312Sadrian# HARDWARE BUS CONFIGURATION
296222312Sadrian
297222312Sadrian#
298222312Sadrian# ISA bus
299222312Sadrian#
300222312Sadriandevice		isa		# Required by npx(4)
301222312Sadrian
302222312Sadrian#
303222312Sadrian# Options for `isa':
304222312Sadrian#
305222312Sadrian# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
306222312Sadrian# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
307222312Sadrian# This option breaks suspend/resume on some portables.
308222312Sadrian#
309222312Sadrian# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
310222312Sadrian# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
311222310Sadrian# Automatic EOI is documented not to work for for the slave with the
312222312Sadrian# original i8259A, but it works for some clones and some integrated
313222312Sadrian# versions.
314222312Sadrian#
315222312Sadrian# MAXMEM specifies the amount of RAM on the machine; if this is not
316222312Sadrian# specified, FreeBSD will first read the amount of memory from the CMOS
317222312Sadrian# RAM, so the amount of memory will initially be limited to 64MB or 16MB
318222312Sadrian# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
319222310Sadrian# then attempt to detect the installed amount of RAM.  If this probe
320222310Sadrian# fails to detect >64MB RAM you will have to use the MAXMEM option.
321222312Sadrian# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
322222312Sadrian# be 131072 (128 * 1024).
323222310Sadrian#
324222310Sadrian# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
325222310Sadrian# reset the CPU for reboot.  This is needed on some systems with broken
326222310Sadrian# keyboard controllers.
327222301Sadrian
328222301Sadrianoptions 	AUTO_EOI_1
329222301Sadrian#options 	AUTO_EOI_2
330222301Sadrian
331222310Sadrianoptions 	MAXMEM=(128*1024)
332237184Sadrian#options 	BROKEN_KEYBOARD_RESET
333222308Sadrian
334222310Sadrian#
335222310Sadrian# EISA bus
336237184Sadrian#
337237184Sadrian# The EISA bus device is `eisa'.  It provides auto-detection and
338237184Sadrian# configuration support for all devices on the EISA bus.
339237184Sadrian
340222308Sadriandevice		eisa
341237184Sadrian
342237184Sadrian# By default, only 10 EISA slots are probed, since the slot numbers
343237184Sadrian# above clash with the configuration address space of the PCI subsystem,
344237184Sadrian# and the EISA probe is not very smart about this.  This is sufficient
345237184Sadrian# for most machines, but in particular the HP NetServer LC series comes
346222310Sadrian# with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
347222310Sadrian# thus you need to bump this figure to 12 for them.
348222310Sadrianoptions 	EISA_SLOTS=12
349222310Sadrian
350222310Sadrian#
351222310Sadrian# MCA bus:
352222310Sadrian#
353222310Sadrian# The MCA bus device is `mca'.  It provides auto-detection and
354237184Sadrian# configuration support for all devices on the MCA bus.
355237184Sadrian# No hints are required for MCA.
356222310Sadrian
357222310Sadriandevice		mca
358222310Sadrian
359222310Sadrian#
360222310Sadrian# PCI bus & PCI options:
361222310Sadrian#
362222310Sadriandevice		pci
363222308Sadrian
364222312Sadrian#
365237184Sadrian# AGP GART support
366237184Sadriandevice		agp
367237184Sadrian
368222310Sadrian# AGP debugging.
369222310Sadrianoptions 	AGP_DEBUG
370222310Sadrian
371222310Sadrian
372222308Sadrian#####################################################################
373222310Sadrian# HARDWARE DEVICE CONFIGURATION
374222308Sadrian
375222308Sadrian# To include support for VGA VESA video modes
376222310Sadrianoptions 	VESA
377222310Sadrian
378222310Sadrian# Turn on extra debugging checks and output for VESA support.
379222308Sadrianoptions 	VESA_DEBUG
380222310Sadrian
381222310Sadriandevice		dpms		# DPMS suspend & resume via VESA BIOS
382222308Sadrian
383222310Sadrian# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
384222310Sadrianoptions 	X86BIOS
385222310Sadrian
386222308Sadrian#
387222310Sadrian# The Numeric Processing eXtension driver.  This is non-optional.
388222310Sadriandevice		npx
389222310Sadrianhint.npx.0.flags="0x0"
390222310Sadrianhint.npx.0.irq="13"
391222310Sadrian
392222310Sadrian#
393222310Sadrian# `flags' for npx0:
394222310Sadrian#	0x01	don't use the npx registers to optimize bcopy.
395222310Sadrian#	0x02	don't use the npx registers to optimize bzero.
396222310Sadrian#	0x04	don't use the npx registers to optimize copyin or copyout.
397222310Sadrian# The npx registers are normally used to optimize copying and zeroing when
398222310Sadrian# all of the following conditions are satisfied:
399222310Sadrian#	I586_CPU is an option
400222310Sadrian#	the cpu is an i586 (perhaps not a Pentium)
401222310Sadrian#	the probe for npx0 succeeds
402222310Sadrian#	INT 16 exception handling works.
403222310Sadrian# Then copying and zeroing using the npx registers is normally 30-100% faster.
404222310Sadrian# The flags can be used to control cases where it doesn't work or is slower.
405222310Sadrian# Setting them at boot time using hints works right (the optimizations
406222310Sadrian# are not used until later in the bootstrap when npx0 is attached).
407222310Sadrian# Flag 0x08 automatically disables the i586 optimized routines.
408222310Sadrian#
409222310Sadrian
410222310Sadrian#
411222310Sadrian# Optional devices:
412222310Sadrian#
413222310Sadrian
414222310Sadrian# PS/2 mouse
415222310Sadriandevice		psm
416222310Sadrianhint.psm.0.at="atkbdc"
417222310Sadrianhint.psm.0.irq="12"
418222310Sadrian
419222310Sadrian# Options for psm:
420222310Sadrianoptions 	PSM_HOOKRESUME		#hook the system resume event, useful
421222310Sadrian					#for some laptops
422222310Sadrianoptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
423222310Sadrian
424222310Sadrian# The keyboard controller; it controls the keyboard and the PS/2 mouse.
425222310Sadriandevice		atkbdc
426222310Sadrianhint.atkbdc.0.at="isa"
427222301Sadrianhint.atkbdc.0.port="0x060"
428222310Sadrian
429222310Sadrian# The AT keyboard
430222301Sadriandevice		atkbd
431222301Sadrianhint.atkbd.0.at="atkbdc"
432222301Sadrianhint.atkbd.0.irq="1"
433222301Sadrian
434222301Sadrian# Options for atkbd:
435222301Sadrianoptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
436222301Sadrianmakeoptions	ATKBD_DFLT_KEYMAP=jp.106
437222301Sadrian
438222301Sadrian# `flags' for atkbd:
439222301Sadrian#       0x01    Force detection of keyboard, else we always assume a keyboard
440222301Sadrian#       0x02    Don't reset keyboard, useful for some newer ThinkPads
441222301Sadrian#	0x03	Force detection and avoid reset, might help with certain
442222301Sadrian#		dockingstations
443222301Sadrian#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
444222301Sadrian
445222301Sadrian# Video card driver for VGA adapters.
446222301Sadriandevice		vga
447222301Sadrianhint.vga.0.at="isa"
448222301Sadrian
449222301Sadrian# Options for vga:
450222301Sadrian# Try the following option if the mouse pointer is not drawn correctly
451222301Sadrian# or font does not seem to be loaded properly.  May cause flicker on
452222301Sadrian# some systems.
453222301Sadrianoptions 	VGA_ALT_SEQACCESS
454222301Sadrian
455222301Sadrian# If you can dispense with some vga driver features, you may want to
456222301Sadrian# use the following options to save some memory.
457222301Sadrian#options 	VGA_NO_FONT_LOADING	# don't save/load font
458222301Sadrian#options 	VGA_NO_MODE_CHANGE	# don't change video modes
459222301Sadrian
460222301Sadrian# Older video cards may require this option for proper operation.
461222301Sadrianoptions 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
462222301Sadrian
463222301Sadrian# The following option probably won't work with the LCD displays.
464222301Sadrianoptions 	VGA_WIDTH90		# support 90 column modes
465222301Sadrian
466222301Sadrian# Debugging.
467222301Sadrianoptions 	VGA_DEBUG
468222301Sadrian
469222301Sadrian# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
470222301Sadriandevice		s3pci
471222301Sadrian
472222301Sadrian# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
473222301Sadrian# the /dev/3dfx0 device to work with glide implementations.  This should get
474222301Sadrian# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
475222301Sadrian# the tdfx DRI module from XFree86 and is completely unrelated.
476222301Sadrian#
477222301Sadrian# To enable Linuxulator support, one must also include COMPAT_LINUX in the
478222301Sadrian# config as well.  The other option is to load both as modules.
479222301Sadrian
480237184Sadriandevice		tdfx			# Enable 3Dfx Voodoo support
481237184Sadriandevice		tdfx_linux		# Enable Linuxulator support
482222301Sadrian
483222301Sadrian#
484222301Sadrian# ACPI support using the Intel ACPI Component Architecture reference
485222301Sadrian# implementation.
486222301Sadrian#
487222301Sadrian# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
488222301Sadrian# kernel environment variables to select initial debugging levels for the
489222301Sadrian# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
490222301Sadrian# defined when it is built).
491222301Sadrian
492222301Sadriandevice		acpi
493222301Sadrianoptions 	ACPI_DEBUG
494222301Sadrianoptions 	ACPI_DMAR
495222301Sadrian
496222301Sadrian# ACPI WMI Mapping driver
497222301Sadriandevice		acpi_wmi
498222301Sadrian
499222301Sadrian# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
500222301Sadriandevice		acpi_asus
501222301Sadrian
502222301Sadrian# ACPI Fujitsu Extras (Buttons)
503222301Sadriandevice		acpi_fujitsu
504222301Sadrian
505222301Sadrian# ACPI extras driver for HP laptops
506222301Sadriandevice		acpi_hp
507222301Sadrian
508222301Sadrian# ACPI extras driver for IBM laptops
509222301Sadriandevice		acpi_ibm
510222301Sadrian
511222301Sadrian# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
512222301Sadriandevice		acpi_panasonic
513222301Sadrian
514222301Sadrian# ACPI Sony extra (LCD brightness)
515222301Sadriandevice		acpi_sony
516222301Sadrian
517222301Sadrian# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
518222301Sadriandevice		acpi_toshiba
519222301Sadrian
520222301Sadrian# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
521222301Sadriandevice		acpi_video
522222301Sadrian
523222301Sadrian# ACPI Docking Station
524222301Sadriandevice		acpi_dock
525222301Sadrian
526222301Sadrian# ACPI ASOC ATK0110 ASUSTeK AI Booster (voltage, temperature and fan sensors)
527222301Sadriandevice		aibs
528222301Sadrian
529222301Sadrian# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
530222301Sadriandevice		cpufreq
531222301Sadrian
532222301Sadrian# Direct Rendering modules for 3D acceleration.
533222301Sadriandevice		drm		# DRM core module required by DRM drivers
534222301Sadriandevice		i915drm		# Intel i830 through i915
535222301Sadriandevice		mach64drm	# ATI Rage Pro, Rage Mobility P/M, Rage XL
536222301Sadriandevice		mgadrm		# AGP Matrox G200, G400, G450, G550
537222301Sadriandevice		r128drm		# ATI Rage 128
538222301Sadriandevice		radeondrm	# ATI Radeon
539222301Sadriandevice		savagedrm	# S3 Savage3D, Savage4
540222301Sadriandevice		sisdrm		# SiS 300/305, 540, 630
541222301Sadriandevice		tdfxdrm		# 3dfx Voodoo 3/4/5 and Banshee
542222301Sadriandevice		viadrm		# VIA
543237184Sadrianoptions 	DRM_DEBUG	# Include debug printfs (slow)
544237184Sadrian
545222301Sadrian#
546222301Sadrian# mse: Logitech and ATI InPort bus mouse ports
547222301Sadrian
548222301Sadriandevice		mse
549222301Sadrianhint.mse.0.at="isa"
550222301Sadrianhint.mse.0.port="0x23c"
551222301Sadrianhint.mse.0.irq="5"
552222301Sadrian
553222301Sadrian#
554222301Sadrian# Network interfaces:
555222301Sadrian#
556222301Sadrian
557222301Sadrian# bxe:  Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet
558222301Sadrian#       adapters.
559222301Sadrian# ce:   Cronyx Tau-PCI/32 sync single/dual port G.703/E1 serial adaptor
560237184Sadrian#       with 32 HDLC subchannels (requires sppp (default), or NETGRAPH if
561222301Sadrian#       NETGRAPH_CRONYX is configured)
562222301Sadrian# cp:   Cronyx Tau-PCI sync single/dual/four port
563222301Sadrian#       V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1
564222301Sadrian#       serial adaptor (requires sppp (default), or NETGRAPH if
565222301Sadrian#       NETGRAPH_CRONYX is configured)
566222301Sadrian# cs:   IBM Etherjet and other Crystal Semi CS89x0-based adapters
567222301Sadrian# ctau: Cronyx Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1
568222301Sadrian#       serial adaptor (requires sppp (default), or NETGRAPH if
569222301Sadrian#       NETGRAPH_CRONYX is configured)
570222301Sadrian# ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
571222301Sadrian#       HP PC Lan+, various PC Card devices
572#       (requires miibus)
573# ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
574#       Intel EtherExpress
575# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
576# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
577#	Requires the iwi firmware module
578# iwn:	Intel Wireless WiFi Link 4965AGN 802.11 network adapters
579#	Requires the iwn firmware module
580# mlx4ib: Mellanox ConnectX HCA InfiniBand
581# mlxen: Mellanox ConnectX HCA Ethernet
582# mthca: Mellanox HCA InfiniBand
583# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
584# nve:	nVidia nForce MCP on-board Ethernet Networking
585# sbni: Granch SBNI12-xx ISA and PCI adapters
586# vmx:	VMware VMXNET3 Ethernet (BSD open source)
587# wl:   Lucent Wavelan (ISA card only).
588# wpi:	Intel 3945ABG Wireless LAN controller
589#	Requires the wpi firmware module
590
591# Order for ISA/EISA devices is important here
592
593device          bxe             # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
594device		ce
595device		cp
596device		cs		# Crystal Semiconductor CS89x0 NIC
597hint.cs.0.at="isa"
598hint.cs.0.port="0x300"
599device		ctau
600hint.ctau.0.at="isa"
601hint.ctau.0.port="0x240"
602hint.ctau.0.irq="15"
603hint.ctau.0.drq="7"
604#options 	NETGRAPH_CRONYX		# Enable NETGRAPH support for Cronyx adapter(s)
605device		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
606options 	ED_3C503
607options 	ED_HPP
608options 	ED_SIC
609hint.ed.0.at="isa"
610hint.ed.0.port="0x280"
611hint.ed.0.irq="5"
612hint.ed.0.maddr="0xd8000"
613device		ie		# EtherExpress 8/16, 3C507, StarLAN 10 etc.
614# Hints only required for Starlan
615hint.ie.2.at="isa"
616hint.ie.2.port="0x300"
617hint.ie.2.irq="5"
618hint.ie.2.maddr="0xd0000"
619device		ipw		# Intel 2100 wireless NICs.
620device		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
621device		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
622# Hint for the i386-only ISA front-end of le(4).
623hint.le.0.at="isa"
624hint.le.0.port="0x280"
625hint.le.0.irq="10"
626hint.le.0.drq="0"
627device  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
628device  	mlxen		# Mellanox ConnectX HCA Ethernet
629device  	mthca		# Mellanox HCA InfiniBand
630device		nfe		# nVidia nForce MCP on-board Ethernet
631device		nve		# nVidia nForce MCP on-board Ethernet Networking
632device		sbni
633hint.sbni.0.at="isa"
634hint.sbni.0.port="0x210"
635hint.sbni.0.irq="0xefdead"
636hint.sbni.0.flags="0"
637device		vmx		# VMware VMXNET3 Ethernet
638device		wl
639hint.wl.0.at="isa"
640hint.wl.0.port="0x300"
641options 	WLCACHE		# enables the signal-strength cache
642options 	WLDEBUG		# enables verbose debugging output
643device		wpi		# Intel 3945ABG wireless NICs.
644
645# IEEE 802.11 adapter firmware modules
646
647# Intel PRO/Wireless 2100 firmware:
648#   ipwfw:		BSS/IBSS/monitor mode firmware
649#   ipwbssfw:		BSS mode firmware
650#   ipwibssfw:		IBSS mode firmware
651#   ipwmonitorfw:	Monitor mode firmware
652# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
653#   iwifw:		BSS/IBSS/monitor mode firmware
654#   iwibssfw:		BSS mode firmware
655#   iwiibssfw:		IBSS mode firmware
656#   iwimonitorfw:	Monitor mode firmware
657# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
658#   iwnfw:		Single module to support the 4965/1000/5000/5150/6000
659#   iwn4965fw:		Specific module for the 4965 only
660#   iwn1000fw:		Specific module for the 1000 only
661#   iwn5000fw:		Specific module for the 5000 only
662#   iwn5150fw:		Specific module for the 5150 only
663#   iwn6000fw:		Specific module for the 6000 only
664#   iwn6050fw:		Specific module for the 6050 only
665# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
666
667device		iwifw
668device		iwibssfw
669device		iwiibssfw
670device		iwimonitorfw
671device		ipwfw
672device		ipwbssfw
673device		ipwibssfw
674device		ipwmonitorfw
675device		iwnfw
676device		iwn4965fw
677device		iwn1000fw
678device		iwn5000fw
679device		iwn5150fw
680device		iwn6000fw
681device		iwn6050fw
682device		wpifw
683
684#
685# ATA raid adapters
686#
687device		pst
688
689#
690# Areca 11xx and 12xx series of SATA II RAID controllers.
691# CAM is required.
692#
693device		arcmsr		# Areca SATA II RAID
694
695#
696# 3ware 9000 series PATA/SATA RAID controller driver and options.
697# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
698#
699options 	TWA_DEBUG		# 0-10; 10 prints the most messages.
700options 	TWA_FLASH_FIRMWARE	# firmware image bundled when defined.
701device		twa			# 3ware 9000 series PATA/SATA RAID
702
703#
704# SCSI host adapters:
705#
706# ncv: NCR 53C500 based SCSI host adapters.
707# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
708# stg: TMC 18C30, 18C50 based SCSI host adapters.
709
710device		ncv
711device		nsp
712device		stg
713hint.stg.0.at="isa"
714hint.stg.0.port="0x140"
715hint.stg.0.port="11"
716
717#
718# Adaptec FSA RAID controllers, including integrated DELL controllers,
719# the Dell PERC 2/QC and the HP NetRAID-4M
720device		aac
721device		aacp	# SCSI Passthrough interface (optional, CAM required)
722
723#
724# Adaptec by PMC RAID controllers, Series 6/7/8 and upcoming families
725device		aacraid		# Container interface, CAM required
726
727# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
728# controllers (SmartRAID V and VI and later).
729# These controllers require the CAM infrastructure.
730#
731device		asr
732
733#
734# Highpoint RocketRAID 27xx.
735device		hpt27xx
736
737#
738# Highpoint RocketRAID 182x.
739device		hptmv
740
741#
742# Highpoint DC7280 and R750.
743device		hptnr
744
745#
746# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
747# RR2210, RR174x, RR2522, RR231x, RR230x.
748device		hptrr
749
750#
751# Highpoint RocketRaid 3xxx series SATA RAID
752device		hptiop
753
754#
755# IBM (now Adaptec) ServeRAID controllers
756device		ips
757
758#
759# Intel C600 (Patsburg) integrated SAS controller
760device		isci
761options 	ISCI_LOGGING	# enable debugging in isci HAL
762
763#
764# NVM Express (NVMe) support
765device         nvme    # base NVMe driver
766device         nvd     # expose NVMe namespaces as disks, depends on nvme
767
768#
769# SafeNet crypto driver: can be moved to the MI NOTES as soon as
770# it's tested on a big-endian machine
771#
772device		safe		# SafeNet 1141
773options 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
774options 	SAFE_RNDTEST	# enable rndtest support
775
776#
777# glxiic is an I2C driver for the AMD Geode LX CS5536 System Management Bus
778# controller.  Requires 'device iicbus'.
779#
780device		glxiic		# AMD Geode LX CS5536 System Management Bus
781
782#
783# glxsb is a driver for the Security Block in AMD Geode LX processors.
784# Requires 'device crypto'.
785#
786device		glxsb		# AMD Geode LX Security Block
787
788#
789# VirtIO support
790#
791# The virtio entry provides a generic bus for use by the device drivers.
792# It must be combined with an interface that communicates with the host.
793# Multiple such interfaces defined by the VirtIO specification. FreeBSD
794# only has support for PCI. Therefore, virtio_pci must be statically
795# compiled in or loaded as a module for the device drivers to function.
796#
797device		virtio		# Generic VirtIO bus (required)
798device		virtio_pci	# VirtIO PCI Interface
799device		vtnet		# VirtIO Ethernet device
800device		virtio_blk	# VirtIO Block device
801device		virtio_scsi	# VirtIO SCSI device
802device		virtio_balloon	# VirtIO Memory Balloon device
803device		virtio_random	# VirtIO Entropy device
804device		virtio_console	# VirtIO Console device
805
806device 		hyperv		# HyperV drivers
807
808#####################################################################
809
810#
811# Miscellaneous hardware:
812#
813# apm: Laptop Advanced Power Management (experimental)
814# ipmi: Intelligent Platform Management Interface
815# smapi: System Management Application Program Interface driver
816# smbios: DMI/SMBIOS entry point
817# vpd: Vital Product Data kernel interface
818# pmtimer: Adjust system timer at wakeup time
819# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
820# spic: Sony Programmable I/O controller (VAIO notebooks)
821# asmc: Apple System Management Controller
822# si: Specialix International SI/XIO or SX intelligent serial card driver
823# tpm: Trusted Platform Module
824
825# Notes on APM
826#  The flags takes the following meaning for apm0:
827#    0x0020  Statclock is broken.
828
829# Notes on the Specialix SI/XIO driver:
830#  The host card is memory, not IO mapped.
831#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
832#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
833#  The cards can use an IRQ of 11, 12 or 15.
834
835# Notes on the Sony Programmable I/O controller
836#  This is a temporary driver that should someday be replaced by something
837#  that hooks into the ACPI layer.  The device is hooked to the PIIX4's
838#  General Device 10 decoder, which means you have to fiddle with PCI
839#  registers to map it in, even though it is otherwise treated here as
840#  an ISA device.  At the moment, the driver polls, although the device
841#  is capable of generating interrupts.  It largely undocumented.
842#  The port location in the hint is where you WANT the device to be
843#  mapped.  0x10a0 seems to be traditional.  At the moment the jogdial
844#  is the only thing truly supported, but apparently a fair percentage
845#  of the Vaio extra features are controlled by this device.
846
847device		apm
848hint.apm.0.flags="0x20"
849device		ipmi
850device		smapi
851device		smbios
852device		vpd
853device		pmtimer
854device		pbio
855hint.pbio.0.at="isa"
856hint.pbio.0.port="0x360"
857device		spic
858hint.spic.0.at="isa"
859hint.spic.0.port="0x10a0"
860device		asmc
861#device		si
862device		tpm
863device		padlock_rng	# VIA Padlock RNG
864device		rdrand_rng	# Intel Bull Mountain RNG
865device		aesni		# AES-NI OpenCrypto module
866
867#
868# Laptop/Notebook options:
869#
870# See also:
871#  apm under `Miscellaneous hardware'
872# above.
873
874# For older notebooks that signal a powerfail condition (external
875# power supply dropped, or battery state low) by issuing an NMI:
876
877options 	POWERFAIL_NMI	# make it beep instead of panicing
878
879#
880# I2C Bus
881#
882# Philips i2c bus support is provided by the `iicbus' device.
883#
884# Supported interfaces:
885# pcf	Philips PCF8584 ISA-bus controller
886#
887device		pcf
888hint.pcf.0.at="isa"
889hint.pcf.0.port="0x320"
890hint.pcf.0.irq="5"
891
892#
893# Hardware watchdog timers:
894#
895# ichwd: Intel ICH watchdog timer
896# amdsbwd: AMD SB7xx watchdog timer
897# viawd: VIA south bridge watchdog timer
898# wbwd: Winbond watchdog timer
899#
900device		ichwd
901device		amdsbwd
902device		viawd
903device		wbwd
904
905#
906# Temperature sensors:
907#
908# coretemp: on-die sensor on Intel Core and newer CPUs
909# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
910#
911device		coretemp
912device		amdtemp
913
914#
915# CPU control pseudo-device. Provides access to MSRs, CPUID info and
916# microcode update feature.
917#
918device		cpuctl
919
920#
921# System Management Bus (SMB)
922#
923options 	ENABLE_ALART		# Control alarm on Intel intpm driver
924
925#
926# Set the number of PV entries per process.  Increasing this can
927# stop panics related to heavy use of shared memory.  However, that can
928# (combined with large amounts of physical memory) cause panics at
929# boot time due the kernel running out of VM space.
930#
931# If you're tweaking this, you might also want to increase the sysctls
932# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
933#
934# The value below is the one more than the default.
935#
936options 	PMAP_SHPGPERPROC=201
937
938#
939# Change the size of the kernel virtual address space.  Due to
940# constraints in loader(8) on i386, this must be a multiple of 4.
941# 256 = 1 GB of kernel address space.  Increasing this also causes
942# a reduction of the address space in user processes.  512 splits
943# the 4GB cpu address space in half (2GB user, 2GB kernel).  For PAE
944# kernels, the value will need to be double non-PAE.  A value of 1024
945# for PAE kernels is necessary to split the address space in half.
946# This will likely need to be increased to handle memory sizes >4GB.
947# PAE kernels default to a value of 512.
948#
949options 	KVA_PAGES=260
950
951#
952# Number of initial kernel page table pages used for early bootstrap.
953# This number should include enough pages to map the kernel, any
954# modules or other data loaded with the kernel by the loader, and data
955# structures allocated before the VM system is initialized such as the
956# vm_page_t array.  Each page table page maps 4MB (2MB with PAE).
957#
958options 	NKPT=31
959
960
961#####################################################################
962# ABI Emulation
963
964# Enable iBCS2 runtime support for SCO and ISC binaries
965options 	IBCS2
966
967# Emulate spx device for client side of SVR3 local X interface
968options 	SPX_HACK
969
970# Enable Linux ABI emulation
971options 	COMPAT_LINUX
972
973# Enable i386 a.out binary support
974options 	COMPAT_AOUT
975
976# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
977# and PSEUDOFS)
978options 	LINPROCFS
979
980#Enable the linux-like sys filesystem support (requires COMPAT_LINUX
981# and PSEUDOFS)
982options 	LINSYSFS
983
984#
985# SysVR4 ABI emulation
986#
987# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
988# a KLD module.
989# The STREAMS network emulation code can also be compiled statically or as a
990# module.  If loaded as a module, it must be loaded before the svr4 module
991# (the /usr/sbin/svr4 script does this for you).  If compiling statically,
992# the `streams' device must be configured into any kernel which also
993# specifies COMPAT_SVR4.  It is possible to have a statically-configured
994# STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
995# script understands that it doesn't need to load the `streams' module under
996# those circumstances.
997# Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
998# (whether static or dynamic).
999#
1000options 	COMPAT_SVR4	# build emulator statically
1001options 	DEBUG_SVR4	# enable verbose debugging
1002device		streams		# STREAMS network driver (required for svr4).
1003
1004# Enable NDIS binary driver support
1005options 	NDISAPI
1006device		ndis
1007
1008# Linux-specific pseudo devices support
1009device		lindev
1010
1011
1012#####################################################################
1013# VM OPTIONS
1014
1015# Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
1016# kernel to use 4 MByte pages to map the kernel instead of 4k pages.
1017# This saves on the amount of memory needed for page tables needed to
1018# map the kernel.  You should only disable this feature as a temporary
1019# workaround if you are having problems with it enabled.
1020#
1021#options 	DISABLE_PSE
1022
1023# Disable the global pages PGE CPU feature.  The PGE feature allows pages
1024# to be marked with the PG_G bit.  TLB entries for these pages are not
1025# flushed from the cache when %cr3 is reloaded.  This can make context
1026# switches less expensive.  You should only disable this feature as a
1027# temporary workaround if you are having problems with it enabled.
1028#
1029#options 	DISABLE_PG_G
1030
1031# KSTACK_PAGES is the number of memory pages to assign to the kernel
1032# stack of each thread.
1033
1034options 	KSTACK_PAGES=3
1035
1036# Enable detailed accounting by the PV entry allocator.
1037
1038options 	PV_STATS
1039
1040#####################################################################
1041
1042# More undocumented options for linting.
1043# Note that documenting these are not considered an affront.
1044
1045options 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
1046
1047options 	I586_PMC_GUPROF=0x70000
1048options 	KBDIO_DEBUG=2
1049options 	KBD_MAXRETRY=4
1050options 	KBD_MAXWAIT=6
1051options 	KBD_RESETDELAY=201
1052
1053options 	PSM_DEBUG=1
1054
1055options 	TIMER_FREQ=((14318182+6)/12)
1056
1057options 	VM_KMEM_SIZE
1058options 	VM_KMEM_SIZE_MAX
1059options 	VM_KMEM_SIZE_SCALE
1060
1061
1062# asr old ioctls support, needed by raidutils
1063
1064options 	ASR_COMPAT
1065
1066# Module to enable execution of application via emulators like QEMU
1067options         IMAGACT_BINMISC
1068