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: head/sys/amd64/conf/NOTES 125984 2004-02-19 04:39:14Z obrien $
|
7# $FreeBSD: head/sys/amd64/conf/NOTES 126541 2004-03-03 09:26:40Z obrien $ |
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
|
16cpu HAMMER
|
19
|
18#
|
20# |
21# We want LINT to cover profiling as well
|
20profile 2
|
22#XXX#profile 2 |
23 24
|
23# Debug options
24options NPX_DEBUG # enable npx debugging (FPU/math emu)
25 #new math emulator
|
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#
|
31options PERFMON
|
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
|
42# and other activities. The drawback is a moderate (up to 1/HZ seconds)
|
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#
|
51# Only the "dc" "fxp" and "sis" devices support this mode of operation at
52# the time of this writing.
|
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.
|
62#
63# CLK_CALIBRATION_LOOP will run the clock calibration loop at startup
64# until the user presses a key.
|
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
|
72hint.speaker.0.at="isa"
73hint.speaker.0.port="0x61"
74device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
75device apm_saver # Requires APM
|
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
|
128#
129# Mandatory devices:
130#
|
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.
|
147#
|
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
|
153# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee
|
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
|
168# M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
169###device fla
170###hint.fla.0.at="isa"
171
|
237# 238# Network interfaces: 239# 240 241# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
|
177# HP PC Lan+, various PC Card devices (refer to etc/defauls/pccard.conf)
178# (requires miibus)
179# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
180# Intel EtherExpress
|
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)
|
183# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
184# wl: Lucent Wavelan (ISA card only).
|
245
|
186# Order for ISA/EISA devices is important here
|
246#XXX# Needs to be busdma'ed. 247#XXX#device ed 248#XXX#device lnc |
249
|
188device ed
189#options ED_NO_MIIBUS # Disable ed miibus support
190hint.ed.0.at="isa"
191hint.ed.0.port="0x280"
192hint.ed.0.irq="5"
193hint.ed.0.maddr="0xd8000"
194device lnc
195hint.lnc.0.at="isa"
196hint.lnc.0.port="0x280"
197hint.lnc.0.irq="10"
198hint.lnc.0.drq="0"
199device sr
200hint.sr.0.at="isa"
201hint.sr.0.port="0x300"
202hint.sr.0.irq="5"
203hint.sr.0.maddr="0xd0000"
204device wl
205hint.wl.0.at="isa"
206hint.wl.0.port="0x300"
207options WLCACHE # enables the signal-strength cache
208options WLDEBUG # enables verbose debugging output
|
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#
|
213device pst
|
259#XXX this stores pointers in a 32bit field that is defined by the hardware 260#device pst |
261
|
215#
|
262# |
263# SCSI host adapters:
|
217#
|
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
|
225hint.stg.0.at="isa"
226hint.stg.0.port="0x140"
227hint.stg.0.port="11"
|
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#
|
252# dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!)
|
296# cy: Cyclades serial driver |
297# digi: Digiboard driver
|
254# gsc: Genius GS-4500 hand scanner.
255# spic: Sony Programmable I/O controller (VAIO notebooks)
|
298# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
|
257# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
|
299 300# Notes on the Specialix SI/XIO driver: 301# The host card is memory, not IO mapped. 302# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 303# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 304# The cards can use an IRQ of 11, 12 or 15. 305
|
265# Notes on the Digiboard PC/Xi and PC/Xe series driver
266#
267# The NDGBPORTS option specifies the number of ports controlled by the
268# dgb(4) driver. The default value is 16 ports per device.
269#
270# The following flag values have special meanings in dgb:
271# 0x01 - alternate layout of pins
272# 0x02 - use the windowed PC/Xe in 64K mode
273
|
306device digi 307hint.digi.0.at="isa" 308hint.digi.0.port="0x104" 309hint.digi.0.maddr="0xd0000" 310# BIOS & FEP/OS components of device digi. 311device digi_CX 312device digi_CX_PCI 313device digi_EPCX 314device digi_EPCX_PCI 315device digi_Xe 316device digi_Xem 317device digi_Xr
|
318#XXX# PCI versions exist, but driver needs to be moved and split up. 319#XXX#device stl |
320# HOT1 Xilinx 6200 card (http://www.vcc.com/) 321device xrpu 322 323# 324# Laptop/Notebook options: 325#
|
292# See also:
293# apm under `Miscellaneous hardware'
294# above.
|
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#
|
299# Cyclades Cyclom-Y PCI serial driver
300device cy
301options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
302#hint.cy.0.at="isa"
303#hint.cy.0.irq="10"
304#hint.cy.0.maddr="0xd4000"
305#hint.cy.0.msize="0x2000"
|
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
|
309# stop panics related to heavy use of shared memory. However, that 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#
|
318#options PMAP_SHPGPERPROC=201
|
448options PMAP_SHPGPERPROC=201 |
449
|
320#
321# Change the size of the kernel virtual address space. Due to
322# constraints in loader(8) on i386, this must be a multiple of 4.
323# 256 = 1 GB of kernel address space. Increasing this also causes
324# a reduction of the address space in user processes. 512 splits
325# the 4GB cpu address space in half (2GB user, 2GB kernel).
326#
327options KVA_PAGES=260
328
|
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
|
334#options COMPAT_LINUX
|
464#XXX#options COMPAT_LINUX |
465 466# Enable the linux-like proc filesystem support (requires COMPAT_LINUX 467# and PSEUDOFS)
|
338#options LINPROCFS
|
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
|
344# Disable the 4 MByte page PSE CPU feature. The PSE feature allows the
345# kernel to use a 4 MByte pages to map the kernel instead of 4k pages.
346# This saves on the amount of memory needed for page tables needed to
347# map the kernel. You should only disable this feature as a temporary
348# workaround if you are having problems with it enabled.
349#
350#options DISABLE_PSE
351
352# Disable the global pages PGE CPU feature. The PGE feature allows pages
353# to be marked with the PG_G bit. TLB entries for these pages are not
354# flushed from the cache when %cr3 is reloaded. This can make context
355# switches less expensive. You should only disable this feature as a
356# temporary workaround if you are having problems with it enabled.
357#
358#options DISABLE_PG_G
359
|
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
|
506# PECOFF module (Win32 Execution Format) 507options PECOFF_SUPPORT 508options PECOFF_DEBUG 509 |
510options ENABLE_ALART 511options KBDIO_DEBUG=2 512options KBD_MAXRETRY=4 513options KBD_MAXWAIT=6 514options KBD_RESETDELAY=201 515 516options PSM_DEBUG=1 517 518options TIMER_FREQ=((14318182+6)/12) 519 520options VM_KMEM_SIZE 521options VM_KMEM_SIZE_MAX 522options VM_KMEM_SIZE_SCALE
|