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# (XXX from i386:NOTES,v 1.1106; merge in updates) 7# $FreeBSD$ 8# 9 10# 11# This directive is mandatory; it defines the architecture to be 12# configured for; in this case, the 386 family based IBM-PC and 13# compatibles. 14# 15machine amd64 16 17# 18# We want LINT to cover profiling as well 19#X#profile 2 20 21 22##################################################################### 23# SMP OPTIONS: 24# 25# The apic device enables the use of the I/O APIC for interrupt delivery. 26# The apic device can be used in both UP and SMP kernels, but is required 27# for SMP kernels. Thus, the apic device is not strictly an SMP option, 28# but it is a prerequisite for SMP. 29# 30# Notes: 31# 32# Be sure to disable 'cpu I386_CPU' for SMP kernels. 33# 34# By default, mixed mode is used to route IRQ0 from the AT timer via 35# the 8259A master PIC through the ExtINT pin on the first I/O APIC. 36# This can be disabled via the NO_MIXED_MODE option. In that case, 37# IRQ0 will be routed via an intpin on the first I/O APIC. Not all 38# motherboards hook IRQ0 up to the first I/O APIC even though their 39# MP table or MADT may claim to do so. That is why mixed mode is 40# enabled by default. 41# 42 43# Optional: 44device atpic 45device mptable 46options NO_MIXED_MODE # Disable use of mixed mode 47 48 49##################################################################### 50# CPU OPTIONS 51 52# 53# You must specify at least one CPU (the one you intend to run on); 54# deleting the specification for CPUs you don't need to use may make 55# parts of the system run faster. 56# 57cpu HAMMER 58 59# 60# Options for CPU features. 61# 62 63# 64# PERFMON causes the driver for Pentium/Pentium Pro performance counters 65# to be compiled. See perfmon(4) for more information. 66# 67#X#options PERFMON 68 69 70##################################################################### 71# NETWORKING OPTIONS 72 73# 74# DEVICE_POLLING adds support for mixed interrupt-polling handling 75# of network device drivers, which has significant benefits in terms 76# of robustness to overloads and responsivity, as well as permitting 77# accurate scheduling of the CPU time between kernel network processing 78# and other activities. The drawback is a moderate (up to 1/HZ seconds) 79# potential increase in response times. 80# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 81# to achieve smoother behaviour. 82# Additionally, you can enable/disable polling at runtime with the 83# sysctl variable kern.polling.enable (defaults off), and select 84# the CPU fraction reserved to userland with the sysctl variable 85# kern.polling.user_frac (default 50, range 0..100). 86# 87# Only the "dc" "fxp" and "sis" devices support this mode of operation at 88# the time of this writing. 89 90options DEVICE_POLLING 91 92 93##################################################################### 94# CLOCK OPTIONS 95 96# The following options are used for debugging clock behavior only, and 97# should not be used for production systems. 98# 99# CLK_CALIBRATION_LOOP will run the clock calibration loop at startup 100# until the user presses a key. 101 102options CLK_CALIBRATION_LOOP 103 104# The following two options measure the frequency of the corresponding 105# clock relative to the RTC (onboard mc146818a). 106 107options CLK_USE_I8254_CALIBRATION 108options CLK_USE_TSC_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# 171# Mandatory devices: 172# 173 174# 175# Optional devices: 176# 177 178# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 179# the /dev/3dfx0 device to work with glide implementations. This should get 180# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 181# the tdfx DRI module from XFree86 and is completely unrelated. 182# 183# To enable Linuxulator support, one must also include COMPAT_LINUX in the 184# config as well, or you will not have the dependencies. The other option 185# is to load both as modules. 186 187device tdfx # Enable 3Dfx Voodoo support 188#X#options TDFX_LINUX # Enable Linuxulator support 189 190# 191# ACPI support using the Intel ACPI Component Architecture reference 192# implementation. 193# 194# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer 195# kernel environment variables to select initial debugging levels for the 196# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER 197# defined when it is built). 198# 199# ACPI_MAX_THREADS sets the number of task threads started. 200# 201# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. 202# 203# ACPICA_PEDANTIC enables strict checking of AML. Our default is to 204# relax these checks to allow code generated by the Microsoft compiler 205# to still execute. 206# 207# Note that building ACPI into the kernel is deprecated; the module is 208# normally loaded automatically by the loader. 209# 210device acpi 211options ACPI_DEBUG 212options ACPI_MAX_THREADS=1 213#!options ACPI_NO_SEMAPHORES 214#!options ACPICA_PEDANTIC 215 216# DRM options: 217# mgadrm: AGP Matrox G200, G400, G450, G550 218# r128drm: ATI Rage 128 219# radeondrm: ATI Radeon up to 9000/9100 220# sisdrm: SiS 300/305,540,630 221# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee 222# DRM_DEBUG: include debug printfs, very slow 223# 224# mga requires AGP in the kernel, and it is recommended 225# for AGP r128 and radeon cards. 226 227device mgadrm 228device "r128drm" 229device radeondrm 230device sisdrm 231device tdfxdrm 232 233options DRM_DEBUG 234 235# 236# Network interfaces: 237# 238 239# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) 240 241device ath 242#X#device ath_hal # Atheros HAL (includes binary component) 243device wlan # 802.11 layer 244 245# 246# ATA raid adapters 247# 248#XXX this stores pointers in a 32bit field that is defined by the hardware 249#device pst 250 251# 252# SCSI host adapters: 253# 254 255# 256# Adaptec FSA RAID controllers, including integrated DELL controllers, 257# the Dell PERC 2/QC and the HP NetRAID-4M 258device aac 259device aacp # SCSI Passthrough interface (optional, CAM required) 260 261# 262# IBM (now Adaptec) ServeRAID controllers 263device ips 264 265# 266# SafeNet crypto driver: can be moved to the MI NOTES as soon as 267# it's tested on a big-endian machine 268# 269device safe # SafeNet 1141 270options SAFE_DEBUG # enable debugging support: hw.safe.debug 271options SAFE_RNDTEST # enable rndtest support 272 273##################################################################### 274 275# 276# Miscellaneous hardware: 277# 278# digi: Digiboard driver 279 280# Notes on the Specialix SI/XIO driver: 281# The host card is memory, not IO mapped. 282# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 283# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 284# The cards can use an IRQ of 11, 12 or 15. 285 286device digi 287hint.digi.0.at="isa" 288hint.digi.0.port="0x104" 289hint.digi.0.maddr="0xd0000" 290# BIOS & FEP/OS components of device digi. 291device digi_CX 292device digi_CX_PCI 293device digi_EPCX 294device digi_EPCX_PCI 295device digi_Xe 296device digi_Xem 297device digi_Xr 298# HOT1 Xilinx 6200 card (http://www.vcc.com/) 299device xrpu 300 301# 302# Laptop/Notebook options: 303# 304 305 306# 307# I2C Bus 308# 309 310#--------------------------------------------------------------------------- 311 312# 313# Set the number of PV entries per process. Increasing this can 314# stop panics related to heavy use of shared memory. However, that can 315# (combined with large amounts of physical memory) cause panics at 316# boot time due the kernel running out of VM space. 317# 318# If you're tweaking this, you might also want to increase the sysctls 319# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". 320# 321# The value below is the one more than the default. 322# 323options PMAP_SHPGPERPROC=201 324 325 326##################################################################### 327# ABI Emulation 328 329#XXX keep these here for now and reactivate when support for emulating 330#XXX these 32 bit binaries is added. 331 332# Enable iBCS2 runtime support for SCO and ISC binaries 333#X#options IBCS2 334 335# Emulate spx device for client side of SVR3 local X interface 336#X#options SPX_HACK 337 338# Enable Linux ABI emulation 339#X#options COMPAT_LINUX 340 341# Enable the linux-like proc filesystem support (requires COMPAT_LINUX 342# and PSEUDOFS) 343#X#options LINPROCFS 344 345# 346# SysVR4 ABI emulation 347# 348# The svr4 ABI emulator can be statically compiled into the kernel or loaded as 349# a KLD module. 350# The STREAMS network emulation code can also be compiled statically or as a 351# module. If loaded as a module, it must be loaded before the svr4 module 352# (the /usr/sbin/svr4 script does this for you). If compiling statically, 353# the `streams' device must be configured into any kernel which also 354# specifies COMPAT_SVR4. It is possible to have a statically-configured 355# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 356# script understands that it doesn't need to load the `streams' module under 357# those circumstances. 358# Caveat: At this time, `options KTRACE' is required for the svr4 emulator 359# (whether static or dynamic). 360# 361#X#options COMPAT_SVR4 # build emulator statically 362#X#options DEBUG_SVR4 # enable verbose debugging 363#X#device streams # STREAMS network driver (required for svr4). 364 365 366##################################################################### 367# VM OPTIONS 368 369# KSTACK_PAGES is the number of memory pages to assign to the kernel 370# stack of each thread. 371 372options KSTACK_PAGES=3 373 374##################################################################### 375 376# More undocumented options for linting. 377# Note that documenting these are not considered an affront. 378 379options FB_INSTALL_CDEV # install a CDEV entry in /dev 380 381# PECOFF module (Win32 Execution Format) 382#X#options PECOFF_SUPPORT 383#X#options PECOFF_DEBUG 384 385options ENABLE_ALART 386options KBDIO_DEBUG=2 387options KBD_MAXRETRY=4 388options KBD_MAXWAIT=6 389options KBD_RESETDELAY=201 390 391options PSM_DEBUG=1 392 393options TIMER_FREQ=((14318182+6)/12) 394 395options VM_KMEM_SIZE 396options VM_KMEM_SIZE_MAX 397options VM_KMEM_SIZE_SCALE 398 399############################################################### 400# Broken stuff that shouldn't really be broken 401 402# machine/ioctl_meteor.h and machine/bt848.h 403nodevice bktr 404 405# pointer/int stuff 406nodevice mgadrm 407nodevice "r128drm" 408nodevice radeondrm 409nodevice sisdrm 410nodevice tdfxdrm 411 412# missing conf lines (must be fixed ASAP) 413nooption SC_DFLT_FONT 414nooption UKBD_DFLT_KEYMAP 415nooption ATKBD_DFLT_KEYMAP 416nooption PMAP_SHPGPERPROC 417nooption CLK_USE_I8254_CALIBRATION 418# XXX dead option 419nooption CLK_USE_TSC_CALIBRATION 420