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