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# We don't have modules on amd64. 11makeoptions NO_MODULES=not_yet 12 13# 14# This directive is mandatory; it defines the architecture to be 15# configured for; in this case, the 386 family based IBM-PC and 16# compatibles. 17# 18machine amd64 19 20# 21# We want LINT to cover profiling as well 22#XXX#profile 2 23 24 25##################################################################### 26# SMP OPTIONS: 27# 28# The apic device enables the use of the I/O APIC for interrupt delivery. 29# The apic device can be used in both UP and SMP kernels, but is required 30# for SMP kernels. Thus, the apic device is not strictly an SMP option, 31# but it is a prerequisite for SMP. 32# 33# Notes: 34# 35# By default, mixed mode is used to route IRQ0 from the AT timer via 36# the 8259A master PIC through the ExtINT pin on the first I/O APIC. 37# This can be disabled via the NO_MIXED_MODE option. In that case, 38# IRQ0 will be routed via an intpin on the first I/O APIC. Not all 39# motherboards hook IRQ0 up to the first I/O APIC even though their 40# MP table or MADT may claim to do so. That is why mixed mode is 41# enabled by default. 42# 43 44# Optional: 45device atpic # Legacy pic 46device mptable 47options NO_MIXED_MODE # Disable use of mixed mode 48 49 50##################################################################### 51# CPU OPTIONS 52 53# 54# You must specify at least one CPU (the one you intend to run on); 55# deleting the specification for CPUs you don't need to use may make 56# parts of the system run faster. 57# 58cpu HAMMER # aka K8, aka Opteron & Athlon64 59 60# 61# Options for CPU features. 62# 63 64# 65# PERFMON causes the driver for Pentium/Pentium Pro performance counters 66# to be compiled. See perfmon(4) for more information. 67# 68#XXX#options PERFMON 69 70 71##################################################################### 72# NETWORKING OPTIONS 73 74# 75# DEVICE_POLLING adds support for mixed interrupt-polling handling 76# of network device drivers, which has significant benefits in terms 77# of robustness to overloads and responsivity, as well as permitting 78# accurate scheduling of the CPU time between kernel network processing 79# and other activities. The drawback is a moderate (up to 1/HZ seconds) 80# potential increase in response times. 81# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 82# to achieve smoother behaviour. 83# Additionally, you can enable/disable polling at runtime with the 84# sysctl variable kern.polling.enable (defaults off), and select 85# the CPU fraction reserved to userland with the sysctl variable 86# kern.polling.user_frac (default 50, range 0..100). 87# 88# Not all device drivers support this mode of operation at the time of 89# this writing. See polling(4) for more details. 90 91options DEVICE_POLLING 92 93 94##################################################################### 95# CLOCK OPTIONS 96 97# The following options are used for debugging clock behavior only, and 98# should not be used for production systems. 99 100# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at 101# startup until the user presses a key. (The i8254 clock is always 102# calibrated relative to the RTC (mc146818a) and this option causes the 103# calibration to be repeated.) 104options CLK_CALIBRATION_LOOP 105 106# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254 107# clock to actually be used. 108options CLK_USE_I8254_CALIBRATION 109 110 111##################################################################### 112# MISCELLANEOUS DEVICES AND OPTIONS 113 114device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! 115 116 117##################################################################### 118# HARDWARE BUS CONFIGURATION 119 120# 121# ISA bus 122# 123device isa 124 125# 126# Options for `isa': 127# 128# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 129# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 130# This option breaks suspend/resume on some portables. 131# 132# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A 133# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 134# Automatic EOI is documented not to work for for the slave with the 135# original i8259A, but it works for some clones and some integrated 136# versions. 137# 138# MAXMEM specifies the amount of RAM on the machine; if this is not 139# specified, FreeBSD will first read the amount of memory from the CMOS 140# RAM, so the amount of memory will initially be limited to 64MB or 16MB 141# depending on the BIOS. If the BIOS reports 64MB, a memory probe will 142# then attempt to detect the installed amount of RAM. If this probe 143# fails to detect >64MB RAM you will have to use the MAXMEM option. 144# The amount is in kilobytes, so for a machine with 128MB of RAM, it would 145# be 131072 (128 * 1024). 146# 147# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 148# reset the CPU for reboot. This is needed on some systems with broken 149# keyboard controllers. 150 151options AUTO_EOI_1 152#options AUTO_EOI_2 153 154options MAXMEM=(128*1024) 155#options BROKEN_KEYBOARD_RESET 156 157# 158# PCI bus & PCI options: 159# 160device pci 161 162# 163# AGP GART support 164device agp 165 166 167##################################################################### 168# HARDWARE DEVICE CONFIGURATION 169 170# To include support for VGA VESA video modes 171options VESA 172 173# Turn on extra debugging checks and output for VESA support. 174options VESA_DEBUG 175 176# 177# Optional devices: 178# 179 180# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 181# the /dev/3dfx0 device to work with glide implementations. This should get 182# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 183# the tdfx DRI module from XFree86 and is completely unrelated. 184# 185# To enable Linuxulator support, one must also include COMPAT_LINUX in the 186# config as well, or you will not have the dependencies. The other option 187# is to load both as modules. 188 189device tdfx # Enable 3Dfx Voodoo support 190#XXX#options TDFX_LINUX # Enable Linuxulator support 191 192# 193# ACPI support using the Intel ACPI Component Architecture reference 194# implementation. 195# 196# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer 197# kernel environment variables to select initial debugging levels for the 198# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER 199# defined when it is built). 200# 201# ACPI_MAX_THREADS sets the number of task threads started. 202# 203# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. 204# 205# ACPICA_PEDANTIC enables strict checking of AML. Our default is to 206# relax these checks to allow code generated by the Microsoft compiler 207# to still execute. 208# 209# Note that building ACPI into the kernel is deprecated; the module is 210# normally loaded automatically by the loader. 211 212device acpi 213options ACPI_DEBUG 214options ACPI_MAX_THREADS=1 215#!options ACPI_NO_SEMAPHORES 216#!options ACPICA_PEDANTIC 217 218# DRM options: 219# mgadrm: AGP Matrox G200, G400, G450, G550 220# r128drm: ATI Rage 128 221# radeondrm: ATI Radeon up to 9000/9100 222# sisdrm: SiS 300/305,540,630 223# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee 224# DRM_DEBUG: include debug printfs, very slow 225# 226# mga requires AGP in the kernel, and it is recommended 227# for AGP r128 and radeon cards. 228 229device mgadrm 230device "r128drm" 231device radeondrm 232device sisdrm 233device tdfxdrm 234 235options DRM_DEBUG 236 237# 238# Network interfaces: 239# 240 241# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 242# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf) 243# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and 244# Am79C960) 245 246#XXX# Needs to be busdma'ed. 247#XXX#device ed 248#XXX#device lnc 249 250# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) 251 252#XXX#device ath 253#XXX#device ath_hal # Atheros HAL (includes binary component) 254device wlan # 802.11 layer 255 256# 257# ATA raid adapters 258# 259#XXX this stores pointers in a 32bit field that is defined by the hardware 260#device pst 261 262# 263# SCSI host adapters: 264# 265# ncv: NCR 53C500 based SCSI host adapters. 266# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. 267# stg: TMC 18C30, 18C50 based SCSI host adapters. 268 269device ncv 270device nsp 271device stg 272 273# 274# Adaptec FSA RAID controllers, including integrated DELL controllers, 275# the Dell PERC 2/QC and the HP NetRAID-4M 276device aac 277device aacp # SCSI Passthrough interface (optional, CAM required) 278 279# 280# IBM (now Adaptec) ServeRAID controllers 281device ips 282 283# 284# SafeNet crypto driver: can be moved to the MI NOTES as soon as 285# it's tested on a big-endian machine 286# 287device safe # SafeNet 1141 288options SAFE_DEBUG # enable debugging support: hw.safe.debug 289options SAFE_RNDTEST # enable rndtest support 290 291##################################################################### 292 293# 294# Miscellaneous hardware: 295# 296# digi: Digiboard driver 297# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based) 298 299# Notes on the Specialix SI/XIO driver: 300# The host card is memory, not IO mapped. 301# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 302# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 303# The cards can use an IRQ of 11, 12 or 15. 304 305device digi 306hint.digi.0.at="isa" 307hint.digi.0.port="0x104" 308hint.digi.0.maddr="0xd0000" 309# BIOS & FEP/OS components of device digi. 310device digi_CX 311device digi_CX_PCI 312device digi_EPCX 313device digi_EPCX_PCI 314device digi_Xe 315device digi_Xem 316device digi_Xr 317#XXX# PCI versions exist, but driver needs to be moved and split up, 318#XXX# Warner Losh working on it. 319#XXX#device stl 320# HOT1 Xilinx 6200 card (http://www.vcc.com/) 321device xrpu 322 323# 324# Laptop/Notebook options: 325# 326 327 328# 329# I2C Bus 330# 331 332#--------------------------------------------------------------------------- 333# ISDN4BSD 334# 335# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd. 336# 337# i4b passive ISDN cards support contains the following hardware drivers: 338# 339# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver 340# iwic - Winbond W6692 PCI bus ISDN S/T interface controller 341# ifpi - AVM Fritz!Card PCI driver 342# ifpi2 - AVM Fritz!Card PCI version 2 driver 343# itjc - Siemens ISAC / TJNet Tiger300/320 chipset 344# 345# i4b active ISDN cards support contains the following hardware drivers: 346# 347# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1 348# 349# Note that the ``options'' (if given) and ``device'' lines must BOTH 350# be uncommented to enable support for a given card ! 351# 352# In addition to a hardware driver (and probably an option) the mandatory 353# ISDN protocol stack devices and the mandatory support device must be 354# enabled as well as one or more devices from the optional devices section. 355# 356#--------------------------------------------------------------------------- 357# isic driver (Siemens/Infineon chipsets) 358# 359#XXX#device isic 360# 361# PCI bus Cards: 362# -------------- 363# 364# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI) 365options ELSA_QS1PCI 366# 367#--------------------------------------------------------------------------- 368# ifpi2 driver for AVM Fritz!Card PCI version 2 369# 370# AVM Fritz!Card PCI version 2 371#XXX#device "ifpi2" 372# 373#--------------------------------------------------------------------------- 374# iwic driver for Winbond W6692 chipset 375# 376# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) 377#XXX#device iwic 378# 379#--------------------------------------------------------------------------- 380# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset 381# 382# Traverse Technologies NETjet-S 383# Teles PCI-TJ 384#XXX#device itjc 385# 386#--------------------------------------------------------------------------- 387# iavc driver (AVM active cards, needs i4bcapi driver!) 388# 389#XXX#device iavc 390# 391#--------------------------------------------------------------------------- 392# ISDN Protocol Stack - mandatory for all hardware drivers 393# 394# Q.921 / layer 2 - i4b passive cards D channel handling 395#XXX#device "i4bq921" 396# 397# Q.931 / layer 3 - i4b passive cards D channel handling 398#XXX#device "i4bq931" 399# 400# layer 4 - i4b common passive and active card handling 401#XXX#device "i4b" 402# 403#--------------------------------------------------------------------------- 404# ISDN devices - mandatory for all hardware drivers 405# 406# userland driver to do ISDN tracing (for passive cards only) 407#XXX#device "i4btrc" 4 408# 409# userland driver to control the whole thing 410#XXX#device "i4bctl" 411# 412#--------------------------------------------------------------------------- 413# ISDN devices - optional 414# 415# userland driver for access to raw B channel 416#XXX#device "i4brbch" 4 417# 418# userland driver for telephony 419#XXX#device "i4btel" 2 420# 421# network driver for IP over raw HDLC ISDN 422#XXX#device "i4bipr" 4 423# enable VJ header compression detection for ipr i/f 424options IPR_VJ 425# enable logging of the first n IP packets to isdnd (n=32 here) 426options IPR_LOG=32 427# 428# network driver for sync PPP over ISDN; requires an equivalent 429# number of sppp device to be configured 430#XXX#device "i4bisppp" 4 431# 432# B-channel interface to the netgraph subsystem 433#XXX#device "i4bing" 2 434# 435#--------------------------------------------------------------------------- 436 437# 438# Set the number of PV entries per process. Increasing this can 439# stop panics related to heavy use of shared memory. However, that can 440# (combined with large amounts of physical memory) cause panics at 441# boot time due the kernel running out of VM space. 442# 443# If you're tweaking this, you might also want to increase the sysctls 444# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". 445# 446# The value below is the one more than the default. 447# 448options PMAP_SHPGPERPROC=201 449 450 451##################################################################### 452# ABI Emulation 453 454#XXX keep these here for now and reactivate when support for emulating 455#XXX these 32 bit binaries is added. 456 457# Enable iBCS2 runtime support for SCO and ISC binaries 458#XXX#options IBCS2 459 460# Emulate spx device for client side of SVR3 local X interface 461#XXX#options SPX_HACK 462 463# Enable Linux ABI emulation 464#XXX#options COMPAT_LINUX 465 466# Enable the linux-like proc filesystem support (requires COMPAT_LINUX 467# and PSEUDOFS) 468#XXX#options LINPROCFS 469 470# 471# SysVR4 ABI emulation 472# 473# The svr4 ABI emulator can be statically compiled into the kernel or loaded as 474# a KLD module. 475# The STREAMS network emulation code can also be compiled statically or as a 476# module. If loaded as a module, it must be loaded before the svr4 module 477# (the /usr/sbin/svr4 script does this for you). If compiling statically, 478# the `streams' device must be configured into any kernel which also 479# specifies COMPAT_SVR4. It is possible to have a statically-configured 480# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 481# script understands that it doesn't need to load the `streams' module under 482# those circumstances. 483# Caveat: At this time, `options KTRACE' is required for the svr4 emulator 484# (whether static or dynamic). 485# 486#XXX#options COMPAT_SVR4 # build emulator statically 487options DEBUG_SVR4 # enable verbose debugging 488#XXX#device streams # STREAMS network driver (required for svr4). 489 490 491##################################################################### 492# VM OPTIONS 493 494# KSTACK_PAGES is the number of memory pages to assign to the kernel 495# stack of each thread. 496 497options KSTACK_PAGES=3 498 499##################################################################### 500 501# More undocumented options for linting. 502# Note that documenting these are not considered an affront. 503 504options FB_INSTALL_CDEV # install a CDEV entry in /dev 505 506options ENABLE_ALART 507options KBDIO_DEBUG=2 508options KBD_MAXRETRY=4 509options KBD_MAXWAIT=6 510options KBD_RESETDELAY=201 511 512options PSM_DEBUG=1 513 514options TIMER_FREQ=((14318182+6)/12) 515 516options VM_KMEM_SIZE 517options VM_KMEM_SIZE_MAX 518options VM_KMEM_SIZE_SCALE 519