xref: /freebsd/sys/x86/conf/NOTES (revision daad0b6501359fefa0ee6065646508187e9dfbb0)
10d89c934SWarner Losh#
20d89c934SWarner Losh
30d89c934SWarner Losh# Common NOTES between i386 and amd64
40d89c934SWarner Losh
5*daad0b65SKristof Provost#
6*daad0b65SKristof Provost# Enable the kernel DTrace hooks which are required to load the DTrace
7*daad0b65SKristof Provost# kernel modules.
8*daad0b65SKristof Provost#
9*daad0b65SKristof Provost#options 	KDTRACE_HOOKS
10*daad0b65SKristof Provost
111f38677bSJohn Baldwin# DTrace core
121f38677bSJohn Baldwin# NOTE: introduces CDDL-licensed components into the kernel
131f38677bSJohn Baldwin#device		dtrace
141f38677bSJohn Baldwin
151f38677bSJohn Baldwin# DTrace modules
161f38677bSJohn Baldwin#device		dtrace_profile
171f38677bSJohn Baldwin#device		dtrace_sdt
181f38677bSJohn Baldwin#device		dtrace_fbt
191f38677bSJohn Baldwin#device		dtrace_systrace
201f38677bSJohn Baldwin#device		dtrace_prototype
211f38677bSJohn Baldwin#device		dtnfscl
221f38677bSJohn Baldwin#device		dtmalloc
231f38677bSJohn Baldwin
241f38677bSJohn Baldwin# Alternatively include all the DTrace modules
251f38677bSJohn Baldwin#device		dtraceall
261f38677bSJohn Baldwin
271f38677bSJohn Baldwin
281f38677bSJohn Baldwin#####################################################################
291f38677bSJohn Baldwin# SMP OPTIONS:
301f38677bSJohn Baldwin#
311f38677bSJohn Baldwin# Notes:
321f38677bSJohn Baldwin#
331f38677bSJohn Baldwin# IPI_PREEMPTION instructs the kernel to preempt threads running on other
341f38677bSJohn Baldwin# CPUS if needed.  Relies on the PREEMPTION option
351f38677bSJohn Baldwin
361f38677bSJohn Baldwin# Optional:
371f38677bSJohn Baldwinoptions 	IPI_PREEMPTION
381f38677bSJohn Baldwin
391f38677bSJohn Baldwin# Debugging options.
401f38677bSJohn Baldwin#
411f38677bSJohn Baldwinoptions 	COUNT_XINVLTLB_HITS	# Counters for TLB events
421f38677bSJohn Baldwinoptions 	COUNT_IPIS		# Per-CPU IPI interrupt counters
431f38677bSJohn Baldwin
440d89c934SWarner Losh
450d89c934SWarner Losh#####################################################################
460d89c934SWarner Losh# COMPATIBILITY OPTIONS
470d89c934SWarner Losh
4899e1c5abSWarner Losh# Implement system calls compatible with 4.3BSD and FreeBSD 1.x,
4999e1c5abSWarner Losh# and 2.x a.out binaries. Not needed for ELF binaries, or newer
5099e1c5abSWarner Losh# a.out binaries.
510d89c934SWarner Loshoptions 	COMPAT_43
5299e1c5abSWarner Losh
5399e1c5abSWarner Losh
5499e1c5abSWarner Losh#####################################################################
551f38677bSJohn Baldwin# NETWORKING OPTIONS
561f38677bSJohn Baldwin
571f38677bSJohn Baldwin#
581f38677bSJohn Baldwin# DEVICE_POLLING adds support for mixed interrupt-polling handling
591f38677bSJohn Baldwin# of network device drivers, which has significant benefits in terms
601f38677bSJohn Baldwin# of robustness to overloads and responsivity, as well as permitting
611f38677bSJohn Baldwin# accurate scheduling of the CPU time between kernel network processing
621f38677bSJohn Baldwin# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
631f38677bSJohn Baldwin# potential increase in response times.
641f38677bSJohn Baldwin# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
651f38677bSJohn Baldwin# to achieve smoother behaviour.
661f38677bSJohn Baldwin# Additionally, you can enable/disable polling at runtime with help of
671f38677bSJohn Baldwin# the ifconfig(8) utility, and select the CPU fraction reserved to
681f38677bSJohn Baldwin# userland with the sysctl variable kern.polling.user_frac
691f38677bSJohn Baldwin# (default 50, range 0..100).
701f38677bSJohn Baldwin#
711f38677bSJohn Baldwin# Not all device drivers support this mode of operation at the time of
721f38677bSJohn Baldwin# this writing.  See polling(4) for more details.
731f38677bSJohn Baldwin
741f38677bSJohn Baldwinoptions 	DEVICE_POLLING
751f38677bSJohn Baldwin
761f38677bSJohn Baldwin# BPF_JITTER adds support for BPF just-in-time compiler.
771f38677bSJohn Baldwin
781f38677bSJohn Baldwinoptions 	BPF_JITTER
791f38677bSJohn Baldwin
801f38677bSJohn Baldwin
811f38677bSJohn Baldwin#####################################################################
821f38677bSJohn Baldwin# CLOCK OPTIONS
831f38677bSJohn Baldwin
841f38677bSJohn Baldwin# Provide read/write access to the memory in the clock chip.
851f38677bSJohn Baldwindevice		nvram		# Access to rtc cmos via /dev/nvram
861f38677bSJohn Baldwin
871f38677bSJohn Baldwin
881f38677bSJohn Baldwin#####################################################################
891f38677bSJohn Baldwin# MISCELLANEOUS DEVICES AND OPTIONS
901f38677bSJohn Baldwin
911f38677bSJohn Baldwindevice		speaker		#Play IBM BASIC-style noises out your speaker
921f38677bSJohn Baldwinenvvar		hint.speaker.0.at="isa"
931f38677bSJohn Baldwinenvvar		hint.speaker.0.port="0x61"
941f38677bSJohn Baldwin
951f38677bSJohn Baldwin
961f38677bSJohn Baldwin#####################################################################
971f38677bSJohn Baldwin# HARDWARE BUS CONFIGURATION
981f38677bSJohn Baldwin
991f38677bSJohn Baldwinoptions 	IOMMU			# Enable IOMMU support
1001f38677bSJohn Baldwin
1011f38677bSJohn Baldwin#
1021f38677bSJohn Baldwin# ISA bus
1031f38677bSJohn Baldwin#
1041f38677bSJohn Baldwindevice		isa
1051f38677bSJohn Baldwin
1061f38677bSJohn Baldwin#
1071f38677bSJohn Baldwin# Options for `isa':
1081f38677bSJohn Baldwin#
1091f38677bSJohn Baldwin# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
1101f38677bSJohn Baldwin# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
1111f38677bSJohn Baldwin# This option breaks suspend/resume on some portables.
1121f38677bSJohn Baldwin#
1131f38677bSJohn Baldwin# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
1141f38677bSJohn Baldwin# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
1151f38677bSJohn Baldwin# Automatic EOI is documented not to work for the slave with the
1161f38677bSJohn Baldwin# original i8259A, but it works for some clones and some integrated
1171f38677bSJohn Baldwin# versions.
1181f38677bSJohn Baldwin#
1191f38677bSJohn Baldwin# MAXMEM specifies the amount of RAM on the machine; if this is not
1201f38677bSJohn Baldwin# specified, FreeBSD will first read the amount of memory from the CMOS
1211f38677bSJohn Baldwin# RAM, so the amount of memory will initially be limited to 64MB or 16MB
1221f38677bSJohn Baldwin# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
1231f38677bSJohn Baldwin# then attempt to detect the installed amount of RAM.  If this probe
1241f38677bSJohn Baldwin# fails to detect >64MB RAM you will have to use the MAXMEM option.
1251f38677bSJohn Baldwin# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
1261f38677bSJohn Baldwin# be 131072 (128 * 1024).
1271f38677bSJohn Baldwin#
1281f38677bSJohn Baldwin# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
1291f38677bSJohn Baldwin# reset the CPU for reboot.  This is needed on some systems with broken
1301f38677bSJohn Baldwin# keyboard controllers.
1311f38677bSJohn Baldwin
1321f38677bSJohn Baldwinoptions 	AUTO_EOI_1
1331f38677bSJohn Baldwin#options 	AUTO_EOI_2
1341f38677bSJohn Baldwin
1351f38677bSJohn Baldwinoptions 	MAXMEM=(128*1024)
1361f38677bSJohn Baldwin#options 	BROKEN_KEYBOARD_RESET
1371f38677bSJohn Baldwin
1381f38677bSJohn Baldwin#
1391f38677bSJohn Baldwin# AGP GART support
1401f38677bSJohn Baldwindevice		agp
1411f38677bSJohn Baldwin
1421f38677bSJohn Baldwin# AGP debugging.
1431f38677bSJohn Baldwinoptions 	AGP_DEBUG
1441f38677bSJohn Baldwin
1451f38677bSJohn Baldwin#
1461f38677bSJohn Baldwin# ACPI support using the Intel ACPI Component Architecture reference
1471f38677bSJohn Baldwin# implementation.
1481f38677bSJohn Baldwin#
1491f38677bSJohn Baldwin# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
1501f38677bSJohn Baldwin# kernel environment variables to select initial debugging levels for the
1511f38677bSJohn Baldwin# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
1521f38677bSJohn Baldwin# defined when it is built).
1531f38677bSJohn Baldwin
1541f38677bSJohn Baldwindevice		acpi
1551f38677bSJohn Baldwinoptions 	ACPI_DEBUG
1561f38677bSJohn Baldwin
1571f38677bSJohn Baldwin# ACPI WMI Mapping driver
1581f38677bSJohn Baldwindevice		acpi_wmi
1591f38677bSJohn Baldwin
1601f38677bSJohn Baldwin# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
1611f38677bSJohn Baldwindevice		acpi_asus
1621f38677bSJohn Baldwin
1631f38677bSJohn Baldwin# ACPI Fujitsu Extras (Buttons)
1641f38677bSJohn Baldwindevice		acpi_fujitsu
1651f38677bSJohn Baldwin
1661f38677bSJohn Baldwin# ACPI extras driver for HP laptops
1671f38677bSJohn Baldwindevice		acpi_hp
1681f38677bSJohn Baldwin
1691f38677bSJohn Baldwin# ACPI extras driver for IBM laptops
1701f38677bSJohn Baldwindevice		acpi_ibm
1711f38677bSJohn Baldwin
1721f38677bSJohn Baldwin# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
1731f38677bSJohn Baldwindevice		acpi_panasonic
1741f38677bSJohn Baldwin
17596f1dfc1SKristof Provost# ACPI SBL Firmware Update
17696f1dfc1SKristof Provostdevice		acpi_sbl_wmi
17796f1dfc1SKristof Provost
1781f38677bSJohn Baldwin# ACPI Sony extra (LCD brightness)
1791f38677bSJohn Baldwindevice		acpi_sony
1801f38677bSJohn Baldwin
1811f38677bSJohn Baldwin# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
1821f38677bSJohn Baldwindevice		acpi_toshiba
1831f38677bSJohn Baldwin
1841f38677bSJohn Baldwin# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
1851f38677bSJohn Baldwindevice		acpi_video
1861f38677bSJohn Baldwin
1871f38677bSJohn Baldwin# ACPI Docking Station
1881f38677bSJohn Baldwindevice		acpi_dock
1891f38677bSJohn Baldwin
1901f38677bSJohn Baldwin# ACPI ASOC ATK0110 ASUSTeK AI Booster (voltage, temperature and fan sensors)
1911f38677bSJohn Baldwindevice		aibs
1921f38677bSJohn Baldwin
1931f38677bSJohn Baldwin
1941f38677bSJohn Baldwin#####################################################################
19599e1c5abSWarner Losh# HARDWARE DEVICE CONFIGURATION
19699e1c5abSWarner Losh
1971f38677bSJohn Baldwin#
1981f38677bSJohn Baldwin# Optional devices:
1991f38677bSJohn Baldwin#
2001f38677bSJohn Baldwin
20199e1c5abSWarner Losh# The syscons console driver (SCO color console compatible).
20299e1c5abSWarner Loshdevice		sc
203f9ba2bbeSWarner Loshenvvar		hint.sc.0.at="isa"
20499e1c5abSWarner Loshoptions 	MAXCONS=16		# number of virtual consoles
20599e1c5abSWarner Loshoptions 	SC_ALT_MOUSE_IMAGE	# simplified mouse cursor in text mode
20699e1c5abSWarner Loshoptions 	SC_DFLT_FONT		# compile font in
20799e1c5abSWarner Loshmakeoptions	SC_DFLT_FONT=cp850
20899e1c5abSWarner Loshoptions 	SC_DFLT_TERM=\"sc\"	# default terminal emulator
20999e1c5abSWarner Loshoptions 	SC_DISABLE_KDBKEY	# disable `debug' key
21099e1c5abSWarner Loshoptions 	SC_DISABLE_REBOOT	# disable reboot key sequence
21199e1c5abSWarner Loshoptions 	SC_HISTORY_SIZE=200	# number of history buffer lines
21299e1c5abSWarner Loshoptions 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
21399e1c5abSWarner Loshoptions 	SC_PIXEL_MODE		# add support for the raster text mode
21499e1c5abSWarner Losh
21599e1c5abSWarner Losh# The following options will let you change the default colors of syscons.
21699e1c5abSWarner Loshoptions 	SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
21799e1c5abSWarner Loshoptions 	SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
21899e1c5abSWarner Loshoptions 	SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
21999e1c5abSWarner Loshoptions 	SC_KERNEL_CONS_ATTRS=\"\x0c\x0d\x0e\x0f\x02\x09\x0a\x0b\"
22099e1c5abSWarner Loshoptions 	SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
22199e1c5abSWarner Losh
22299e1c5abSWarner Losh# The following options will let you change the default behavior of
22399e1c5abSWarner Losh# cut-n-paste feature
22499e1c5abSWarner Loshoptions 	SC_CUT_SPACES2TABS	# convert leading spaces into tabs
22599e1c5abSWarner Loshoptions 	SC_CUT_SEPCHARS=\"x09\"	# set of characters that delimit words
22699e1c5abSWarner Losh					# (default is single space - \"x20\")
22799e1c5abSWarner Losh
22899e1c5abSWarner Losh# If you have a two button mouse, you may want to add the following option
22999e1c5abSWarner Losh# to use the right button of the mouse to paste text.
23099e1c5abSWarner Loshoptions 	SC_TWOBUTTON_MOUSE
23199e1c5abSWarner Losh
23299e1c5abSWarner Losh# You can selectively disable features in syscons.
23399e1c5abSWarner Loshoptions 	SC_NO_CUTPASTE
23499e1c5abSWarner Loshoptions 	SC_NO_FONT_LOADING
23599e1c5abSWarner Loshoptions 	SC_NO_HISTORY
23699e1c5abSWarner Loshoptions 	SC_NO_MODE_CHANGE
23799e1c5abSWarner Loshoptions 	SC_NO_SYSMOUSE
23899e1c5abSWarner Loshoptions 	SC_NO_SUSPEND_VTYSWITCH
23999e1c5abSWarner Losh#!options 	SC_NO_TERM_DUMB
24099e1c5abSWarner Losh#!options 	SC_NO_TERM_SC
24199e1c5abSWarner Losh#!options 	SC_NO_TERM_SCTEKEN
24299e1c5abSWarner Losh
24399e1c5abSWarner Losh# `flags' for sc
24499e1c5abSWarner Losh#	0x80	Put the video card in the VESA 800x600 dots, 16 color mode
24599e1c5abSWarner Losh#	0x100	Probe for a keyboard device periodically if one is not present
24699e1c5abSWarner Losh
24799e1c5abSWarner Losh# Splash screen and screen saver support
24899e1c5abSWarner Loshdevice		splash
24999e1c5abSWarner Losh
25099e1c5abSWarner Losh# Various screen savers.
25199e1c5abSWarner Loshdevice		blank_saver
25299e1c5abSWarner Loshdevice		daemon_saver
25399e1c5abSWarner Loshdevice		dragon_saver
25499e1c5abSWarner Loshdevice		fade_saver
25599e1c5abSWarner Loshdevice		fire_saver
25699e1c5abSWarner Loshdevice		green_saver
25799e1c5abSWarner Loshdevice		logo_saver
25899e1c5abSWarner Loshdevice		rain_saver
25999e1c5abSWarner Loshdevice		snake_saver
26099e1c5abSWarner Loshdevice		star_saver
26199e1c5abSWarner Loshdevice		warp_saver
26299e1c5abSWarner Losh
2631f38677bSJohn Baldwin# To include support for VGA VESA video modes
2641f38677bSJohn Baldwinoptions 	VESA
2651f38677bSJohn Baldwin
2661f38677bSJohn Baldwin# Turn on extra debugging checks and output for VESA support.
2671f38677bSJohn Baldwinoptions 	VESA_DEBUG
2681f38677bSJohn Baldwin
2691f38677bSJohn Baldwindevice		dpms		# DPMS suspend & resume via VESA BIOS
2701f38677bSJohn Baldwin
2711f38677bSJohn Baldwin# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
2721f38677bSJohn Baldwinoptions 	X86BIOS
2731f38677bSJohn Baldwin
2741f38677bSJohn Baldwin# PS/2 mouse
2751f38677bSJohn Baldwindevice		psm
2761f38677bSJohn Baldwinenvvar		hint.psm.0.at="atkbdc"
2771f38677bSJohn Baldwinenvvar		hint.psm.0.irq="12"
2781f38677bSJohn Baldwin
2791f38677bSJohn Baldwin# Options for psm:
2801f38677bSJohn Baldwinoptions 	PSM_HOOKRESUME		#hook the system resume event, useful
2811f38677bSJohn Baldwin					#for some laptops
2821f38677bSJohn Baldwinoptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
2831f38677bSJohn Baldwin
2841f38677bSJohn Baldwin# The keyboard controller; it controls the keyboard and the PS/2 mouse.
2851f38677bSJohn Baldwindevice		atkbdc
2861f38677bSJohn Baldwinenvvar		hint.atkbdc.0.at="isa"
2871f38677bSJohn Baldwinenvvar		hint.atkbdc.0.port="0x060"
2881f38677bSJohn Baldwin
2891f38677bSJohn Baldwin# The AT keyboard
2901f38677bSJohn Baldwindevice		atkbd
2911f38677bSJohn Baldwinenvvar		hint.atkbd.0.at="atkbdc"
2921f38677bSJohn Baldwinenvvar		hint.atkbd.0.irq="1"
2931f38677bSJohn Baldwin
2941f38677bSJohn Baldwin# Options for atkbd:
2951f38677bSJohn Baldwinoptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
2961f38677bSJohn Baldwinmakeoptions	ATKBD_DFLT_KEYMAP=fr.dvorak
2971f38677bSJohn Baldwin
2981f38677bSJohn Baldwin# `flags' for atkbd:
2991f38677bSJohn Baldwin#       0x01    Force detection of keyboard, else we always assume a keyboard
3001f38677bSJohn Baldwin#       0x02    Don't reset keyboard, useful for some newer ThinkPads
3011f38677bSJohn Baldwin#	0x03	Force detection and avoid reset, might help with certain
3021f38677bSJohn Baldwin#		dockingstations
3031f38677bSJohn Baldwin#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
3041f38677bSJohn Baldwin
3051f38677bSJohn Baldwin# Video card driver for VGA adapters.
3061f38677bSJohn Baldwindevice		vga
3071f38677bSJohn Baldwinenvvar		hint.vga.0.at="isa"
3081f38677bSJohn Baldwin
3091f38677bSJohn Baldwin# Options for vga:
3101f38677bSJohn Baldwin# Try the following option if the mouse pointer is not drawn correctly
3111f38677bSJohn Baldwin# or font does not seem to be loaded properly.  May cause flicker on
3121f38677bSJohn Baldwin# some systems.
3131f38677bSJohn Baldwinoptions 	VGA_ALT_SEQACCESS
3141f38677bSJohn Baldwin
3151f38677bSJohn Baldwin# If you can dispense with some vga driver features, you may want to
3161f38677bSJohn Baldwin# use the following options to save some memory.
3171f38677bSJohn Baldwin#options 	VGA_NO_FONT_LOADING	# don't save/load font
3181f38677bSJohn Baldwin#options 	VGA_NO_MODE_CHANGE	# don't change video modes
3191f38677bSJohn Baldwin
3201f38677bSJohn Baldwin# Older video cards may require this option for proper operation.
3211f38677bSJohn Baldwinoptions 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
3221f38677bSJohn Baldwin
3231f38677bSJohn Baldwin# The following option probably won't work with the LCD displays.
3241f38677bSJohn Baldwinoptions 	VGA_WIDTH90		# support 90 column modes
3251f38677bSJohn Baldwin
3261f38677bSJohn Baldwin# Debugging.
3271f38677bSJohn Baldwinoptions 	VGA_DEBUG
3281f38677bSJohn Baldwin
3291f38677bSJohn Baldwin# vt(4) drivers.
3301f38677bSJohn Baldwindevice		vt_vga		# VGA
3311f38677bSJohn Baldwindevice		vt_vbefb	# VBE framebuffer
3321f38677bSJohn Baldwin
3331f38677bSJohn Baldwin# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
3341f38677bSJohn Baldwindevice		s3pci
3351f38677bSJohn Baldwin
3361f38677bSJohn Baldwin#
3371f38677bSJohn Baldwin# RAID adapters
3381f38677bSJohn Baldwin#
3391f38677bSJohn Baldwin
3401f38677bSJohn Baldwin#
3411f38677bSJohn Baldwin# Areca 11xx and 12xx series of SATA II RAID controllers.
3421f38677bSJohn Baldwin# CAM is required.
3431f38677bSJohn Baldwin#
3441f38677bSJohn Baldwindevice		arcmsr		# Areca SATA II RAID
3451f38677bSJohn Baldwin
3461f38677bSJohn Baldwin#
3471f38677bSJohn Baldwin# Adaptec FSA RAID controllers, including integrated DELL controllers,
3481f38677bSJohn Baldwin# the Dell PERC 2/QC and the HP NetRAID-4M
3491f38677bSJohn Baldwindevice		aac
3501f38677bSJohn Baldwindevice		aacp	# SCSI Passthrough interface (optional, CAM required)
3511f38677bSJohn Baldwin
3521f38677bSJohn Baldwin#
3531f38677bSJohn Baldwin# Highpoint RocketRAID 27xx.
3541f38677bSJohn Baldwindevice		hpt27xx
3551f38677bSJohn Baldwin
3561f38677bSJohn Baldwin#
3571f38677bSJohn Baldwin# Highpoint RocketRAID 182x.
3581f38677bSJohn Baldwindevice		hptmv
3591f38677bSJohn Baldwin
3601f38677bSJohn Baldwin#
3611f38677bSJohn Baldwin# Highpoint DC7280 and R750.
3621f38677bSJohn Baldwindevice		hptnr
3631f38677bSJohn Baldwin
3641f38677bSJohn Baldwin#
3651f38677bSJohn Baldwin# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
3661f38677bSJohn Baldwin# RR2210, RR174x, RR2522, RR231x, RR230x.
3671f38677bSJohn Baldwindevice		hptrr
3681f38677bSJohn Baldwin
3691f38677bSJohn Baldwin#
3701f38677bSJohn Baldwin# Highpoint RocketRaid 3xxx series SATA RAID
3711f38677bSJohn Baldwindevice		hptiop
3721f38677bSJohn Baldwin
3731f38677bSJohn Baldwin#
3741f38677bSJohn Baldwin# IBM (now Adaptec) ServeRAID controllers
3751f38677bSJohn Baldwindevice		ips
3761f38677bSJohn Baldwin
3771f38677bSJohn Baldwin#
3781f38677bSJohn Baldwin# Intel C600 (Patsburg) integrated SAS controller
3791f38677bSJohn Baldwindevice		isci
3801f38677bSJohn Baldwinoptions 	ISCI_LOGGING	# enable debugging in isci HAL
3811f38677bSJohn Baldwin
3821f38677bSJohn Baldwin#
3831f38677bSJohn Baldwin# Intel Volume Management Device (VMD) support
3841f38677bSJohn Baldwindevice		vmd
3851f38677bSJohn Baldwin
3861f38677bSJohn Baldwin#
3871f38677bSJohn Baldwin# PMC-Sierra SAS/SATA controller
3881f38677bSJohn Baldwindevice		pmspcv
3891f38677bSJohn Baldwin
390c1ab04fcSWarner Losh#
391c1ab04fcSWarner Losh# Standard floppy disk controllers and floppy tapes, supports
392c1ab04fcSWarner Losh# the Y-E DATA External FDD (PC Card)
393c1ab04fcSWarner Losh#
394c1ab04fcSWarner Loshdevice		fdc
395f9ba2bbeSWarner Loshenvvar		hint.fdc.0.at="isa"
396f9ba2bbeSWarner Loshenvvar		hint.fdc.0.port="0x3F0"
397f9ba2bbeSWarner Loshenvvar		hint.fdc.0.irq="6"
398f9ba2bbeSWarner Loshenvvar		hint.fdc.0.drq="2"
399c1ab04fcSWarner Losh#
400c1ab04fcSWarner Losh# FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
401c1ab04fcSWarner Losh# gotta turn it actually on by setting the variable fd_debug with DDB,
402c1ab04fcSWarner Losh# however.
403c1ab04fcSWarner Loshoptions 	FDC_DEBUG
404c1ab04fcSWarner Losh#
405c1ab04fcSWarner Losh# Activate this line if you happen to have an Insight floppy tape.
406c1ab04fcSWarner Losh# Probing them proved to be dangerous for people with floppy disks only,
407c1ab04fcSWarner Losh# so it's "hidden" behind a flag:
408c1ab04fcSWarner Losh#hint.fdc.0.flags="1"
409c1ab04fcSWarner Losh
410c1ab04fcSWarner Losh# Specify floppy devices
411f9ba2bbeSWarner Loshenvvar		hint.fd.0.at="fdc0"
412f9ba2bbeSWarner Loshenvvar		hint.fd.0.drive="0"
413f9ba2bbeSWarner Loshenvvar		hint.fd.1.at="fdc0"
414f9ba2bbeSWarner Loshenvvar		hint.fd.1.drive="1"
4151f38677bSJohn Baldwin
4161f38677bSJohn Baldwin# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
4171f38677bSJohn Baldwindevice		cpufreq
4181f38677bSJohn Baldwin
4191f38677bSJohn Baldwin#
4201f38677bSJohn Baldwin# Network interfaces:
4211f38677bSJohn Baldwin#
4221f38677bSJohn Baldwin
4231f38677bSJohn Baldwin# bxe:  Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet
4241f38677bSJohn Baldwin#       adapters.
4251f38677bSJohn Baldwin# gve:	Google Virtual NIC (gVNIC)
4261f38677bSJohn Baldwin# igc:	Intel I225 2.5Gb Ethernet adapter
4271f38677bSJohn Baldwin# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
4281f38677bSJohn Baldwin#	Requires the ipw firmware module
4291f38677bSJohn Baldwin# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
4301f38677bSJohn Baldwin#	Requires the iwi firmware module
4311f38677bSJohn Baldwin# iwn:	Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn
4321f38677bSJohn Baldwin#	802.11 network adapters
4331f38677bSJohn Baldwin#	Requires the iwn firmware module
4341f38677bSJohn Baldwin# mthca: Mellanox HCA InfiniBand
4351f38677bSJohn Baldwin# mlx4ib: Mellanox ConnectX HCA InfiniBand
4361f38677bSJohn Baldwin# mlx4en: Mellanox ConnectX HCA Ethernet
4371f38677bSJohn Baldwin# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
4381f38677bSJohn Baldwin# vmx:	VMware VMXNET3 Ethernet (BSD open source)
4391f38677bSJohn Baldwin# wpi:	Intel 3945ABG Wireless LAN controller
4401f38677bSJohn Baldwin#	Requires the wpi firmware module
4411f38677bSJohn Baldwin
4421f38677bSJohn Baldwindevice		bxe		# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
4431f38677bSJohn Baldwindevice		gve		# Google Virtual NIC (gVNIC)
4441f38677bSJohn Baldwindevice		igc		# Intel I225 2.5G Ethernet
4451f38677bSJohn Baldwindevice		ipw		# Intel 2100 wireless NICs.
4461f38677bSJohn Baldwindevice		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
4471f38677bSJohn Baldwindevice		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
4481f38677bSJohn Baldwindevice  	mthca		# Mellanox HCA InfiniBand
4491f38677bSJohn Baldwindevice  	mlx4		# Shared code module between IB and Ethernet
4501f38677bSJohn Baldwindevice  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
4511f38677bSJohn Baldwindevice  	mlx4en		# Mellanox ConnectX HCA Ethernet
4521f38677bSJohn Baldwindevice		nfe		# nVidia nForce MCP on-board Ethernet
4531f38677bSJohn Baldwindevice		vmx		# VMware VMXNET3 Ethernet
4541f38677bSJohn Baldwindevice		wpi		# Intel 3945ABG wireless NICs.
4551f38677bSJohn Baldwin
4561f38677bSJohn Baldwin# IEEE 802.11 adapter firmware modules
4571f38677bSJohn Baldwin
4581f38677bSJohn Baldwin# Intel PRO/Wireless 2100 firmware:
4591f38677bSJohn Baldwin#   ipwfw:		BSS/IBSS/monitor mode firmware
4601f38677bSJohn Baldwin#   ipwbssfw:		BSS mode firmware
4611f38677bSJohn Baldwin#   ipwibssfw:		IBSS mode firmware
4621f38677bSJohn Baldwin#   ipwmonitorfw:	Monitor mode firmware
4631f38677bSJohn Baldwin# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
4641f38677bSJohn Baldwin#   iwifw:		BSS/IBSS/monitor mode firmware
4651f38677bSJohn Baldwin#   iwibssfw:		BSS mode firmware
4661f38677bSJohn Baldwin#   iwiibssfw:		IBSS mode firmware
4671f38677bSJohn Baldwin#   iwimonitorfw:	Monitor mode firmware
4681f38677bSJohn Baldwin# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
4691f38677bSJohn Baldwin#   iwnfw:		Single module to support all devices
4701f38677bSJohn Baldwin#   iwn1000fw:		Specific module for the 1000 only
4711f38677bSJohn Baldwin#   iwn105fw:		Specific module for the 105 only
4721f38677bSJohn Baldwin#   iwn135fw:		Specific module for the 135 only
4731f38677bSJohn Baldwin#   iwn2000fw:		Specific module for the 2000 only
4741f38677bSJohn Baldwin#   iwn2030fw:		Specific module for the 2030 only
4751f38677bSJohn Baldwin#   iwn4965fw:		Specific module for the 4965 only
4761f38677bSJohn Baldwin#   iwn5000fw:		Specific module for the 5000 only
4771f38677bSJohn Baldwin#   iwn5150fw:		Specific module for the 5150 only
4781f38677bSJohn Baldwin#   iwn6000fw:		Specific module for the 6000 only
4791f38677bSJohn Baldwin#   iwn6000g2afw:	Specific module for the 6000g2a only
4801f38677bSJohn Baldwin#   iwn6000g2bfw:	Specific module for the 6000g2b only
4811f38677bSJohn Baldwin#   iwn6050fw:		Specific module for the 6050 only
4821f38677bSJohn Baldwin# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
4831f38677bSJohn Baldwin
4841f38677bSJohn Baldwindevice		iwifw
4851f38677bSJohn Baldwindevice		iwibssfw
4861f38677bSJohn Baldwindevice		iwiibssfw
4871f38677bSJohn Baldwindevice		iwimonitorfw
4881f38677bSJohn Baldwindevice		ipwfw
4891f38677bSJohn Baldwindevice		ipwbssfw
4901f38677bSJohn Baldwindevice		ipwibssfw
4911f38677bSJohn Baldwindevice		ipwmonitorfw
4921f38677bSJohn Baldwindevice		iwnfw
4931f38677bSJohn Baldwindevice		iwn1000fw
4941f38677bSJohn Baldwindevice		iwn105fw
4951f38677bSJohn Baldwindevice		iwn135fw
4961f38677bSJohn Baldwindevice		iwn2000fw
4971f38677bSJohn Baldwindevice		iwn2030fw
4981f38677bSJohn Baldwindevice		iwn4965fw
4991f38677bSJohn Baldwindevice		iwn5000fw
5001f38677bSJohn Baldwindevice		iwn5150fw
5011f38677bSJohn Baldwindevice		iwn6000fw
5021f38677bSJohn Baldwindevice		iwn6000g2afw
5031f38677bSJohn Baldwindevice		iwn6000g2bfw
5041f38677bSJohn Baldwindevice		iwn6050fw
5051f38677bSJohn Baldwindevice		wpifw
5061f38677bSJohn Baldwin
5071f38677bSJohn Baldwin#
5081f38677bSJohn Baldwin# Non-Transparent Bridge (NTB) drivers
5091f38677bSJohn Baldwin#
5101f38677bSJohn Baldwindevice		if_ntb		# Virtual NTB network interface
5111f38677bSJohn Baldwindevice		ntb_transport	# NTB packet transport driver
5121f38677bSJohn Baldwindevice		ntb		# NTB hardware interface
5131f38677bSJohn Baldwindevice		ntb_hw_amd	# AMD NTB hardware driver
5141f38677bSJohn Baldwindevice		ntb_hw_intel	# Intel NTB hardware driver
5151f38677bSJohn Baldwindevice		ntb_hw_plx	# PLX NTB hardware driver
5161f38677bSJohn Baldwin
5171f38677bSJohn Baldwin#####################################################################
5181f38677bSJohn Baldwin
5191f38677bSJohn Baldwin#
5201f38677bSJohn Baldwin# Miscellaneous hardware:
5211f38677bSJohn Baldwin#
5221f38677bSJohn Baldwin# ipmi: Intelligent Platform Management Interface
5231f38677bSJohn Baldwin# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
5241f38677bSJohn Baldwin# smbios: DMI/SMBIOS entry point (requires EFIRT option)
5251f38677bSJohn Baldwin# vpd: Vital Product Data kernel interface
5261f38677bSJohn Baldwin# asmc: Apple System Management Controller
5271f38677bSJohn Baldwin# si: Specialix International SI/XIO or SX intelligent serial card
5281f38677bSJohn Baldwin# tpm: Trusted Platform Module
5291f38677bSJohn Baldwin
5301f38677bSJohn Baldwin# Notes on the Specialix SI/XIO driver:
5311f38677bSJohn Baldwin#  The host card is memory, not IO mapped.
5321f38677bSJohn Baldwin#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
5331f38677bSJohn Baldwin#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
5341f38677bSJohn Baldwin#  The cards can use an IRQ of 11, 12 or 15.
5351f38677bSJohn Baldwin
5361f38677bSJohn Baldwindevice		ipmi
5371f38677bSJohn Baldwindevice		pbio
5381f38677bSJohn Baldwinenvvar		hint.pbio.0.at="isa"
5391f38677bSJohn Baldwinenvvar		hint.pbio.0.port="0x360"
5401f38677bSJohn Baldwindevice		smbios
5411f38677bSJohn Baldwindevice		vpd
5421f38677bSJohn Baldwindevice		asmc
5431f38677bSJohn Baldwindevice		tpm
5441f38677bSJohn Baldwindevice		padlock_rng	# VIA Padlock RNG
5451f38677bSJohn Baldwindevice		rdrand_rng	# Intel Bull Mountain RNG
5461f38677bSJohn Baldwindevice		aesni		# AES-NI OpenCrypto module
5471f38677bSJohn Baldwindevice		ossl		# OpenSSL OpenCrypto module
5481f38677bSJohn Baldwin
5491f38677bSJohn Baldwin# Linux KVM paravirtualization support
5501f38677bSJohn Baldwindevice		kvm_clock	# KVM paravirtual clock driver
5511f38677bSJohn Baldwin
5521f38677bSJohn Baldwin# Microsoft Hyper-V enhancement support
5531f38677bSJohn Baldwindevice 		hyperv		# HyperV drivers
5541f38677bSJohn Baldwindevice		hvhid		# HyperV HID device
5551f38677bSJohn Baldwin
556ecaab0fbSStephen J. Kiernan# VMware hypervisor support
557ecaab0fbSStephen J. Kiernandevice		pvscsi		# Paravirtual SCSI driver
558ecaab0fbSStephen J. Kiernandevice		vmci		# Virtual Machine Communication Interface (VMCI)
559ecaab0fbSStephen J. Kiernandevice		vmware_guestrpc	# GuestRPC interface
560ecaab0fbSStephen J. Kiernan
5611f38677bSJohn Baldwin#
5621f38677bSJohn Baldwin# Laptop/Notebook options:
5631f38677bSJohn Baldwin#
5641f38677bSJohn Baldwin
5651f38677bSJohn Baldwindevice backlight
5661f38677bSJohn Baldwin
5671f38677bSJohn Baldwin#
5681f38677bSJohn Baldwin# System Management Bus (SMB)
5691f38677bSJohn Baldwin#
5701f38677bSJohn Baldwin# Supported SMB interfaces:
5711f38677bSJohn Baldwin# imcsmb	integrated Memory Controller (iMC) SMBus controller
5721f38677bSJohn Baldwin#		Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon
5731f38677bSJohn Baldwin#
5741f38677bSJohn Baldwin
5751f38677bSJohn Baldwindevice		imcsmb
5761f38677bSJohn Baldwin
5771f38677bSJohn Baldwin#
5781f38677bSJohn Baldwin# HID-over-I2C support
5791f38677bSJohn Baldwin#
5801f38677bSJohn Baldwindevice		iichid		# HID-over-I2C support
5811f38677bSJohn Baldwinoptions 	IICHID_DEBUG	# Enable HID-over-I2C debug messages
5821f38677bSJohn Baldwinoptions 	IICHID_SAMPLING	# Workaround missing GPIO INTR support
5831f38677bSJohn Baldwin
5841f38677bSJohn Baldwin#
5851f38677bSJohn Baldwin# AMD System Management Network (SMN)
5861f38677bSJohn Baldwin#
5871f38677bSJohn Baldwindevice		amdsmn
5881f38677bSJohn Baldwin
5891f38677bSJohn Baldwin#
5901f38677bSJohn Baldwin# Hardware watchdog timers:
5911f38677bSJohn Baldwin#
5921f38677bSJohn Baldwin# ichwd: Intel ICH watchdog timer
5931f38677bSJohn Baldwin# amdsbwd: AMD SB7xx watchdog timer
5941f38677bSJohn Baldwin# viawd: VIA south bridge watchdog timer
5951f38677bSJohn Baldwin# wbwd: Winbond watchdog timer
5961f38677bSJohn Baldwin# itwd: ITE Super I/O watchdog timer
5971f38677bSJohn Baldwin#
5981f38677bSJohn Baldwindevice		ichwd
5991f38677bSJohn Baldwindevice		amdsbwd
6001f38677bSJohn Baldwindevice		viawd
6011f38677bSJohn Baldwindevice		wbwd
6021f38677bSJohn Baldwindevice		itwd
6031f38677bSJohn Baldwin
6041f38677bSJohn Baldwin#
6051f38677bSJohn Baldwin# Temperature sensors:
6061f38677bSJohn Baldwin#
6071f38677bSJohn Baldwin# coretemp: on-die sensor on Intel Core and newer CPUs
6081f38677bSJohn Baldwin# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
6091f38677bSJohn Baldwin#
6101f38677bSJohn Baldwindevice		coretemp
6111f38677bSJohn Baldwindevice		amdtemp
6121f38677bSJohn Baldwin
6131f38677bSJohn Baldwin#
6141f38677bSJohn Baldwin# CPU control pseudo-device. Provides access to MSRs, CPUID info and
6151f38677bSJohn Baldwin# microcode update feature.
6161f38677bSJohn Baldwin#
6171f38677bSJohn Baldwindevice		cpuctl
6181f38677bSJohn Baldwin
6191f38677bSJohn Baldwin#
6201f38677bSJohn Baldwin# SuperIO driver.
6211f38677bSJohn Baldwin#
6221f38677bSJohn Baldwindevice		superio
6231f38677bSJohn Baldwin
6241f38677bSJohn Baldwin#####################################################################
6251f38677bSJohn Baldwin
6261f38677bSJohn Baldwin# More undocumented options for linting.
6271f38677bSJohn Baldwin# Note that documenting these are not considered an affront.
6281f38677bSJohn Baldwin
6291f38677bSJohn Baldwinoptions 	KBDIO_DEBUG=2
6301f38677bSJohn Baldwinoptions 	KBD_MAXRETRY=4
6311f38677bSJohn Baldwinoptions 	KBD_MAXWAIT=6
6321f38677bSJohn Baldwinoptions 	KBD_RESETDELAY=201
6331f38677bSJohn Baldwin
6341f38677bSJohn Baldwinoptions 	PSM_DEBUG=1
6351f38677bSJohn Baldwin
6361f38677bSJohn Baldwinoptions 	TIMER_FREQ=((14318182+6)/12)
6371f38677bSJohn Baldwin
6381f38677bSJohn Baldwinoptions 	VM_KMEM_SIZE
6391f38677bSJohn Baldwinoptions 	VM_KMEM_SIZE_MAX
6401f38677bSJohn Baldwinoptions 	VM_KMEM_SIZE_SCALE
641