1b132d96eSPeter Wemm# 2b132d96eSPeter Wemm# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 3b132d96eSPeter Wemm# 4b132d96eSPeter Wemm# This file contains machine dependent kernel configuration notes. For 5b132d96eSPeter Wemm# machine independent notes, look in /sys/conf/NOTES. 632a31d0dSDavid E. O'Brien# 7b132d96eSPeter Wemm# $FreeBSD$ 8b132d96eSPeter Wemm# 9b132d96eSPeter Wemm 10b132d96eSPeter Wemm# 1175294710SPeter Wemm# We want LINT to cover profiling as well. 1280a11093SPeter Wemmprofile 2 1332a31d0dSDavid E. O'Brien 149e3e64e7SKonstantin Belousov# 159e3e64e7SKonstantin Belousov# Enable the kernel DTrace hooks which are required to load the DTrace 169e3e64e7SKonstantin Belousov# kernel modules. 179e3e64e7SKonstantin Belousov# 189e3e64e7SKonstantin Belousovoptions KDTRACE_HOOKS 199e3e64e7SKonstantin Belousov 2032a31d0dSDavid E. O'Brien 215b9bfb42SDavid E. O'Brien##################################################################### 225b9bfb42SDavid E. O'Brien# SMP OPTIONS: 235b9bfb42SDavid E. O'Brien# 245b9bfb42SDavid E. O'Brien# Notes: 255b9bfb42SDavid E. O'Brien# 267452bc49SStephan Uphoff# IPI_PREEMPTION instructs the kernel to preempt threads running on other 277452bc49SStephan Uphoff# CPUS if needed. Relies on the PREEMPTION option 285b9bfb42SDavid E. O'Brien 295b9bfb42SDavid E. O'Brien# Optional: 307452bc49SStephan Uphoffoptions IPI_PREEMPTION 3142044ceeSDavid E. O'Briendevice atpic # Optional legacy pic support 3284883913SDavid E. O'Briendevice mptable # Optional MPSPEC mptable support 335b9bfb42SDavid E. O'Brien 34fdbbb288SDavid E. O'Brien# 35fdbbb288SDavid E. O'Brien# Watchdog routines. 36fdbbb288SDavid E. O'Brien# 37fdbbb288SDavid E. O'Brienoptions MP_WATCHDOG 38fdbbb288SDavid E. O'Brien 39d3646381SAlexander Motin# Debugging options. 40d3646381SAlexander Motin# 41d3646381SAlexander Motinoptions COUNT_XINVLTLB_HITS # Counters for TLB events 42d3646381SAlexander Motinoptions COUNT_IPIS # Per-CPU IPI interrupt counters 43d3646381SAlexander Motin 44fdc9713bSDoug White 455b9bfb42SDavid E. O'Brien 465b9bfb42SDavid E. O'Brien##################################################################### 475b9bfb42SDavid E. O'Brien# CPU OPTIONS 485b9bfb42SDavid E. O'Brien 495b9bfb42SDavid E. O'Brien# 505b9bfb42SDavid E. O'Brien# You must specify at least one CPU (the one you intend to run on); 515b9bfb42SDavid E. O'Brien# deleting the specification for CPUs you don't need to use may make 525b9bfb42SDavid E. O'Brien# parts of the system run faster. 535b9bfb42SDavid E. O'Brien# 545b9bfb42SDavid E. O'Briencpu HAMMER # aka K8, aka Opteron & Athlon64 555b9bfb42SDavid E. O'Brien 565b9bfb42SDavid E. O'Brien# 575b9bfb42SDavid E. O'Brien# Options for CPU features. 585b9bfb42SDavid E. O'Brien# 59b132d96eSPeter Wemm 60b132d96eSPeter Wemm# 61b132d96eSPeter Wemm# PERFMON causes the driver for Pentium/Pentium Pro performance counters 62b132d96eSPeter Wemm# to be compiled. See perfmon(4) for more information. 63b132d96eSPeter Wemm# 645b9bfb42SDavid E. O'Brien#XXX#options PERFMON 65b132d96eSPeter Wemm 66b132d96eSPeter Wemm 67b132d96eSPeter Wemm##################################################################### 68b132d96eSPeter Wemm# NETWORKING OPTIONS 69b132d96eSPeter Wemm 70b132d96eSPeter Wemm# 71b132d96eSPeter Wemm# DEVICE_POLLING adds support for mixed interrupt-polling handling 72b132d96eSPeter Wemm# of network device drivers, which has significant benefits in terms 73b132d96eSPeter Wemm# of robustness to overloads and responsivity, as well as permitting 74b132d96eSPeter Wemm# accurate scheduling of the CPU time between kernel network processing 75b132d96eSPeter Wemm# and other activities. The drawback is a moderate (up to 1/HZ seconds) 76b132d96eSPeter Wemm# potential increase in response times. 77b132d96eSPeter Wemm# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 78b132d96eSPeter Wemm# to achieve smoother behaviour. 799c26aa3cSGleb Smirnoff# Additionally, you can enable/disable polling at runtime with help of 809c26aa3cSGleb Smirnoff# the ifconfig(8) utility, and select the CPU fraction reserved to 819c26aa3cSGleb Smirnoff# userland with the sysctl variable kern.polling.user_frac 829c26aa3cSGleb Smirnoff# (default 50, range 0..100). 83b132d96eSPeter Wemm# 845b9bfb42SDavid E. O'Brien# Not all device drivers support this mode of operation at the time of 855b9bfb42SDavid E. O'Brien# this writing. See polling(4) for more details. 86b132d96eSPeter Wemm 87b132d96eSPeter Wemmoptions DEVICE_POLLING 88b132d96eSPeter Wemm 89cb7d38abSJung-uk Kim# BPF_JITTER adds support for BPF just-in-time compiler. 90cb7d38abSJung-uk Kim 91cb7d38abSJung-uk Kimoptions BPF_JITTER 92cb7d38abSJung-uk Kim 93ed5a2b61SJohn Baldwin# OpenFabrics Enterprise Distribution (Infiniband). 94ed5a2b61SJohn Baldwinoptions OFED 95ed5a2b61SJohn Baldwinoptions OFED_DEBUG_INIT 96ed5a2b61SJohn Baldwin 97ed5a2b61SJohn Baldwin# Sockets Direct Protocol 98ed5a2b61SJohn Baldwinoptions SDP 99ed5a2b61SJohn Baldwinoptions SDP_DEBUG 100ed5a2b61SJohn Baldwin 1014c104449SJohn Baldwin# IP over Infiniband 102ed5a2b61SJohn Baldwinoptions IPOIB 103ed5a2b61SJohn Baldwinoptions IPOIB_DEBUG 104ed5a2b61SJohn Baldwinoptions IPOIB_CM 105ed5a2b61SJohn Baldwin 106b132d96eSPeter Wemm 107b132d96eSPeter Wemm##################################################################### 108b132d96eSPeter Wemm# CLOCK OPTIONS 109b132d96eSPeter Wemm 110c8b14fa8SPeter Wemm# Provide read/write access to the memory in the clock chip. 111c8b14fa8SPeter Wemmdevice nvram # Access to rtc cmos via /dev/nvram 112c8b14fa8SPeter Wemm 113b132d96eSPeter Wemm 114b132d96eSPeter Wemm##################################################################### 115b132d96eSPeter Wemm# MISCELLANEOUS DEVICES AND OPTIONS 116b132d96eSPeter Wemm 1176d8200ffSRuslan Ermilovdevice speaker #Play IBM BASIC-style noises out your speaker 1186d8200ffSRuslan Ermilovhint.speaker.0.at="isa" 1196d8200ffSRuslan Ermilovhint.speaker.0.port="0x61" 120b132d96eSPeter Wemmdevice gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! 121b132d96eSPeter Wemm 122b132d96eSPeter Wemm 123b132d96eSPeter Wemm##################################################################### 124b132d96eSPeter Wemm# HARDWARE BUS CONFIGURATION 125b132d96eSPeter Wemm 126b132d96eSPeter Wemm# 127b132d96eSPeter Wemm# ISA bus 128b132d96eSPeter Wemm# 129b132d96eSPeter Wemmdevice isa 130b132d96eSPeter Wemm 131b132d96eSPeter Wemm# 132b132d96eSPeter Wemm# Options for `isa': 133b132d96eSPeter Wemm# 134b132d96eSPeter Wemm# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 135b132d96eSPeter Wemm# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 136b132d96eSPeter Wemm# This option breaks suspend/resume on some portables. 137b132d96eSPeter Wemm# 138b132d96eSPeter Wemm# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A 139b132d96eSPeter Wemm# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 140b132d96eSPeter Wemm# Automatic EOI is documented not to work for for the slave with the 141b132d96eSPeter Wemm# original i8259A, but it works for some clones and some integrated 142b132d96eSPeter Wemm# versions. 143b132d96eSPeter Wemm# 144b132d96eSPeter Wemm# MAXMEM specifies the amount of RAM on the machine; if this is not 145b132d96eSPeter Wemm# specified, FreeBSD will first read the amount of memory from the CMOS 146b132d96eSPeter Wemm# RAM, so the amount of memory will initially be limited to 64MB or 16MB 147b132d96eSPeter Wemm# depending on the BIOS. If the BIOS reports 64MB, a memory probe will 148b132d96eSPeter Wemm# then attempt to detect the installed amount of RAM. If this probe 149b132d96eSPeter Wemm# fails to detect >64MB RAM you will have to use the MAXMEM option. 150b132d96eSPeter Wemm# The amount is in kilobytes, so for a machine with 128MB of RAM, it would 151b132d96eSPeter Wemm# be 131072 (128 * 1024). 152b132d96eSPeter Wemm# 153b132d96eSPeter Wemm# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 154b132d96eSPeter Wemm# reset the CPU for reboot. This is needed on some systems with broken 155b132d96eSPeter Wemm# keyboard controllers. 156b132d96eSPeter Wemm 1575b9bfb42SDavid E. O'Brienoptions AUTO_EOI_1 1585b9bfb42SDavid E. O'Brien#options AUTO_EOI_2 1595b9bfb42SDavid E. O'Brien 160b132d96eSPeter Wemmoptions MAXMEM=(128*1024) 161b132d96eSPeter Wemm#options BROKEN_KEYBOARD_RESET 162b132d96eSPeter Wemm 163b132d96eSPeter Wemm# 164b132d96eSPeter Wemm# PCI bus & PCI options: 165b132d96eSPeter Wemm# 166b132d96eSPeter Wemmdevice pci 167b132d96eSPeter Wemm 168b132d96eSPeter Wemm# 169b132d96eSPeter Wemm# AGP GART support 170b132d96eSPeter Wemmdevice agp 171b132d96eSPeter Wemm 172c353491aSWojciech A. Koszek# 173c353491aSWojciech A. Koszek# AGP debugging. 174c353491aSWojciech A. Koszek# 175c353491aSWojciech A. Koszekoptions AGP_DEBUG 176c353491aSWojciech A. Koszek 177b132d96eSPeter Wemm 178b132d96eSPeter Wemm##################################################################### 179b132d96eSPeter Wemm# HARDWARE DEVICE CONFIGURATION 180b132d96eSPeter Wemm 1816abad12dSXin LI# To include support for VGA VESA video modes 182ee5e90daSXin LIoptions VESA 183ee5e90daSXin LI 184ee5e90daSXin LI# Turn on extra debugging checks and output for VESA support. 185ee5e90daSXin LIoptions VESA_DEBUG 186ee5e90daSXin LI 187a57707e7SXin LIdevice dpms # DPMS suspend & resume via VESA BIOS 188a57707e7SXin LI 189a57707e7SXin LI# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa 190a57707e7SXin LIoptions X86BIOS 191a57707e7SXin LI 192b132d96eSPeter Wemm# 193b132d96eSPeter Wemm# Optional devices: 194b132d96eSPeter Wemm# 195b132d96eSPeter Wemm 196c43ac89aSDag-Erling Smørgrav# PS/2 mouse 197c43ac89aSDag-Erling Smørgravdevice psm 198c43ac89aSDag-Erling Smørgravhint.psm.0.at="atkbdc" 199c43ac89aSDag-Erling Smørgravhint.psm.0.irq="12" 200c43ac89aSDag-Erling Smørgrav 201c43ac89aSDag-Erling Smørgrav# Options for psm: 202c43ac89aSDag-Erling Smørgravoptions PSM_HOOKRESUME #hook the system resume event, useful 203c43ac89aSDag-Erling Smørgrav #for some laptops 204c43ac89aSDag-Erling Smørgravoptions PSM_RESETAFTERSUSPEND #reset the device at the resume event 205c43ac89aSDag-Erling Smørgrav 206c43ac89aSDag-Erling Smørgrav# The keyboard controller; it controls the keyboard and the PS/2 mouse. 207c43ac89aSDag-Erling Smørgravdevice atkbdc 208c43ac89aSDag-Erling Smørgravhint.atkbdc.0.at="isa" 209c43ac89aSDag-Erling Smørgravhint.atkbdc.0.port="0x060" 210c43ac89aSDag-Erling Smørgrav 211c43ac89aSDag-Erling Smørgrav# The AT keyboard 212c43ac89aSDag-Erling Smørgravdevice atkbd 213c43ac89aSDag-Erling Smørgravhint.atkbd.0.at="atkbdc" 214c43ac89aSDag-Erling Smørgravhint.atkbd.0.irq="1" 215c43ac89aSDag-Erling Smørgrav 216c43ac89aSDag-Erling Smørgrav# Options for atkbd: 217c43ac89aSDag-Erling Smørgravoptions ATKBD_DFLT_KEYMAP # specify the built-in keymap 218c43ac89aSDag-Erling Smørgravmakeoptions ATKBD_DFLT_KEYMAP=jp.106 219c43ac89aSDag-Erling Smørgrav 220c43ac89aSDag-Erling Smørgrav# `flags' for atkbd: 221c43ac89aSDag-Erling Smørgrav# 0x01 Force detection of keyboard, else we always assume a keyboard 222c43ac89aSDag-Erling Smørgrav# 0x02 Don't reset keyboard, useful for some newer ThinkPads 223c43ac89aSDag-Erling Smørgrav# 0x03 Force detection and avoid reset, might help with certain 224c43ac89aSDag-Erling Smørgrav# dockingstations 225c43ac89aSDag-Erling Smørgrav# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads 226c43ac89aSDag-Erling Smørgrav 227c43ac89aSDag-Erling Smørgrav# Video card driver for VGA adapters. 228c43ac89aSDag-Erling Smørgravdevice vga 229c43ac89aSDag-Erling Smørgravhint.vga.0.at="isa" 230c43ac89aSDag-Erling Smørgrav 231c43ac89aSDag-Erling Smørgrav# Options for vga: 232c43ac89aSDag-Erling Smørgrav# Try the following option if the mouse pointer is not drawn correctly 233c43ac89aSDag-Erling Smørgrav# or font does not seem to be loaded properly. May cause flicker on 234c43ac89aSDag-Erling Smørgrav# some systems. 235c43ac89aSDag-Erling Smørgravoptions VGA_ALT_SEQACCESS 236c43ac89aSDag-Erling Smørgrav 237c43ac89aSDag-Erling Smørgrav# If you can dispense with some vga driver features, you may want to 238c43ac89aSDag-Erling Smørgrav# use the following options to save some memory. 239c43ac89aSDag-Erling Smørgrav#options VGA_NO_FONT_LOADING # don't save/load font 240c43ac89aSDag-Erling Smørgrav#options VGA_NO_MODE_CHANGE # don't change video modes 241c43ac89aSDag-Erling Smørgrav 242c43ac89aSDag-Erling Smørgrav# Older video cards may require this option for proper operation. 243c43ac89aSDag-Erling Smørgravoptions VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs 244c43ac89aSDag-Erling Smørgrav 245c43ac89aSDag-Erling Smørgrav# The following option probably won't work with the LCD displays. 246c43ac89aSDag-Erling Smørgravoptions VGA_WIDTH90 # support 90 column modes 247c43ac89aSDag-Erling Smørgrav 248c43ac89aSDag-Erling Smørgrav# Debugging. 249c43ac89aSDag-Erling Smørgravoptions VGA_DEBUG 250c43ac89aSDag-Erling Smørgrav 251*ccbb7b5eSEd Maste# vt(4) drivers. 252*ccbb7b5eSEd Mastedevice vt_vga # VGA 253*ccbb7b5eSEd Mastedevice vt_efifb # EFI framebuffer 254*ccbb7b5eSEd Maste 255372c7337SXin LI# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. 256372c7337SXin LIdevice s3pci 257372c7337SXin LI 2585b9bfb42SDavid E. O'Brien# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 2595b9bfb42SDavid E. O'Brien# the /dev/3dfx0 device to work with glide implementations. This should get 2605b9bfb42SDavid E. O'Brien# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 2615b9bfb42SDavid E. O'Brien# the tdfx DRI module from XFree86 and is completely unrelated. 2625b9bfb42SDavid E. O'Brien# 2635b9bfb42SDavid E. O'Brien# To enable Linuxulator support, one must also include COMPAT_LINUX in the 2644ffbe6baSYaroslav Tykhiy# config as well. The other option is to load both as modules. 2655b9bfb42SDavid E. O'Brien 2665b9bfb42SDavid E. O'Briendevice tdfx # Enable 3Dfx Voodoo support 2674ffbe6baSYaroslav Tykhiy#XXX#device tdfx_linux # Enable Linuxulator support 2685b9bfb42SDavid E. O'Brien 269b132d96eSPeter Wemm# 270b132d96eSPeter Wemm# ACPI support using the Intel ACPI Component Architecture reference 271b132d96eSPeter Wemm# implementation. 272b132d96eSPeter Wemm# 273b132d96eSPeter Wemm# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer 274b132d96eSPeter Wemm# kernel environment variables to select initial debugging levels for the 275b132d96eSPeter Wemm# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER 276b132d96eSPeter Wemm# defined when it is built). 2775b9bfb42SDavid E. O'Brien 278b132d96eSPeter Wemmdevice acpi 279b132d96eSPeter Wemmoptions ACPI_DEBUG 280b132d96eSPeter Wemm 281a1ec5393SNate Lawson# The cpufreq(4) driver provides support for non-ACPI CPU frequency control 282a1ec5393SNate Lawsondevice cpufreq 283a1ec5393SNate Lawson 284b8aa843cSEric Anholt# Direct Rendering modules for 3D acceleration. 285b8aa843cSEric Anholtdevice drm # DRM core module required by DRM drivers 28669b9fffcSEric Anholtdevice i915drm # Intel i830 through i915 287b8aa843cSEric Anholtdevice mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL 288b8aa843cSEric Anholtdevice mgadrm # AGP Matrox G200, G400, G450, G550 289b8aa843cSEric Anholtdevice r128drm # ATI Rage 128 290af088425SEric Anholtdevice radeondrm # ATI Radeon 2919fb07673SEric Anholtdevice savagedrm # S3 Savage3D, Savage4 292b8aa843cSEric Anholtdevice sisdrm # SiS 300/305, 540, 630 293b8aa843cSEric Anholtdevice tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee 294b1ba33ffSRobert Nolanddevice viadrm # VIA 295b8aa843cSEric Anholtoptions DRM_DEBUG # Include debug printfs (slow) 296b132d96eSPeter Wemm 297b132d96eSPeter Wemm# 298b132d96eSPeter Wemm# Network interfaces: 299b132d96eSPeter Wemm# 300b132d96eSPeter Wemm 3014e400768SDavid Christensen# bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet 3024e400768SDavid Christensen# adapters. 30332a31d0dSDavid E. O'Brien# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 304e54ad0a1SWarner Losh# HP PC Lan+, various PC Card devices 30575294710SPeter Wemm# (requires miibus) 306e3d7caf4SJohn Baldwin# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter 307c7ea7c46SRebecca Cran# Requires the ipw firmware module 308e3d7caf4SJohn Baldwin# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters 309c7ea7c46SRebecca Cran# Requires the iwi firmware module 310c7ea7c46SRebecca Cran# iwn: Intel Wireless WiFi Link 4965/1000/5000/6000 802.11 network adapters 311c7ea7c46SRebecca Cran# Requires the iwn firmware module 312ed5a2b61SJohn Baldwin# mlx4ib: Mellanox ConnectX HCA InfiniBand 313ed5a2b61SJohn Baldwin# mlxen: Mellanox ConnectX HCA Ethernet 314ed5a2b61SJohn Baldwin# mthca: Mellanox HCA InfiniBand 315bfc788c2SDavid E. O'Brien# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) 3167ac6374dSPhilip Paeps# sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters 317ddb4ffd0SBryan Venteicher# vmx: VMware VMXNET3 Ethernet (BSD open source) 31803734771SBenjamin Close# wpi: Intel 3945ABG Wireless LAN controller 319c7ea7c46SRebecca Cran# Requires the wpi firmware module 320b132d96eSPeter Wemm 3214e400768SDavid Christensendevice bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE 32220b5d3bfSJohn Baldwindevice ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards 3236ec29713SPeter Wemmoptions ED_3C503 3246ec29713SPeter Wemmoptions ED_HPP 3256ec29713SPeter Wemmoptions ED_SIC 32620b5d3bfSJohn Baldwindevice ipw # Intel 2100 wireless NICs. 32720b5d3bfSJohn Baldwindevice iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. 32820b5d3bfSJohn Baldwindevice iwn # Intel 4965/1000/5000/6000 wireless NICs. 329ed5a2b61SJohn Baldwindevice mlx4ib # Mellanox ConnectX HCA InfiniBand 330ed5a2b61SJohn Baldwindevice mlxen # Mellanox ConnectX HCA Ethernet 331ed5a2b61SJohn Baldwindevice mthca # Mellanox HCA InfiniBand 33220b5d3bfSJohn Baldwindevice nfe # nVidia nForce MCP on-board Ethernet 333778eefa4SJohn Baldwindevice sfxge # Solarflare SFC9000 10Gb Ethernet 334ddb4ffd0SBryan Venteicherdevice vmx # VMware VMXNET3 Ethernet 33520b5d3bfSJohn Baldwindevice wpi # Intel 3945ABG wireless NICs. 33632a31d0dSDavid E. O'Brien 337c7ea7c46SRebecca Cran# IEEE 802.11 adapter firmware modules 338c7ea7c46SRebecca Cran 339c7ea7c46SRebecca Cran# Intel PRO/Wireless 2100 firmware: 340c7ea7c46SRebecca Cran# ipwfw: BSS/IBSS/monitor mode firmware 341c7ea7c46SRebecca Cran# ipwbssfw: BSS mode firmware 342c7ea7c46SRebecca Cran# ipwibssfw: IBSS mode firmware 343c7ea7c46SRebecca Cran# ipwmonitorfw: Monitor mode firmware 344c7ea7c46SRebecca Cran# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware: 345c7ea7c46SRebecca Cran# iwifw: BSS/IBSS/monitor mode firmware 346c7ea7c46SRebecca Cran# iwibssfw: BSS mode firmware 347c7ea7c46SRebecca Cran# iwiibssfw: IBSS mode firmware 348c7ea7c46SRebecca Cran# iwimonitorfw: Monitor mode firmware 349c7ea7c46SRebecca Cran# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware: 350c7ea7c46SRebecca Cran# iwnfw: Single module to support the 4965/1000/5000/5150/6000 351c7ea7c46SRebecca Cran# iwn4965fw: Specific module for the 4965 only 352c7ea7c46SRebecca Cran# iwn1000fw: Specific module for the 1000 only 353c7ea7c46SRebecca Cran# iwn5000fw: Specific module for the 5000 only 354c7ea7c46SRebecca Cran# iwn5150fw: Specific module for the 5150 only 355c7ea7c46SRebecca Cran# iwn6000fw: Specific module for the 6000 only 356774f94f1SBernhard Schmidt# iwn6050fw: Specific module for the 6050 only 357c7ea7c46SRebecca Cran# wpifw: Intel 3945ABG Wireless LAN Controller firmware 358c7ea7c46SRebecca Cran 359c7ea7c46SRebecca Crandevice iwifw 360c7ea7c46SRebecca Crandevice iwibssfw 361c7ea7c46SRebecca Crandevice iwiibssfw 362c7ea7c46SRebecca Crandevice iwimonitorfw 363c7ea7c46SRebecca Crandevice ipwfw 364c7ea7c46SRebecca Crandevice ipwbssfw 365c7ea7c46SRebecca Crandevice ipwibssfw 366c7ea7c46SRebecca Crandevice ipwmonitorfw 367c7ea7c46SRebecca Crandevice iwnfw 368c7ea7c46SRebecca Crandevice iwn4965fw 369c7ea7c46SRebecca Crandevice iwn1000fw 370c7ea7c46SRebecca Crandevice iwn5000fw 371c7ea7c46SRebecca Crandevice iwn5150fw 372c7ea7c46SRebecca Crandevice iwn6000fw 373774f94f1SBernhard Schmidtdevice iwn6050fw 374c7ea7c46SRebecca Crandevice wpifw 375c7ea7c46SRebecca Cran 376e47937d1SCarl Delsey# Intel Non-Transparent Bridge (NTB) hardware 377e47937d1SCarl Delseydevice ntb_hw # Hardware Abstraction Layer for the NTB 378e47937d1SCarl Delseydevice if_ntb # Simulated ethernet device using the NTB 379e47937d1SCarl Delsey 380b132d96eSPeter Wemm# 3815b9bfb42SDavid E. O'Brien#XXX this stores pointers in a 32bit field that is defined by the hardware 3825b9bfb42SDavid E. O'Brien#device pst 383b132d96eSPeter Wemm 384b132d96eSPeter Wemm# 385d0885ac3SScott Long# Areca 11xx and 12xx series of SATA II RAID controllers. 386d0885ac3SScott Long# CAM is required. 387d0885ac3SScott Long# 388d0885ac3SScott Longdevice arcmsr # Areca SATA II RAID 389d0885ac3SScott Long 390d0885ac3SScott Long# 3917be2e3e2SPeter Wemm# 3ware 9000 series PATA/SATA RAID controller driver and options. 3927be2e3e2SPeter Wemm# The driver is implemented as a SIM, and so, needs the CAM infrastructure. 3937be2e3e2SPeter Wemm# 3947be2e3e2SPeter Wemmoptions TWA_DEBUG # 0-10; 10 prints the most messages. 3957be2e3e2SPeter Wemmoptions TWA_FLASH_FIRMWARE # firmware image bundled when defined. 3967be2e3e2SPeter Wemmdevice twa # 3ware 9000 series PATA/SATA RAID 3977be2e3e2SPeter Wemm 3987be2e3e2SPeter Wemm# 399b132d96eSPeter Wemm# SCSI host adapters: 400b132d96eSPeter Wemm# 40132a31d0dSDavid E. O'Brien# ncv: NCR 53C500 based SCSI host adapters. 40232a31d0dSDavid E. O'Brien# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. 40332a31d0dSDavid E. O'Brien# stg: TMC 18C30, 18C50 based SCSI host adapters. 40432a31d0dSDavid E. O'Brien 40532a31d0dSDavid E. O'Briendevice ncv 40632a31d0dSDavid E. O'Briendevice nsp 40732a31d0dSDavid E. O'Briendevice stg 408b132d96eSPeter Wemm 409b132d96eSPeter Wemm# 410b132d96eSPeter Wemm# Adaptec FSA RAID controllers, including integrated DELL controllers, 411b132d96eSPeter Wemm# the Dell PERC 2/QC and the HP NetRAID-4M 412b132d96eSPeter Wemmdevice aac 413b132d96eSPeter Wemmdevice aacp # SCSI Passthrough interface (optional, CAM required) 414b132d96eSPeter Wemm 415b132d96eSPeter Wemm# 416dce93cd0SAchim Leubner# Adaptec by PMC RAID controllers, Series 6/7/8 and upcoming families 417dce93cd0SAchim Leubnerdevice aacraid # Container interface, CAM required 418dce93cd0SAchim Leubner 419dce93cd0SAchim Leubner# 42081966bceSXin LI# Highpoint RocketRAID 27xx. 42181966bceSXin LIdevice hpt27xx 42281966bceSXin LI 42381966bceSXin LI# 424b063a422SScott Long# Highpoint RocketRAID 182x. 425dc8540a9SScott Longdevice hptmv 42680a11093SPeter Wemm 42780a11093SPeter Wemm# 4281fdeb165SXin LI# Highpoint DC7280 and R750. 4291fdeb165SXin LIdevice hptnr 4301fdeb165SXin LI 4311fdeb165SXin LI# 432b063a422SScott Long# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, 433b063a422SScott Long# RR2210, RR174x, RR2522, RR231x, RR230x. 434b063a422SScott Longdevice hptrr 435b063a422SScott Long 436b063a422SScott Long# 437f73e86c3SScott Long# Highpoint RocketRaid 3xxx series SATA RAID 438f73e86c3SScott Longdevice hptiop 439f73e86c3SScott Long 440f73e86c3SScott Long# 441b132d96eSPeter Wemm# IBM (now Adaptec) ServeRAID controllers 442b132d96eSPeter Wemmdevice ips 443b132d96eSPeter Wemm 444b132d96eSPeter Wemm# 445f11c7f63SJim Harris# Intel C600 (Patsburg) integrated SAS controller 446f11c7f63SJim Harrisdevice isci 447f11c7f63SJim Harrisoptions ISCI_LOGGING # enable debugging in isci HAL 448f11c7f63SJim Harris 449f11c7f63SJim Harris# 450eb85d44fSJim Harris# NVM Express (NVMe) support 451eb85d44fSJim Harrisdevice nvme # base NVMe driver 452eb85d44fSJim Harrisdevice nvd # expose NVMe namespaces as disks, depends on nvme 453eb85d44fSJim Harris 454eb85d44fSJim Harris# 455b132d96eSPeter Wemm# SafeNet crypto driver: can be moved to the MI NOTES as soon as 456b132d96eSPeter Wemm# it's tested on a big-endian machine 457b132d96eSPeter Wemm# 458b132d96eSPeter Wemmdevice safe # SafeNet 1141 459b132d96eSPeter Wemmoptions SAFE_DEBUG # enable debugging support: hw.safe.debug 460b132d96eSPeter Wemmoptions SAFE_RNDTEST # enable rndtest support 461b132d96eSPeter Wemm 462ae366ffcSBryan Venteicher# 463ae366ffcSBryan Venteicher# VirtIO support 4640cfbcf8cSBryan Venteicher# 4650cfbcf8cSBryan Venteicher# The virtio entry provides a generic bus for use by the device drivers. 4660cfbcf8cSBryan Venteicher# It must be combined with an interface that communicates with the host. 467aa27ed45SJens Schweikhardt# Multiple such interfaces are defined by the VirtIO specification. FreeBSD 4680cfbcf8cSBryan Venteicher# only has support for PCI. Therefore, virtio_pci must be statically 4690cfbcf8cSBryan Venteicher# compiled in or loaded as a module for the device drivers to function. 4700cfbcf8cSBryan Venteicher# 471ae366ffcSBryan Venteicherdevice virtio # Generic VirtIO bus (required) 472ae366ffcSBryan Venteicherdevice virtio_pci # VirtIO PCI Interface 473ae366ffcSBryan Venteicherdevice vtnet # VirtIO Ethernet device 474ae366ffcSBryan Venteicherdevice virtio_blk # VirtIO Block device 475ae366ffcSBryan Venteicherdevice virtio_scsi # VirtIO SCSI device 476ae366ffcSBryan Venteicherdevice virtio_balloon # VirtIO Memory Balloon device 47710c40180SBryan Venteicherdevice virtio_random # VirtIO Entropy device 478ae366ffcSBryan Venteicher 47969eb2b17SGleb Smirnoffdevice hyperv # HyperV drivers 48069eb2b17SGleb Smirnoff 48169eb2b17SGleb Smirnoff# Xen HVM Guest Optimizations 48269eb2b17SGleb Smirnoffoptions XENHVM # Xen HVM kernel infrastructure 48369eb2b17SGleb Smirnoffdevice xenpci # Xen HVM Hypervisor services driver 48469eb2b17SGleb Smirnoff 485b132d96eSPeter Wemm##################################################################### 486b132d96eSPeter Wemm 487b132d96eSPeter Wemm# 488b132d96eSPeter Wemm# Miscellaneous hardware: 489b132d96eSPeter Wemm# 490d72a0786SJohn Baldwin# ipmi: Intelligent Platform Management Interface 491c4ce3ea6SWojciech A. Koszek# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) 4924bf21bfeSPeter Wemm# smbios: DMI/SMBIOS entry point 4934bf21bfeSPeter Wemm# vpd: Vital Product Data kernel interface 494d9aa6eb4SRui Paulo# asmc: Apple System Management Controller 495c4ce3ea6SWojciech A. Koszek# si: Specialix International SI/XIO or SX intelligent serial card 496cbf4dac6SNorikatsu Shigemura# tpm: Trusted Platform Module 497b132d96eSPeter Wemm 498b132d96eSPeter Wemm# Notes on the Specialix SI/XIO driver: 499b132d96eSPeter Wemm# The host card is memory, not IO mapped. 500b132d96eSPeter Wemm# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 501b132d96eSPeter Wemm# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 502b132d96eSPeter Wemm# The cards can use an IRQ of 11, 12 or 15. 503b132d96eSPeter Wemm 504d72a0786SJohn Baldwindevice ipmi 50580a11093SPeter Wemmdevice pbio 50680a11093SPeter Wemmhint.pbio.0.at="isa" 50780a11093SPeter Wemmhint.pbio.0.port="0x360" 508a52daa5fSJung-uk Kimdevice smbios 5094bf21bfeSPeter Wemmdevice vpd 510d9aa6eb4SRui Paulodevice asmc 511c4ce3ea6SWojciech A. Koszek#device si 512cbf4dac6SNorikatsu Shigemuradevice tpm 51346be218dSDavid E. O'Briendevice padlock_rng # VIA Padlock RNG 51446be218dSDavid E. O'Briendevice rdrand_rng # Intel Bull Mountain RNG 51529904f46SJohn-Mark Gurneydevice aesni # AES-NI OpenCrypto module 516c4ce3ea6SWojciech A. Koszek 517b132d96eSPeter Wemm# 518b132d96eSPeter Wemm# Laptop/Notebook options: 519b132d96eSPeter Wemm# 520b132d96eSPeter Wemm 5215b9bfb42SDavid E. O'Brien 5225b9bfb42SDavid E. O'Brien# 5235b9bfb42SDavid E. O'Brien# I2C Bus 5245b9bfb42SDavid E. O'Brien# 5255b9bfb42SDavid E. O'Brien 52680a11093SPeter Wemm# 52780a11093SPeter Wemm# Hardware watchdog timers: 52880a11093SPeter Wemm# 52980a11093SPeter Wemm# ichwd: Intel ICH watchdog timer 5305022f21bSAndriy Gapon# amdsbwd: AMD SB7xx watchdog timer 53125841e91SXin LI# viawd: VIA south bridge watchdog timer 5320566170fSBjoern A. Zeeb# wbwd: Winbond watchdog timer 53380a11093SPeter Wemm# 53480a11093SPeter Wemmdevice ichwd 5355022f21bSAndriy Gapondevice amdsbwd 53661af1d13SFabien Thomasdevice viawd 5370566170fSBjoern A. Zeebdevice wbwd 53880a11093SPeter Wemm 53983d18f22SDag-Erling Smørgrav# 54083d18f22SDag-Erling Smørgrav# Temperature sensors: 54183d18f22SDag-Erling Smørgrav# 54283d18f22SDag-Erling Smørgrav# coretemp: on-die sensor on Intel Core and newer CPUs 5436465d2d9SDmitry Chagin# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs 54483d18f22SDag-Erling Smørgrav# 54583d18f22SDag-Erling Smørgravdevice coretemp 5466465d2d9SDmitry Chagindevice amdtemp 54783d18f22SDag-Erling Smørgrav 548b132d96eSPeter Wemm# 549e085f869SStanislav Sedov# CPU control pseudo-device. Provides access to MSRs, CPUID info and 550e085f869SStanislav Sedov# microcode update feature. 551e085f869SStanislav Sedov# 552e085f869SStanislav Sedovdevice cpuctl 553e085f869SStanislav Sedov 554e085f869SStanislav Sedov# 5557be2e3e2SPeter Wemm# System Management Bus (SMB) 5567be2e3e2SPeter Wemm# 5577be2e3e2SPeter Wemmoptions ENABLE_ALART # Control alarm on Intel intpm driver 5587be2e3e2SPeter Wemm 5597be2e3e2SPeter Wemm# 560cee0b197SJohn Baldwin# Number of initial kernel page table pages used for early bootstrap. 561cee0b197SJohn Baldwin# This number should include enough pages to map the kernel and any 562cee0b197SJohn Baldwin# modules or other data loaded with the kernel by the loader. Each 563cee0b197SJohn Baldwin# page table page maps 2MB. 564cee0b197SJohn Baldwin# 565cee0b197SJohn Baldwinoptions NKPT=31 566cee0b197SJohn Baldwin 567b132d96eSPeter Wemm 568b132d96eSPeter Wemm##################################################################### 569b132d96eSPeter Wemm# ABI Emulation 570b132d96eSPeter Wemm 5715b9bfb42SDavid E. O'Brien#XXX keep these here for now and reactivate when support for emulating 5725b9bfb42SDavid E. O'Brien#XXX these 32 bit binaries is added. 5735b9bfb42SDavid E. O'Brien 574c680f6b1SDavid E. O'Brien# Enable 32-bit runtime support for FreeBSD/i386 binaries. 575841c0c7eSNathan Whitehornoptions COMPAT_FREEBSD32 576c680f6b1SDavid E. O'Brien 5775b9bfb42SDavid E. O'Brien# Enable iBCS2 runtime support for SCO and ISC binaries 5785b9bfb42SDavid E. O'Brien#XXX#options IBCS2 5795b9bfb42SDavid E. O'Brien 5805b9bfb42SDavid E. O'Brien# Emulate spx device for client side of SVR3 local X interface 5815b9bfb42SDavid E. O'Brien#XXX#options SPX_HACK 5825b9bfb42SDavid E. O'Brien 583b132d96eSPeter Wemm# Enable Linux ABI emulation 5845b9bfb42SDavid E. O'Brien#XXX#options COMPAT_LINUX 585b132d96eSPeter Wemm 586841c0c7eSNathan Whitehorn# Enable 32-bit Linux ABI emulation (requires COMPAT_43 and COMPAT_FREEBSD32) 587ea0fabbcSTim J. Robbinsoptions COMPAT_LINUX32 588ea0fabbcSTim J. Robbins 5897a474197STim J. Robbins# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32 590b132d96eSPeter Wemm# and PSEUDOFS) 5917a474197STim J. Robbinsoptions LINPROCFS 5925b9bfb42SDavid E. O'Brien 59332397ce0SDoug Ambrisko#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32 59432397ce0SDoug Ambrisko# and PSEUDOFS) 59532397ce0SDoug Ambriskooptions LINSYSFS 59632397ce0SDoug Ambrisko 5975b9bfb42SDavid E. O'Brien# 5985b9bfb42SDavid E. O'Brien# SysVR4 ABI emulation 5995b9bfb42SDavid E. O'Brien# 6005b9bfb42SDavid E. O'Brien# The svr4 ABI emulator can be statically compiled into the kernel or loaded as 6015b9bfb42SDavid E. O'Brien# a KLD module. 6025b9bfb42SDavid E. O'Brien# The STREAMS network emulation code can also be compiled statically or as a 6035b9bfb42SDavid E. O'Brien# module. If loaded as a module, it must be loaded before the svr4 module 6045b9bfb42SDavid E. O'Brien# (the /usr/sbin/svr4 script does this for you). If compiling statically, 6055b9bfb42SDavid E. O'Brien# the `streams' device must be configured into any kernel which also 6065b9bfb42SDavid E. O'Brien# specifies COMPAT_SVR4. It is possible to have a statically-configured 6075b9bfb42SDavid E. O'Brien# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 6085b9bfb42SDavid E. O'Brien# script understands that it doesn't need to load the `streams' module under 6095b9bfb42SDavid E. O'Brien# those circumstances. 6105b9bfb42SDavid E. O'Brien# Caveat: At this time, `options KTRACE' is required for the svr4 emulator 6115b9bfb42SDavid E. O'Brien# (whether static or dynamic). 6125b9bfb42SDavid E. O'Brien# 6135b9bfb42SDavid E. O'Brien#XXX#options COMPAT_SVR4 # build emulator statically 6140fef69a2SPeter Wemm#XXX#options DEBUG_SVR4 # enable verbose debugging 6155b9bfb42SDavid E. O'Brien#XXX#device streams # STREAMS network driver (required for svr4). 616b132d96eSPeter Wemm 617b132d96eSPeter Wemm 618b132d96eSPeter Wemm##################################################################### 619b132d96eSPeter Wemm# VM OPTIONS 620b132d96eSPeter Wemm 621b132d96eSPeter Wemm# KSTACK_PAGES is the number of memory pages to assign to the kernel 622b132d96eSPeter Wemm# stack of each thread. 623b132d96eSPeter Wemm 624136882cfSAndriy Gaponoptions KSTACK_PAGES=5 625b132d96eSPeter Wemm 6265d4c773bSAlan Cox# Enable detailed accounting by the PV entry allocator. 6275d4c773bSAlan Cox 6285d4c773bSAlan Coxoptions PV_STATS 6295d4c773bSAlan Cox 630b132d96eSPeter Wemm##################################################################### 631b132d96eSPeter Wemm 632b132d96eSPeter Wemm# More undocumented options for linting. 633b132d96eSPeter Wemm# Note that documenting these are not considered an affront. 634b132d96eSPeter Wemm 635b132d96eSPeter Wemmoptions FB_INSTALL_CDEV # install a CDEV entry in /dev 636b132d96eSPeter Wemm 637b132d96eSPeter Wemmoptions KBDIO_DEBUG=2 638b132d96eSPeter Wemmoptions KBD_MAXRETRY=4 639b132d96eSPeter Wemmoptions KBD_MAXWAIT=6 640b132d96eSPeter Wemmoptions KBD_RESETDELAY=201 641b132d96eSPeter Wemm 642b132d96eSPeter Wemmoptions PSM_DEBUG=1 643b132d96eSPeter Wemm 644b132d96eSPeter Wemmoptions TIMER_FREQ=((14318182+6)/12) 645b132d96eSPeter Wemm 646b132d96eSPeter Wemmoptions VM_KMEM_SIZE 647b132d96eSPeter Wemmoptions VM_KMEM_SIZE_MAX 648b132d96eSPeter Wemmoptions VM_KMEM_SIZE_SCALE 6498ab2f5ecSMark Murray 650e3d7caf4SJohn Baldwin# Enable NDIS binary driver support 651663963b1SAndrew Thompsonoptions NDISAPI 652663963b1SAndrew Thompsondevice ndis 653