xref: /freebsd/sys/x86/conf/NOTES (revision f9bc005b8ef3b507a5ecbc2d7fe4411ef70eff38)
1#
2
3# Common NOTES between i386 and amd64
4
5#
6# Enable the kernel DTrace hooks which are required to load the DTrace
7# kernel modules.
8#
9#options 	KDTRACE_HOOKS
10
11# DTrace core
12# NOTE: introduces CDDL-licensed components into the kernel
13#device		dtrace
14
15# DTrace modules
16#device		dtrace_profile
17#device		dtrace_sdt
18#device		dtrace_fbt
19#device		dtrace_systrace
20#device		dtrace_prototype
21#device		dtnfscl
22#device		dtmalloc
23
24# Alternatively include all the DTrace modules
25#device		dtraceall
26
27
28#####################################################################
29# SMP OPTIONS:
30#
31
32# Debugging options.
33#
34options 	COUNT_XINVLTLB_HITS	# Counters for TLB events
35options 	COUNT_IPIS		# Per-CPU IPI interrupt counters
36
37
38#####################################################################
39# COMPATIBILITY OPTIONS
40
41# Implement system calls compatible with 4.3BSD and FreeBSD 1.x,
42# and 2.x a.out binaries. Not needed for ELF binaries, or newer
43# a.out binaries.
44options 	COMPAT_43
45
46
47#####################################################################
48# NETWORKING OPTIONS
49
50#
51# DEVICE_POLLING adds support for mixed interrupt-polling handling
52# of network device drivers, which has significant benefits in terms
53# of robustness to overloads and responsivity, as well as permitting
54# accurate scheduling of the CPU time between kernel network processing
55# and other activities.  The drawback is a moderate (up to 1/HZ seconds)
56# potential increase in response times.
57# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
58# to achieve smoother behaviour.
59# Additionally, you can enable/disable polling at runtime with help of
60# the ifconfig(8) utility, and select the CPU fraction reserved to
61# userland with the sysctl variable kern.polling.user_frac
62# (default 50, range 0..100).
63#
64# Not all device drivers support this mode of operation at the time of
65# this writing.  See polling(4) for more details.
66
67options 	DEVICE_POLLING
68
69# BPF_JITTER adds support for BPF just-in-time compiler.
70
71options 	BPF_JITTER
72
73
74#####################################################################
75# CLOCK OPTIONS
76
77# Provide read/write access to the memory in the clock chip.
78device		nvram		# Access to rtc cmos via /dev/nvram
79
80
81#####################################################################
82# MISCELLANEOUS DEVICES AND OPTIONS
83
84device		speaker		#Play IBM BASIC-style noises out your speaker
85envvar		hint.speaker.0.at="isa"
86envvar		hint.speaker.0.port="0x61"
87
88
89#####################################################################
90# HARDWARE BUS CONFIGURATION
91
92options 	IOMMU			# Enable IOMMU support
93
94#
95# ISA bus
96#
97device		isa
98
99#
100# Options for `isa':
101#
102# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
103# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
104# This option breaks suspend/resume on some portables.
105#
106# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
107# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
108# Automatic EOI is documented not to work for the slave with the
109# original i8259A, but it works for some clones and some integrated
110# versions.
111#
112# MAXMEM specifies the amount of RAM on the machine; if this is not
113# specified, FreeBSD will first read the amount of memory from the CMOS
114# RAM, so the amount of memory will initially be limited to 64MB or 16MB
115# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
116# then attempt to detect the installed amount of RAM.  If this probe
117# fails to detect >64MB RAM you will have to use the MAXMEM option.
118# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
119# be 131072 (128 * 1024).
120#
121# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
122# reset the CPU for reboot.  This is needed on some systems with broken
123# keyboard controllers.
124
125options 	AUTO_EOI_1
126#options 	AUTO_EOI_2
127
128options 	MAXMEM=(128*1024)
129#options 	BROKEN_KEYBOARD_RESET
130
131#
132# AGP GART support
133device		agp
134
135# AGP debugging.
136options 	AGP_DEBUG
137
138#
139# ACPI support using the Intel ACPI Component Architecture reference
140# implementation.
141#
142# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
143# kernel environment variables to select initial debugging levels for the
144# Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
145# defined when it is built).
146
147device		acpi
148options 	ACPI_DEBUG
149
150# ACPI WMI Mapping driver
151device		acpi_wmi
152
153# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
154device		acpi_asus
155
156# ACPI Fujitsu Extras (Buttons)
157device		acpi_fujitsu
158
159# ACPI extras driver for HP laptops
160device		acpi_hp
161
162# ACPI extras driver for IBM laptops
163device		acpi_ibm
164
165# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
166device		acpi_panasonic
167
168# ACPI SBL Firmware Update
169device		acpi_sbl_wmi
170
171# ACPI Sony extra (LCD brightness)
172device		acpi_sony
173
174# ACPI System76 extra (Keyboard brightness, Keyboard color)
175device		acpi_system76
176
177# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
178device		acpi_toshiba
179
180# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
181device		acpi_video
182
183# ACPI Docking Station
184device		acpi_dock
185
186# ACPI ASOC ATK0110 ASUSTeK AI Booster (voltage, temperature and fan sensors)
187device		aibs
188
189
190#####################################################################
191# HARDWARE DEVICE CONFIGURATION
192
193#
194# Optional devices:
195#
196
197# The syscons console driver (SCO color console compatible).
198device		sc
199envvar		hint.sc.0.at="isa"
200options 	MAXCONS=16		# number of virtual consoles
201options 	SC_ALT_MOUSE_IMAGE	# simplified mouse cursor in text mode
202options 	SC_DFLT_FONT		# compile font in
203makeoptions	SC_DFLT_FONT=cp850
204options 	SC_DFLT_TERM=\"sc\"	# default terminal emulator
205options 	SC_DISABLE_KDBKEY	# disable `debug' key
206options 	SC_DISABLE_REBOOT	# disable reboot key sequence
207options 	SC_HISTORY_SIZE=200	# number of history buffer lines
208options 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
209options 	SC_PIXEL_MODE		# add support for the raster text mode
210
211# The following options will let you change the default colors of syscons.
212options 	SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
213options 	SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
214options 	SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
215options 	SC_KERNEL_CONS_ATTRS=\"\x0c\x0d\x0e\x0f\x02\x09\x0a\x0b\"
216options 	SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
217
218# The following options will let you change the default behavior of
219# cut-n-paste feature
220options 	SC_CUT_SPACES2TABS	# convert leading spaces into tabs
221options 	SC_CUT_SEPCHARS=\"x09\"	# set of characters that delimit words
222					# (default is single space - \"x20\")
223
224# If you have a two button mouse, you may want to add the following option
225# to use the right button of the mouse to paste text.
226options 	SC_TWOBUTTON_MOUSE
227
228# You can selectively disable features in syscons.
229options 	SC_NO_CUTPASTE
230options 	SC_NO_FONT_LOADING
231options 	SC_NO_HISTORY
232options 	SC_NO_MODE_CHANGE
233options 	SC_NO_SYSMOUSE
234options 	SC_NO_SUSPEND_VTYSWITCH
235#!options 	SC_NO_TERM_DUMB
236#!options 	SC_NO_TERM_SC
237#!options 	SC_NO_TERM_SCTEKEN
238
239# `flags' for sc
240#	0x80	Put the video card in the VESA 800x600 dots, 16 color mode
241#	0x100	Probe for a keyboard device periodically if one is not present
242
243# Splash screen and screen saver support
244device		splash
245
246# Various screen savers.
247device		blank_saver
248device		daemon_saver
249device		dragon_saver
250device		fade_saver
251device		fire_saver
252device		green_saver
253device		logo_saver
254device		rain_saver
255device		snake_saver
256device		star_saver
257device		warp_saver
258
259# To include support for VGA VESA video modes
260options 	VESA
261
262# Turn on extra debugging checks and output for VESA support.
263options 	VESA_DEBUG
264
265device		dpms		# DPMS suspend & resume via VESA BIOS
266
267# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa
268options 	X86BIOS
269
270# PS/2 mouse
271device		psm
272envvar		hint.psm.0.at="atkbdc"
273envvar		hint.psm.0.irq="12"
274
275# Options for psm:
276options 	PSM_HOOKRESUME		#hook the system resume event, useful
277					#for some laptops
278options 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
279
280# The keyboard controller; it controls the keyboard and the PS/2 mouse.
281device		atkbdc
282envvar		hint.atkbdc.0.at="isa"
283envvar		hint.atkbdc.0.port="0x060"
284
285# The AT keyboard
286device		atkbd
287envvar		hint.atkbd.0.at="atkbdc"
288envvar		hint.atkbd.0.irq="1"
289
290# Options for atkbd:
291options 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
292makeoptions	ATKBD_DFLT_KEYMAP=fr.dvorak
293
294# `flags' for atkbd:
295#       0x01    Force detection of keyboard, else we always assume a keyboard
296#       0x02    Don't reset keyboard, useful for some newer ThinkPads
297#	0x03	Force detection and avoid reset, might help with certain
298#		dockingstations
299#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
300
301# Video card driver for VGA adapters.
302device		vga
303envvar		hint.vga.0.at="isa"
304
305# Options for vga:
306# Try the following option if the mouse pointer is not drawn correctly
307# or font does not seem to be loaded properly.  May cause flicker on
308# some systems.
309options 	VGA_ALT_SEQACCESS
310
311# If you can dispense with some vga driver features, you may want to
312# use the following options to save some memory.
313#options 	VGA_NO_FONT_LOADING	# don't save/load font
314#options 	VGA_NO_MODE_CHANGE	# don't change video modes
315
316# Older video cards may require this option for proper operation.
317options 	VGA_SLOW_IOACCESS	# do byte-wide i/o's to TS and GDC regs
318
319# The following option probably won't work with the LCD displays.
320options 	VGA_WIDTH90		# support 90 column modes
321
322# Debugging.
323options 	VGA_DEBUG
324
325# vt(4) drivers.
326device		vt_vga		# VGA
327device		vt_vbefb	# VBE framebuffer
328
329# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA.
330device		s3pci
331
332#
333# RAID adapters
334#
335
336#
337# Areca 11xx and 12xx series of SATA II RAID controllers.
338# CAM is required.
339#
340device		arcmsr		# Areca SATA II RAID
341
342#
343# Adaptec FSA RAID controllers, including integrated DELL controllers,
344# the Dell PERC 2/QC and the HP NetRAID-4M
345device		aac
346device		aacp	# SCSI Passthrough interface (optional, CAM required)
347
348#
349# Highpoint RocketRAID 27xx.
350device		hpt27xx
351
352#
353# Highpoint RocketRAID 182x.
354device		hptmv
355
356#
357# Highpoint DC7280 and R750.
358device		hptnr
359
360#
361# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
362# RR2210, RR174x, RR2522, RR231x, RR230x.
363device		hptrr
364
365#
366# Highpoint RocketRaid 3xxx series SATA RAID
367device		hptiop
368
369#
370# IBM (now Adaptec) ServeRAID controllers
371device		ips
372
373#
374# Intel C600 (Patsburg) integrated SAS controller
375device		isci
376options 	ISCI_LOGGING	# enable debugging in isci HAL
377
378#
379# Intel Volume Management Device (VMD) support
380device		vmd
381
382#
383# PMC-Sierra SAS/SATA controller
384device		pmspcv
385
386device		ocs_fc			# Emulex FC adapters
387device		tws			# LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller
388
389#
390# Standard floppy disk controllers and floppy tapes, supports
391# the Y-E DATA External FDD (PC Card)
392#
393device		fdc
394envvar		hint.fdc.0.at="isa"
395envvar		hint.fdc.0.port="0x3F0"
396envvar		hint.fdc.0.irq="6"
397envvar		hint.fdc.0.drq="2"
398#
399# FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
400# gotta turn it actually on by setting the variable fd_debug with DDB,
401# however.
402options 	FDC_DEBUG
403#
404# Activate this line if you happen to have an Insight floppy tape.
405# Probing them proved to be dangerous for people with floppy disks only,
406# so it's "hidden" behind a flag:
407#hint.fdc.0.flags="1"
408
409# Specify floppy devices
410envvar		hint.fd.0.at="fdc0"
411envvar		hint.fd.0.drive="0"
412envvar		hint.fd.1.at="fdc0"
413envvar		hint.fd.1.drive="1"
414
415# The cpufreq(4) driver provides support for non-ACPI CPU frequency control
416device		cpufreq
417
418#
419# Network interfaces:
420#
421
422# bxe:  Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet
423#       adapters.
424# gve:	Google Virtual NIC (gVNIC)
425# igc:	Intel I225 2.5Gb Ethernet adapter
426# ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
427#	Requires the ipw firmware module
428# iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
429#	Requires the iwi firmware module
430# iwn:	Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn
431#	802.11 network adapters
432#	Requires the iwn firmware module
433# mthca: Mellanox HCA InfiniBand
434# mlx4ib: Mellanox ConnectX HCA InfiniBand
435# mlx4en: Mellanox ConnectX HCA Ethernet
436# nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
437# vmx:	VMware VMXNET3 Ethernet (BSD open source)
438# wpi:	Intel 3945ABG Wireless LAN controller
439#	Requires the wpi firmware module
440
441device		aq		# Aquantia / Marvell AQC1xx
442device		bxe		# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
443device		gve		# Google Virtual NIC (gVNIC)
444device		igc		# Intel I225 2.5G Ethernet
445device		ipw		# Intel 2100 wireless NICs.
446device		iwi		# Intel 2200BG/2225BG/2915ABG wireless NICs.
447device		iwm		# Intel IEEE 802.11ac wireless NICs.
448device		iwn		# Intel 4965/1000/5000/6000 wireless NICs.
449device		iwx		# Intel IEEE 802.11ax wireless NICs.
450device  	mthca		# Mellanox HCA InfiniBand
451device  	mlx4		# Shared code module between IB and Ethernet
452device  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
453device  	mlx4en		# Mellanox ConnectX HCA Ethernet
454device		nfe		# nVidia nForce MCP on-board Ethernet
455device		vge		# VIA VT612x gigabit Ethernet
456device		vmx		# VMware VMXNET3 Ethernet
457device		wpi		# Intel 3945ABG wireless NICs.
458
459# IEEE 802.11 adapter firmware modules
460
461# Intel PRO/Wireless 2100 firmware:
462#   ipwfw:		BSS/IBSS/monitor mode firmware
463#   ipwbssfw:		BSS mode firmware
464#   ipwibssfw:		IBSS mode firmware
465#   ipwmonitorfw:	Monitor mode firmware
466# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware:
467#   iwifw:		BSS/IBSS/monitor mode firmware
468#   iwibssfw:		BSS mode firmware
469#   iwiibssfw:		IBSS mode firmware
470#   iwimonitorfw:	Monitor mode firmware
471# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware:
472#   iwnfw:		Single module to support all devices
473#   iwn1000fw:		Specific module for the 1000 only
474#   iwn105fw:		Specific module for the 105 only
475#   iwn135fw:		Specific module for the 135 only
476#   iwn2000fw:		Specific module for the 2000 only
477#   iwn2030fw:		Specific module for the 2030 only
478#   iwn4965fw:		Specific module for the 4965 only
479#   iwn5000fw:		Specific module for the 5000 only
480#   iwn5150fw:		Specific module for the 5150 only
481#   iwn6000fw:		Specific module for the 6000 only
482#   iwn6000g2afw:	Specific module for the 6000g2a only
483#   iwn6000g2bfw:	Specific module for the 6000g2b only
484#   iwn6050fw:		Specific module for the 6050 only
485# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
486
487device		iwifw
488device		iwibssfw
489device		iwiibssfw
490device		iwimonitorfw
491device		ipwfw
492device		ipwbssfw
493device		ipwibssfw
494device		ipwmonitorfw
495device		iwnfw
496device		iwn1000fw
497device		iwn105fw
498device		iwn135fw
499device		iwn2000fw
500device		iwn2030fw
501device		iwn4965fw
502device		iwn5000fw
503device		iwn5150fw
504device		iwn6000fw
505device		iwn6000g2afw
506device		iwn6000g2bfw
507device		iwn6050fw
508device		wpifw
509
510#
511# Non-Transparent Bridge (NTB) drivers
512#
513device		if_ntb		# Virtual NTB network interface
514device		ntb_transport	# NTB packet transport driver
515device		ntb		# NTB hardware interface
516device		ntb_hw_amd	# AMD NTB hardware driver
517device		ntb_hw_intel	# Intel NTB hardware driver
518device		ntb_hw_plx	# PLX NTB hardware driver
519
520#####################################################################
521
522#
523# Miscellaneous hardware:
524#
525# ipmi: Intelligent Platform Management Interface
526# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724)
527# smbios: DMI/SMBIOS entry point (requires EFIRT option)
528# vpd: Vital Product Data kernel interface
529# tpm: Trusted Platform Module
530
531device		ipmi
532device		pbio
533envvar		hint.pbio.0.at="isa"
534envvar		hint.pbio.0.port="0x360"
535device		smbios
536device		vpd
537device		tpm
538device		padlock_rng	# VIA Padlock RNG
539device		rdrand_rng	# Intel Bull Mountain RNG
540device		aesni		# AES-NI OpenCrypto module
541device		ossl		# OpenSSL OpenCrypto module
542
543# Linux KVM paravirtualization support
544device		kvm_clock	# KVM paravirtual clock driver
545
546# Microsoft Hyper-V enhancement support
547device 		hyperv		# HyperV drivers
548device		hvhid		# HyperV HID device
549
550# VMware hypervisor support
551device		pvscsi		# Paravirtual SCSI driver
552device		vmci		# Virtual Machine Communication Interface (VMCI)
553device		vmware_guestrpc	# GuestRPC interface
554
555#
556# Laptop/Notebook options:
557#
558
559device backlight
560
561#
562# System Management Bus (SMB)
563#
564# Supported SMB interfaces:
565# imcsmb	integrated Memory Controller (iMC) SMBus controller
566#		Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon
567#
568
569device		imcsmb
570
571#
572# HID-over-I2C support
573#
574device		iichid		# HID-over-I2C support
575options 	IICHID_DEBUG	# Enable HID-over-I2C debug messages
576options 	IICHID_SAMPLING	# Workaround missing GPIO INTR support
577
578#
579# AMD System Management Network (SMN)
580#
581device		amdsmn
582
583#
584# Hardware watchdog timers:
585#
586# ichwd: Intel ICH watchdog timer
587# amdsbwd: AMD SB7xx watchdog timer
588# viawd: VIA south bridge watchdog timer
589# wbwd: Winbond watchdog timer
590# itwd: ITE Super I/O watchdog timer
591#
592device		ichwd
593device		amdsbwd
594device		viawd
595device		wbwd
596device		itwd
597
598#
599# Temperature sensors:
600#
601# coretemp: on-die sensor on Intel Core and newer CPUs
602# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs
603#
604device		coretemp
605device		amdtemp
606
607#
608# CPU control pseudo-device. Provides access to MSRs, CPUID info and
609# microcode update feature.
610#
611device		cpuctl
612
613#
614# SuperIO driver.
615#
616device		superio
617
618#####################################################################
619
620# More undocumented options for linting.
621# Note that documenting these are not considered an affront.
622
623options 	KBDIO_DEBUG=2
624options 	KBD_MAXRETRY=4
625options 	KBD_MAXWAIT=6
626options 	KBD_RESETDELAY=201
627
628options 	PSM_DEBUG=1
629
630options 	TIMER_FREQ=((14318182+6)/12)
631
632options 	VM_KMEM_SIZE
633options 	VM_KMEM_SIZE_MAX
634options 	VM_KMEM_SIZE_SCALE
635