1a9643ea8Slogwang# 2a9643ea8Slogwang# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 3a9643ea8Slogwang# 4a9643ea8Slogwang# This file contains machine dependent kernel configuration notes. For 5a9643ea8Slogwang# machine independent notes, look in /sys/conf/NOTES. 6a9643ea8Slogwang# 7a9643ea8Slogwang# $FreeBSD$ 8a9643ea8Slogwang# 9a9643ea8Slogwang 10a9643ea8Slogwang# 11a9643ea8Slogwang# We want LINT to cover profiling as well. 12a9643ea8Slogwangprofile 2 13a9643ea8Slogwang 14a9643ea8Slogwang# 15a9643ea8Slogwang# Enable the kernel DTrace hooks which are required to load the DTrace 16a9643ea8Slogwang# kernel modules. 17a9643ea8Slogwang# 18a9643ea8Slogwangoptions KDTRACE_HOOKS 19a9643ea8Slogwang 20a9643ea8Slogwang# DTrace core 21a9643ea8Slogwang# NOTE: introduces CDDL-licensed components into the kernel 22a9643ea8Slogwang#device dtrace 23a9643ea8Slogwang 24a9643ea8Slogwang# DTrace modules 25a9643ea8Slogwang#device dtrace_profile 26a9643ea8Slogwang#device dtrace_sdt 27a9643ea8Slogwang#device dtrace_fbt 28a9643ea8Slogwang#device dtrace_systrace 29a9643ea8Slogwang#device dtrace_prototype 30a9643ea8Slogwang#device dtnfscl 31a9643ea8Slogwang#device dtmalloc 32a9643ea8Slogwang 33a9643ea8Slogwang# Alternatively include all the DTrace modules 34a9643ea8Slogwang#device dtraceall 35a9643ea8Slogwang 36a9643ea8Slogwang 37a9643ea8Slogwang##################################################################### 38a9643ea8Slogwang# SMP OPTIONS: 39a9643ea8Slogwang# 40a9643ea8Slogwang# Notes: 41a9643ea8Slogwang# 42a9643ea8Slogwang# IPI_PREEMPTION instructs the kernel to preempt threads running on other 43a9643ea8Slogwang# CPUS if needed. Relies on the PREEMPTION option 44a9643ea8Slogwang 45a9643ea8Slogwang# Optional: 46a9643ea8Slogwangoptions IPI_PREEMPTION 47a9643ea8Slogwangdevice atpic # Optional legacy pic support 48a9643ea8Slogwangdevice mptable # Optional MPSPEC mptable support 49a9643ea8Slogwang 50a9643ea8Slogwang# 51a9643ea8Slogwang# Watchdog routines. 52a9643ea8Slogwang# 53a9643ea8Slogwangoptions MP_WATCHDOG 54a9643ea8Slogwang 55a9643ea8Slogwang# Debugging options. 56a9643ea8Slogwang# 57a9643ea8Slogwangoptions COUNT_XINVLTLB_HITS # Counters for TLB events 58a9643ea8Slogwangoptions COUNT_IPIS # Per-CPU IPI interrupt counters 59a9643ea8Slogwang 60a9643ea8Slogwang 61a9643ea8Slogwang 62a9643ea8Slogwang##################################################################### 63a9643ea8Slogwang# CPU OPTIONS 64a9643ea8Slogwang 65a9643ea8Slogwang# 66a9643ea8Slogwang# You must specify at least one CPU (the one you intend to run on); 67a9643ea8Slogwang# deleting the specification for CPUs you don't need to use may make 68a9643ea8Slogwang# parts of the system run faster. 69a9643ea8Slogwang# 70a9643ea8Slogwangcpu HAMMER # aka K8, aka Opteron & Athlon64 71a9643ea8Slogwang 72a9643ea8Slogwang# 73a9643ea8Slogwang# Options for CPU features. 74a9643ea8Slogwang# 75a9643ea8Slogwang 76a9643ea8Slogwang 77a9643ea8Slogwang##################################################################### 78a9643ea8Slogwang# NETWORKING OPTIONS 79a9643ea8Slogwang 80a9643ea8Slogwang# 81a9643ea8Slogwang# DEVICE_POLLING adds support for mixed interrupt-polling handling 82a9643ea8Slogwang# of network device drivers, which has significant benefits in terms 83a9643ea8Slogwang# of robustness to overloads and responsivity, as well as permitting 84a9643ea8Slogwang# accurate scheduling of the CPU time between kernel network processing 85a9643ea8Slogwang# and other activities. The drawback is a moderate (up to 1/HZ seconds) 86a9643ea8Slogwang# potential increase in response times. 87a9643ea8Slogwang# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 88a9643ea8Slogwang# to achieve smoother behaviour. 89a9643ea8Slogwang# Additionally, you can enable/disable polling at runtime with help of 90a9643ea8Slogwang# the ifconfig(8) utility, and select the CPU fraction reserved to 91a9643ea8Slogwang# userland with the sysctl variable kern.polling.user_frac 92a9643ea8Slogwang# (default 50, range 0..100). 93a9643ea8Slogwang# 94a9643ea8Slogwang# Not all device drivers support this mode of operation at the time of 95a9643ea8Slogwang# this writing. See polling(4) for more details. 96a9643ea8Slogwang 97a9643ea8Slogwangoptions DEVICE_POLLING 98a9643ea8Slogwang 99a9643ea8Slogwang# BPF_JITTER adds support for BPF just-in-time compiler. 100a9643ea8Slogwang 101a9643ea8Slogwangoptions BPF_JITTER 102a9643ea8Slogwang 103a9643ea8Slogwang# OpenFabrics Enterprise Distribution (Infiniband). 104a9643ea8Slogwangoptions OFED 105a9643ea8Slogwangoptions OFED_DEBUG_INIT 106a9643ea8Slogwang 107a9643ea8Slogwang# Sockets Direct Protocol 108a9643ea8Slogwangoptions SDP 109a9643ea8Slogwangoptions SDP_DEBUG 110a9643ea8Slogwang 111a9643ea8Slogwang# IP over Infiniband 112a9643ea8Slogwangoptions IPOIB 113a9643ea8Slogwangoptions IPOIB_DEBUG 114a9643ea8Slogwangoptions IPOIB_CM 115a9643ea8Slogwang 116a9643ea8Slogwang 117a9643ea8Slogwang##################################################################### 118a9643ea8Slogwang# CLOCK OPTIONS 119a9643ea8Slogwang 120a9643ea8Slogwang# Provide read/write access to the memory in the clock chip. 121a9643ea8Slogwangdevice nvram # Access to rtc cmos via /dev/nvram 122a9643ea8Slogwang 123a9643ea8Slogwang 124a9643ea8Slogwang##################################################################### 125a9643ea8Slogwang# MISCELLANEOUS DEVICES AND OPTIONS 126a9643ea8Slogwang 127a9643ea8Slogwangdevice speaker #Play IBM BASIC-style noises out your speaker 128*22ce4affSfengbojiangenvvar hint.speaker.0.at="isa" 129*22ce4affSfengbojiangenvvar hint.speaker.0.port="0x61" 130a9643ea8Slogwang 131a9643ea8Slogwang 132a9643ea8Slogwang##################################################################### 133a9643ea8Slogwang# HARDWARE BUS CONFIGURATION 134a9643ea8Slogwang 135a9643ea8Slogwang# 136a9643ea8Slogwang# ISA bus 137a9643ea8Slogwang# 138a9643ea8Slogwangdevice isa 139a9643ea8Slogwang 140a9643ea8Slogwang# 141a9643ea8Slogwang# Options for `isa': 142a9643ea8Slogwang# 143a9643ea8Slogwang# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 144a9643ea8Slogwang# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 145a9643ea8Slogwang# This option breaks suspend/resume on some portables. 146a9643ea8Slogwang# 147a9643ea8Slogwang# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A 148a9643ea8Slogwang# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 149a9643ea8Slogwang# Automatic EOI is documented not to work for for the slave with the 150a9643ea8Slogwang# original i8259A, but it works for some clones and some integrated 151a9643ea8Slogwang# versions. 152a9643ea8Slogwang# 153a9643ea8Slogwang# MAXMEM specifies the amount of RAM on the machine; if this is not 154a9643ea8Slogwang# specified, FreeBSD will first read the amount of memory from the CMOS 155a9643ea8Slogwang# RAM, so the amount of memory will initially be limited to 64MB or 16MB 156a9643ea8Slogwang# depending on the BIOS. If the BIOS reports 64MB, a memory probe will 157a9643ea8Slogwang# then attempt to detect the installed amount of RAM. If this probe 158a9643ea8Slogwang# fails to detect >64MB RAM you will have to use the MAXMEM option. 159a9643ea8Slogwang# The amount is in kilobytes, so for a machine with 128MB of RAM, it would 160a9643ea8Slogwang# be 131072 (128 * 1024). 161a9643ea8Slogwang# 162a9643ea8Slogwang# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 163a9643ea8Slogwang# reset the CPU for reboot. This is needed on some systems with broken 164a9643ea8Slogwang# keyboard controllers. 165a9643ea8Slogwang 166a9643ea8Slogwangoptions AUTO_EOI_1 167a9643ea8Slogwang#options AUTO_EOI_2 168a9643ea8Slogwang 169a9643ea8Slogwangoptions MAXMEM=(128*1024) 170a9643ea8Slogwang#options BROKEN_KEYBOARD_RESET 171a9643ea8Slogwang 172a9643ea8Slogwang# 173a9643ea8Slogwang# AGP GART support 174a9643ea8Slogwangdevice agp 175a9643ea8Slogwang 176a9643ea8Slogwang# 177a9643ea8Slogwang# AGP debugging. 178a9643ea8Slogwang# 179a9643ea8Slogwangoptions AGP_DEBUG 180a9643ea8Slogwang 181a9643ea8Slogwang 182a9643ea8Slogwang##################################################################### 183a9643ea8Slogwang# HARDWARE DEVICE CONFIGURATION 184a9643ea8Slogwang 185a9643ea8Slogwang# To include support for VGA VESA video modes 186a9643ea8Slogwangoptions VESA 187a9643ea8Slogwang 188a9643ea8Slogwang# Turn on extra debugging checks and output for VESA support. 189a9643ea8Slogwangoptions VESA_DEBUG 190a9643ea8Slogwang 191a9643ea8Slogwangdevice dpms # DPMS suspend & resume via VESA BIOS 192a9643ea8Slogwang 193a9643ea8Slogwang# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa 194a9643ea8Slogwangoptions X86BIOS 195a9643ea8Slogwang 196a9643ea8Slogwang# 197a9643ea8Slogwang# Optional devices: 198a9643ea8Slogwang# 199a9643ea8Slogwang 200a9643ea8Slogwang# PS/2 mouse 201a9643ea8Slogwangdevice psm 202*22ce4affSfengbojiangenvvar hint.psm.0.at="atkbdc" 203*22ce4affSfengbojiangenvvar hint.psm.0.irq="12" 204a9643ea8Slogwang 205a9643ea8Slogwang# Options for psm: 206a9643ea8Slogwangoptions PSM_HOOKRESUME #hook the system resume event, useful 207a9643ea8Slogwang #for some laptops 208a9643ea8Slogwangoptions PSM_RESETAFTERSUSPEND #reset the device at the resume event 209a9643ea8Slogwang 210a9643ea8Slogwang# The keyboard controller; it controls the keyboard and the PS/2 mouse. 211a9643ea8Slogwangdevice atkbdc 212*22ce4affSfengbojiangenvvar hint.atkbdc.0.at="isa" 213*22ce4affSfengbojiangenvvar hint.atkbdc.0.port="0x060" 214a9643ea8Slogwang 215a9643ea8Slogwang# The AT keyboard 216a9643ea8Slogwangdevice atkbd 217*22ce4affSfengbojiangenvvar hint.atkbd.0.at="atkbdc" 218*22ce4affSfengbojiangenvvar hint.atkbd.0.irq="1" 219a9643ea8Slogwang 220a9643ea8Slogwang# Options for atkbd: 221a9643ea8Slogwangoptions ATKBD_DFLT_KEYMAP # specify the built-in keymap 222a9643ea8Slogwangmakeoptions ATKBD_DFLT_KEYMAP=fr.dvorak 223a9643ea8Slogwang 224a9643ea8Slogwang# `flags' for atkbd: 225a9643ea8Slogwang# 0x01 Force detection of keyboard, else we always assume a keyboard 226a9643ea8Slogwang# 0x02 Don't reset keyboard, useful for some newer ThinkPads 227a9643ea8Slogwang# 0x03 Force detection and avoid reset, might help with certain 228a9643ea8Slogwang# dockingstations 229a9643ea8Slogwang# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads 230a9643ea8Slogwang 231a9643ea8Slogwang# Video card driver for VGA adapters. 232a9643ea8Slogwangdevice vga 233*22ce4affSfengbojiangenvvar hint.vga.0.at="isa" 234a9643ea8Slogwang 235a9643ea8Slogwang# Options for vga: 236a9643ea8Slogwang# Try the following option if the mouse pointer is not drawn correctly 237a9643ea8Slogwang# or font does not seem to be loaded properly. May cause flicker on 238a9643ea8Slogwang# some systems. 239a9643ea8Slogwangoptions VGA_ALT_SEQACCESS 240a9643ea8Slogwang 241a9643ea8Slogwang# If you can dispense with some vga driver features, you may want to 242a9643ea8Slogwang# use the following options to save some memory. 243a9643ea8Slogwang#options VGA_NO_FONT_LOADING # don't save/load font 244a9643ea8Slogwang#options VGA_NO_MODE_CHANGE # don't change video modes 245a9643ea8Slogwang 246a9643ea8Slogwang# Older video cards may require this option for proper operation. 247a9643ea8Slogwangoptions VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs 248a9643ea8Slogwang 249a9643ea8Slogwang# The following option probably won't work with the LCD displays. 250a9643ea8Slogwangoptions VGA_WIDTH90 # support 90 column modes 251a9643ea8Slogwang 252a9643ea8Slogwang# Debugging. 253a9643ea8Slogwangoptions VGA_DEBUG 254a9643ea8Slogwang 255a9643ea8Slogwang# vt(4) drivers. 256a9643ea8Slogwangdevice vt_vga # VGA 257a9643ea8Slogwangdevice vt_efifb # EFI framebuffer 258*22ce4affSfengbojiangdevice vt_vbefb # VBE framebuffer 259a9643ea8Slogwang 260a9643ea8Slogwang# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. 261a9643ea8Slogwangdevice s3pci 262a9643ea8Slogwang 263a9643ea8Slogwang# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 264a9643ea8Slogwang# the /dev/3dfx0 device to work with glide implementations. This should get 265a9643ea8Slogwang# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 266a9643ea8Slogwang# the tdfx DRI module from XFree86 and is completely unrelated. 267a9643ea8Slogwang# 268a9643ea8Slogwang# To enable Linuxulator support, one must also include COMPAT_LINUX in the 269a9643ea8Slogwang# config as well. The other option is to load both as modules. 270a9643ea8Slogwang 271a9643ea8Slogwangdevice tdfx # Enable 3Dfx Voodoo support 272a9643ea8Slogwang#XXX#device tdfx_linux # Enable Linuxulator support 273a9643ea8Slogwang 274a9643ea8Slogwang# 275a9643ea8Slogwang# ACPI support using the Intel ACPI Component Architecture reference 276a9643ea8Slogwang# implementation. 277a9643ea8Slogwang# 278a9643ea8Slogwang# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer 279a9643ea8Slogwang# kernel environment variables to select initial debugging levels for the 280a9643ea8Slogwang# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER 281a9643ea8Slogwang# defined when it is built). 282a9643ea8Slogwang 283a9643ea8Slogwangdevice acpi 284a9643ea8Slogwangoptions ACPI_DEBUG 285a9643ea8Slogwang 286a9643ea8Slogwang# The cpufreq(4) driver provides support for non-ACPI CPU frequency control 287a9643ea8Slogwangdevice cpufreq 288a9643ea8Slogwang 289a9643ea8Slogwang# 290a9643ea8Slogwang# Network interfaces: 291a9643ea8Slogwang# 292a9643ea8Slogwang 293a9643ea8Slogwang# bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet 294a9643ea8Slogwang# adapters. 295*22ce4affSfengbojiang# ice: Intel 800 Series Physical Function 296*22ce4affSfengbojiang# Requires the ice_ddp module for full functionality 297a9643ea8Slogwang# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter 298a9643ea8Slogwang# Requires the ipw firmware module 299a9643ea8Slogwang# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters 300a9643ea8Slogwang# Requires the iwi firmware module 301a9643ea8Slogwang# iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn 302a9643ea8Slogwang# 802.11 network adapters 303a9643ea8Slogwang# Requires the iwn firmware module 304a9643ea8Slogwang# mthca: Mellanox HCA InfiniBand 305*22ce4affSfengbojiang# mlx4ib: Mellanox ConnectX HCA InfiniBand 306*22ce4affSfengbojiang# mlx4en: Mellanox ConnectX HCA Ethernet 307a9643ea8Slogwang# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) 308a9643ea8Slogwang# sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters 309a9643ea8Slogwang# vmx: VMware VMXNET3 Ethernet (BSD open source) 310a9643ea8Slogwang# wpi: Intel 3945ABG Wireless LAN controller 311a9643ea8Slogwang# Requires the wpi firmware module 312a9643ea8Slogwang 313a9643ea8Slogwangdevice bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE 314a9643ea8Slogwangoptions ED_3C503 315a9643ea8Slogwangoptions ED_HPP 316a9643ea8Slogwangoptions ED_SIC 317a9643ea8Slogwangdevice ipw # Intel 2100 wireless NICs. 318a9643ea8Slogwangdevice iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. 319a9643ea8Slogwangdevice iwn # Intel 4965/1000/5000/6000 wireless NICs. 320*22ce4affSfengbojiangdevice ixl # Intel 700 Series Physical Function 321*22ce4affSfengbojiangdevice iavf # Intel Adaptive Virtual Function 322*22ce4affSfengbojiangdevice ice # Intel 800 Series Physical Function 323*22ce4affSfengbojiangdevice ice_ddp # Intel 800 Series DDP Package 324a9643ea8Slogwangdevice mthca # Mellanox HCA InfiniBand 325*22ce4affSfengbojiangdevice mlx4 # Shared code module between IB and Ethernet 326*22ce4affSfengbojiangdevice mlx4ib # Mellanox ConnectX HCA InfiniBand 327*22ce4affSfengbojiangdevice mlx4en # Mellanox ConnectX HCA Ethernet 328a9643ea8Slogwangdevice nfe # nVidia nForce MCP on-board Ethernet 329a9643ea8Slogwangdevice sfxge # Solarflare SFC9000 10Gb Ethernet 330a9643ea8Slogwangdevice vmx # VMware VMXNET3 Ethernet 331a9643ea8Slogwangdevice wpi # Intel 3945ABG wireless NICs. 332*22ce4affSfengbojiangdevice axp # AMD EPYC integrated NIC 333a9643ea8Slogwang 334a9643ea8Slogwang# IEEE 802.11 adapter firmware modules 335a9643ea8Slogwang 336a9643ea8Slogwang# Intel PRO/Wireless 2100 firmware: 337a9643ea8Slogwang# ipwfw: BSS/IBSS/monitor mode firmware 338a9643ea8Slogwang# ipwbssfw: BSS mode firmware 339a9643ea8Slogwang# ipwibssfw: IBSS mode firmware 340a9643ea8Slogwang# ipwmonitorfw: Monitor mode firmware 341a9643ea8Slogwang# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware: 342a9643ea8Slogwang# iwifw: BSS/IBSS/monitor mode firmware 343a9643ea8Slogwang# iwibssfw: BSS mode firmware 344a9643ea8Slogwang# iwiibssfw: IBSS mode firmware 345a9643ea8Slogwang# iwimonitorfw: Monitor mode firmware 346a9643ea8Slogwang# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware: 347a9643ea8Slogwang# iwnfw: Single module to support all devices 348a9643ea8Slogwang# iwn1000fw: Specific module for the 1000 only 349a9643ea8Slogwang# iwn105fw: Specific module for the 105 only 350a9643ea8Slogwang# iwn135fw: Specific module for the 135 only 351a9643ea8Slogwang# iwn2000fw: Specific module for the 2000 only 352a9643ea8Slogwang# iwn2030fw: Specific module for the 2030 only 353a9643ea8Slogwang# iwn4965fw: Specific module for the 4965 only 354a9643ea8Slogwang# iwn5000fw: Specific module for the 5000 only 355a9643ea8Slogwang# iwn5150fw: Specific module for the 5150 only 356a9643ea8Slogwang# iwn6000fw: Specific module for the 6000 only 357a9643ea8Slogwang# iwn6000g2afw: Specific module for the 6000g2a only 358a9643ea8Slogwang# iwn6000g2bfw: Specific module for the 6000g2b only 359a9643ea8Slogwang# iwn6050fw: Specific module for the 6050 only 360a9643ea8Slogwang# wpifw: Intel 3945ABG Wireless LAN Controller firmware 361a9643ea8Slogwang 362a9643ea8Slogwangdevice iwifw 363a9643ea8Slogwangdevice iwibssfw 364a9643ea8Slogwangdevice iwiibssfw 365a9643ea8Slogwangdevice iwimonitorfw 366a9643ea8Slogwangdevice ipwfw 367a9643ea8Slogwangdevice ipwbssfw 368a9643ea8Slogwangdevice ipwibssfw 369a9643ea8Slogwangdevice ipwmonitorfw 370a9643ea8Slogwangdevice iwnfw 371a9643ea8Slogwangdevice iwn1000fw 372a9643ea8Slogwangdevice iwn105fw 373a9643ea8Slogwangdevice iwn135fw 374a9643ea8Slogwangdevice iwn2000fw 375a9643ea8Slogwangdevice iwn2030fw 376a9643ea8Slogwangdevice iwn4965fw 377a9643ea8Slogwangdevice iwn5000fw 378a9643ea8Slogwangdevice iwn5150fw 379a9643ea8Slogwangdevice iwn6000fw 380a9643ea8Slogwangdevice iwn6000g2afw 381a9643ea8Slogwangdevice iwn6000g2bfw 382a9643ea8Slogwangdevice iwn6050fw 383a9643ea8Slogwangdevice wpifw 384a9643ea8Slogwang 385*22ce4affSfengbojiang# 386*22ce4affSfengbojiang# Non-Transparent Bridge (NTB) drivers 387*22ce4affSfengbojiang# 388*22ce4affSfengbojiangdevice if_ntb # Virtual NTB network interface 389*22ce4affSfengbojiangdevice ntb_transport # NTB packet transport driver 390*22ce4affSfengbojiangdevice ntb # NTB hardware interface 391*22ce4affSfengbojiangdevice ntb_hw_amd # AMD NTB hardware driver 392*22ce4affSfengbojiangdevice ntb_hw_intel # Intel NTB hardware driver 393*22ce4affSfengbojiangdevice ntb_hw_plx # PLX NTB hardware driver 394a9643ea8Slogwang 395a9643ea8Slogwang# 396a9643ea8Slogwang#XXX this stores pointers in a 32bit field that is defined by the hardware 397a9643ea8Slogwang#device pst 398a9643ea8Slogwang 399a9643ea8Slogwang# 400a9643ea8Slogwang# Areca 11xx and 12xx series of SATA II RAID controllers. 401a9643ea8Slogwang# CAM is required. 402a9643ea8Slogwang# 403a9643ea8Slogwangdevice arcmsr # Areca SATA II RAID 404a9643ea8Slogwang 405a9643ea8Slogwang# 406*22ce4affSfengbojiang# Microsemi smartpqi controllers. 407*22ce4affSfengbojiang# These controllers have a SCSI-like interface, and require the 408*22ce4affSfengbojiang# CAM infrastructure. 409*22ce4affSfengbojiang# 410*22ce4affSfengbojiangdevice smartpqi 411*22ce4affSfengbojiang 412*22ce4affSfengbojiang# 413a9643ea8Slogwang# 3ware 9000 series PATA/SATA RAID controller driver and options. 414a9643ea8Slogwang# The driver is implemented as a SIM, and so, needs the CAM infrastructure. 415a9643ea8Slogwang# 416a9643ea8Slogwangoptions TWA_DEBUG # 0-10; 10 prints the most messages. 417a9643ea8Slogwangdevice twa # 3ware 9000 series PATA/SATA RAID 418a9643ea8Slogwang 419a9643ea8Slogwang# 420a9643ea8Slogwang# Adaptec FSA RAID controllers, including integrated DELL controllers, 421a9643ea8Slogwang# the Dell PERC 2/QC and the HP NetRAID-4M 422a9643ea8Slogwangdevice aac 423a9643ea8Slogwangdevice aacp # SCSI Passthrough interface (optional, CAM required) 424a9643ea8Slogwang 425a9643ea8Slogwang# 426a9643ea8Slogwang# Highpoint RocketRAID 27xx. 427a9643ea8Slogwangdevice hpt27xx 428a9643ea8Slogwang 429a9643ea8Slogwang# 430a9643ea8Slogwang# Highpoint RocketRAID 182x. 431a9643ea8Slogwangdevice hptmv 432a9643ea8Slogwang 433a9643ea8Slogwang# 434a9643ea8Slogwang# Highpoint DC7280 and R750. 435a9643ea8Slogwangdevice hptnr 436a9643ea8Slogwang 437a9643ea8Slogwang# 438a9643ea8Slogwang# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, 439a9643ea8Slogwang# RR2210, RR174x, RR2522, RR231x, RR230x. 440a9643ea8Slogwangdevice hptrr 441a9643ea8Slogwang 442a9643ea8Slogwang# 443a9643ea8Slogwang# Highpoint RocketRaid 3xxx series SATA RAID 444a9643ea8Slogwangdevice hptiop 445a9643ea8Slogwang 446a9643ea8Slogwang# 447a9643ea8Slogwang# IBM (now Adaptec) ServeRAID controllers 448a9643ea8Slogwangdevice ips 449a9643ea8Slogwang 450a9643ea8Slogwang# 451*22ce4affSfengbojiang# Intel integrated Memory Controller (iMC) SMBus controller 452*22ce4affSfengbojiang# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon 453*22ce4affSfengbojiangdevice imcsmb 454*22ce4affSfengbojiang 455*22ce4affSfengbojiang# 456a9643ea8Slogwang# Intel C600 (Patsburg) integrated SAS controller 457a9643ea8Slogwangdevice isci 458a9643ea8Slogwangoptions ISCI_LOGGING # enable debugging in isci HAL 459a9643ea8Slogwang 460a9643ea8Slogwang# 461a9643ea8Slogwang# NVM Express (NVMe) support 462a9643ea8Slogwangdevice nvme # base NVMe driver 463a9643ea8Slogwangdevice nvd # expose NVMe namespaces as disks, depends on nvme 464a9643ea8Slogwang 465a9643ea8Slogwang# 466*22ce4affSfengbojiang# Intel Volume Management Device (VMD) support 467*22ce4affSfengbojiangdevice vmd # base VMD device 468*22ce4affSfengbojiangdevice vmd_bus # bus for VMD children 469*22ce4affSfengbojiang 470*22ce4affSfengbojiang# 471a9643ea8Slogwang# PMC-Sierra SAS/SATA controller 472a9643ea8Slogwangdevice pmspcv 473a9643ea8Slogwang 474a9643ea8Slogwang# 475*22ce4affSfengbojiang# Intel QuickAssist 476*22ce4affSfengbojiangdevice qat 477*22ce4affSfengbojiang 478*22ce4affSfengbojiang# 479a9643ea8Slogwang# SafeNet crypto driver: can be moved to the MI NOTES as soon as 480a9643ea8Slogwang# it's tested on a big-endian machine 481a9643ea8Slogwang# 482a9643ea8Slogwangdevice safe # SafeNet 1141 483a9643ea8Slogwangoptions SAFE_DEBUG # enable debugging support: hw.safe.debug 484a9643ea8Slogwangoptions SAFE_RNDTEST # enable rndtest support 485a9643ea8Slogwang 486a9643ea8Slogwang# 487a9643ea8Slogwang# VirtIO support 488a9643ea8Slogwang# 489a9643ea8Slogwang# The virtio entry provides a generic bus for use by the device drivers. 490a9643ea8Slogwang# It must be combined with an interface that communicates with the host. 491a9643ea8Slogwang# Multiple such interfaces are defined by the VirtIO specification. FreeBSD 492a9643ea8Slogwang# only has support for PCI. Therefore, virtio_pci must be statically 493a9643ea8Slogwang# compiled in or loaded as a module for the device drivers to function. 494a9643ea8Slogwang# 495a9643ea8Slogwangdevice virtio # Generic VirtIO bus (required) 496a9643ea8Slogwangdevice virtio_pci # VirtIO PCI Interface 497a9643ea8Slogwangdevice vtnet # VirtIO Ethernet device 498a9643ea8Slogwangdevice virtio_blk # VirtIO Block device 499a9643ea8Slogwangdevice virtio_scsi # VirtIO SCSI device 500a9643ea8Slogwangdevice virtio_balloon # VirtIO Memory Balloon device 501a9643ea8Slogwangdevice virtio_random # VirtIO Entropy device 502a9643ea8Slogwangdevice virtio_console # VirtIO Console device 503a9643ea8Slogwang 504a9643ea8Slogwang# Microsoft Hyper-V enhancement support 505a9643ea8Slogwangdevice hyperv # HyperV drivers 506a9643ea8Slogwang 507a9643ea8Slogwang# Xen HVM Guest Optimizations 508a9643ea8Slogwangoptions XENHVM # Xen HVM kernel infrastructure 509a9643ea8Slogwangdevice xenpci # Xen HVM Hypervisor services driver 510a9643ea8Slogwang 511a9643ea8Slogwang##################################################################### 512a9643ea8Slogwang 513a9643ea8Slogwang# 514a9643ea8Slogwang# Miscellaneous hardware: 515a9643ea8Slogwang# 516a9643ea8Slogwang# ipmi: Intelligent Platform Management Interface 517a9643ea8Slogwang# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) 518a9643ea8Slogwang# smbios: DMI/SMBIOS entry point 519a9643ea8Slogwang# vpd: Vital Product Data kernel interface 520a9643ea8Slogwang# asmc: Apple System Management Controller 521a9643ea8Slogwang# si: Specialix International SI/XIO or SX intelligent serial card 522a9643ea8Slogwang# tpm: Trusted Platform Module 523a9643ea8Slogwang 524a9643ea8Slogwang# Notes on the Specialix SI/XIO driver: 525a9643ea8Slogwang# The host card is memory, not IO mapped. 526a9643ea8Slogwang# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 527a9643ea8Slogwang# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 528a9643ea8Slogwang# The cards can use an IRQ of 11, 12 or 15. 529a9643ea8Slogwang 530a9643ea8Slogwangdevice ipmi 531a9643ea8Slogwangdevice pbio 532*22ce4affSfengbojiangenvvar hint.pbio.0.at="isa" 533*22ce4affSfengbojiangenvvar hint.pbio.0.port="0x360" 534a9643ea8Slogwangdevice smbios 535a9643ea8Slogwangdevice vpd 536a9643ea8Slogwangdevice asmc 537a9643ea8Slogwangdevice tpm 538a9643ea8Slogwangdevice padlock_rng # VIA Padlock RNG 539a9643ea8Slogwangdevice rdrand_rng # Intel Bull Mountain RNG 540a9643ea8Slogwangdevice aesni # AES-NI OpenCrypto module 541*22ce4affSfengbojiangdevice ossl # OpenSSL OpenCrypto module 542a9643ea8Slogwangdevice ioat # Intel I/OAT DMA engine 543a9643ea8Slogwang 544a9643ea8Slogwang# 545a9643ea8Slogwang# Laptop/Notebook options: 546a9643ea8Slogwang# 547a9643ea8Slogwang 548*22ce4affSfengbojiangdevice backlight 549a9643ea8Slogwang 550a9643ea8Slogwang# 551a9643ea8Slogwang# I2C Bus 552a9643ea8Slogwang# 553a9643ea8Slogwang 554a9643ea8Slogwang# 555a9643ea8Slogwang# Hardware watchdog timers: 556a9643ea8Slogwang# 557a9643ea8Slogwang# ichwd: Intel ICH watchdog timer 558a9643ea8Slogwang# amdsbwd: AMD SB7xx watchdog timer 559a9643ea8Slogwang# viawd: VIA south bridge watchdog timer 560a9643ea8Slogwang# wbwd: Winbond watchdog timer 561*22ce4affSfengbojiang# itwd: ITE Super I/O watchdog timer 562a9643ea8Slogwang# 563a9643ea8Slogwangdevice ichwd 564a9643ea8Slogwangdevice amdsbwd 565a9643ea8Slogwangdevice viawd 566a9643ea8Slogwangdevice wbwd 567*22ce4affSfengbojiangdevice itwd 568a9643ea8Slogwang 569a9643ea8Slogwang# 570a9643ea8Slogwang# Temperature sensors: 571a9643ea8Slogwang# 572a9643ea8Slogwang# coretemp: on-die sensor on Intel Core and newer CPUs 573a9643ea8Slogwang# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs 574a9643ea8Slogwang# 575a9643ea8Slogwangdevice coretemp 576a9643ea8Slogwangdevice amdtemp 577a9643ea8Slogwang 578a9643ea8Slogwang# 579a9643ea8Slogwang# CPU control pseudo-device. Provides access to MSRs, CPUID info and 580a9643ea8Slogwang# microcode update feature. 581a9643ea8Slogwang# 582a9643ea8Slogwangdevice cpuctl 583a9643ea8Slogwang 584a9643ea8Slogwang# 585*22ce4affSfengbojiang# SuperIO driver. 586*22ce4affSfengbojiang# 587*22ce4affSfengbojiangdevice superio 588*22ce4affSfengbojiang 589*22ce4affSfengbojiang# 590a9643ea8Slogwang# System Management Bus (SMB) 591a9643ea8Slogwang# 592a9643ea8Slogwangoptions ENABLE_ALART # Control alarm on Intel intpm driver 593a9643ea8Slogwang 594a9643ea8Slogwang# 595*22ce4affSfengbojiang# AMD System Management Network (SMN) 596*22ce4affSfengbojiang# 597*22ce4affSfengbojiangdevice amdsmn 598*22ce4affSfengbojiang 599*22ce4affSfengbojiang# 600a9643ea8Slogwang# Number of initial kernel page table pages used for early bootstrap. 601a9643ea8Slogwang# This number should include enough pages to map the kernel and any 602a9643ea8Slogwang# modules or other data loaded with the kernel by the loader. Each 603a9643ea8Slogwang# page table page maps 2MB. 604a9643ea8Slogwang# 605a9643ea8Slogwangoptions NKPT=31 606a9643ea8Slogwang 607*22ce4affSfengbojiang# EFI Runtime Services support 608*22ce4affSfengbojiangoptions EFIRT 609*22ce4affSfengbojiang 610*22ce4affSfengbojiang# 611*22ce4affSfengbojiang# HID-over-I2C support 612*22ce4affSfengbojiang# 613*22ce4affSfengbojiangdevice iichid # HID-over-I2C support 614*22ce4affSfengbojiangoptions IICHID_DEBUG # Enable HID-over-I2C debug messages 615*22ce4affSfengbojiangoptions IICHID_SAMPLING # Workaround missing GPIO INTR support 616*22ce4affSfengbojiang 617a9643ea8Slogwang##################################################################### 618a9643ea8Slogwang# ABI Emulation 619a9643ea8Slogwang 620a9643ea8Slogwang#XXX keep these here for now and reactivate when support for emulating 621a9643ea8Slogwang#XXX these 32 bit binaries is added. 622a9643ea8Slogwang 623a9643ea8Slogwang# Enable 32-bit runtime support for FreeBSD/i386 binaries. 624a9643ea8Slogwangoptions COMPAT_FREEBSD32 625a9643ea8Slogwang 626*22ce4affSfengbojiang# Enable (32-bit) a.out binary support 627*22ce4affSfengbojiangoptions COMPAT_AOUT 628a9643ea8Slogwang 629*22ce4affSfengbojiang# Enable 32-bit runtime support for CloudABI binaries. 630*22ce4affSfengbojiangoptions COMPAT_CLOUDABI32 631a9643ea8Slogwang 632a9643ea8Slogwang# Enable 64-bit runtime support for CloudABI binaries. 633a9643ea8Slogwangoptions COMPAT_CLOUDABI64 634a9643ea8Slogwang 635a9643ea8Slogwang# Enable Linux ABI emulation 636a9643ea8Slogwang#XXX#options COMPAT_LINUX 637a9643ea8Slogwang 638*22ce4affSfengbojiang# Enable 32-bit Linux ABI emulation (requires COMPAT_FREEBSD32). 639a9643ea8Slogwangoptions COMPAT_LINUX32 640a9643ea8Slogwang 641a9643ea8Slogwang# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32 642a9643ea8Slogwang# and PSEUDOFS) 643a9643ea8Slogwangoptions LINPROCFS 644a9643ea8Slogwang 645a9643ea8Slogwang#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32 646a9643ea8Slogwang# and PSEUDOFS) 647a9643ea8Slogwangoptions LINSYSFS 648a9643ea8Slogwang 649*22ce4affSfengbojiang##################################################################### 650*22ce4affSfengbojiang# ZFS support 651a9643ea8Slogwang 652*22ce4affSfengbojiang# NB: This depends on crypto, cryptodev and ZSTDIO 653*22ce4affSfengbojiangoptions ZFS 654*22ce4affSfengbojiang 655a9643ea8Slogwang##################################################################### 656a9643ea8Slogwang# VM OPTIONS 657a9643ea8Slogwang 658a9643ea8Slogwang# KSTACK_PAGES is the number of memory pages to assign to the kernel 659a9643ea8Slogwang# stack of each thread. 660a9643ea8Slogwang 661a9643ea8Slogwangoptions KSTACK_PAGES=5 662a9643ea8Slogwang 663a9643ea8Slogwang# Enable detailed accounting by the PV entry allocator. 664a9643ea8Slogwang 665a9643ea8Slogwangoptions PV_STATS 666a9643ea8Slogwang 667a9643ea8Slogwang##################################################################### 668a9643ea8Slogwang 669a9643ea8Slogwang# More undocumented options for linting. 670a9643ea8Slogwang# Note that documenting these are not considered an affront. 671a9643ea8Slogwang 672a9643ea8Slogwangoptions FB_INSTALL_CDEV # install a CDEV entry in /dev 673a9643ea8Slogwang 674a9643ea8Slogwangoptions KBDIO_DEBUG=2 675a9643ea8Slogwangoptions KBD_MAXRETRY=4 676a9643ea8Slogwangoptions KBD_MAXWAIT=6 677a9643ea8Slogwangoptions KBD_RESETDELAY=201 678a9643ea8Slogwang 679a9643ea8Slogwangoptions PSM_DEBUG=1 680a9643ea8Slogwang 681a9643ea8Slogwangoptions TIMER_FREQ=((14318182+6)/12) 682a9643ea8Slogwang 683a9643ea8Slogwangoptions VM_KMEM_SIZE 684a9643ea8Slogwangoptions VM_KMEM_SIZE_MAX 685a9643ea8Slogwangoptions VM_KMEM_SIZE_SCALE 686a9643ea8Slogwang 687a9643ea8Slogwang# Enable NDIS binary driver support 688a9643ea8Slogwangoptions NDISAPI 689a9643ea8Slogwangdevice ndis 690*22ce4affSfengbojiang 691*22ce4affSfengbojiang 692*22ce4affSfengbojiang# GCOV (code coverage) support 693*22ce4affSfengbojiang 694*22ce4affSfengbojiangoptions LINDEBUGFS 695*22ce4affSfengbojiangoptions GCOV 696