NOTES revision 125234
1111314Snyan# 2111314Snyan# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 3111314Snyan# 4111314Snyan# This file contains machine dependent kernel configuration notes. For 5111314Snyan# machine independent notes, look in /sys/conf/NOTES. 6111314Snyan# 7111314Snyan# $FreeBSD: head/sys/pc98/conf/NOTES 125234 2004-01-30 13:06:57Z nyan $ 8111314Snyan# 9111314Snyan 10111314Snyan# 11111314Snyan# This directive is mandatory; it defines the architecture to be 12111314Snyan# configured for; in this case, the 386 family based PC-98 and 13111314Snyan# compatibles. 14111314Snyan# 15111314Snyanmachine pc98 16111314Snyanoptions PC98 17111314Snyan 18125234Snyan# 19111314Snyan# We want LINT to cover profiling as well 20111314Snyanprofile 2 21111314Snyan 22111314Snyan 23111314Snyan##################################################################### 24111314Snyan# SMP OPTIONS: 25111314Snyan# 26122755Snyan# The apic device enables the use of the I/O APIC for interrupt delivery. 27122755Snyan# The apic device can be used in both UP and SMP kernels, but is required 28122755Snyan# for SMP kernels. Thus, the apic device is not strictly an SMP option, 29122755Snyan# but it is a prerequisite for SMP. 30111314Snyan# 31111314Snyan# Notes: 32111314Snyan# 33122755Snyan# Be sure to disable 'cpu I386_CPU' for SMP kernels. 34111314Snyan# 35122755Snyan# By default, mixed mode is used to route IRQ0 from the AT timer via 36122755Snyan# the 8259A master PIC through the ExtINT pin on the first I/O APIC. 37122755Snyan# This can be disabled via the NO_MIXED_MODE option. In that case, 38122755Snyan# IRQ0 will be routed via an intpin on the first I/O APIC. Not all 39122755Snyan# motherboards hook IRQ0 up to the first I/O APIC even though their 40122755Snyan# MP table or MADT may claim to do so. That is why mixed mode is 41122755Snyan# enabled by default. 42111314Snyan# 43111314Snyan 44111314Snyan# Mandatory: 45122056Snyandevice apic # I/O apic 46124795Snyan 47124795Snyan# Optional: 48122755Snyanoptions NO_MIXED_MODE # Disable use of mixed mode 49111314Snyan 50111314Snyan 51111314Snyan##################################################################### 52111314Snyan# CPU OPTIONS 53111314Snyan 54111314Snyan# 55111314Snyan# You must specify at least one CPU (the one you intend to run on); 56111314Snyan# deleting the specification for CPUs you don't need to use may make 57111314Snyan# parts of the system run faster. 58111314Snyan# I386_CPU is mutually exclusive with the other CPU types. 59111314Snyan# 60125234Snyan#cpu I386_CPU 61111314Snyancpu I486_CPU 62111314Snyancpu I586_CPU # aka Pentium(tm) 63111314Snyancpu I686_CPU # aka Pentium Pro(tm) 64111314Snyan 65111314Snyan# 66111314Snyan# Options for CPU features. 67111314Snyan# 68124795Snyan# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning 69124795Snyan# CPU if CPU supports it. The default is double-clock mode on 70124795Snyan# BlueLightning CPU box. 71124795Snyan# 72111314Snyan# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM 73111314Snyan# BlueLightning CPU. It works only with Cyrix FPU, and this option 74111314Snyan# should not be used with Intel FPU. 75111314Snyan# 76111314Snyan# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). 77111314Snyan# 78111314Snyan# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space 79111314Snyan# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1. 80111314Snyan# Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3) 81111314Snyan# 82124795Snyan# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct 83124795Snyan# mapped mode. Default is 2-way set associative mode. 84124795Snyan# 85111314Snyan# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables 86111314Snyan# reorder). This option should not be used if you use memory mapped 87111314Snyan# I/O device(s). 88111314Snyan# 89125234Snyan# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 90125234Snyan# machines. VmWare seems to emulate this instruction poorly, causing 91124795Snyan# the guest OS to run very slowly. Enabling this with a SMP kernel 92124795Snyan# will cause the kernel to be unusable. 93124795Snyan# 94124795Snyan# CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE. 95124795Snyan# 96111314Snyan# CPU_ENABLE_SSE enables SSE/MMX2 instructions support. This is default 97111314Snyan# on I686_CPU and above. 98111314Snyan# 99111314Snyan# CPU_FASTER_5X86_FPU enables faster FPU exception handler. 100111314Snyan# 101111314Snyan# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products 102111314Snyan# for i386 machines. 103111314Snyan# 104111314Snyan# CPU_IORT defines I/O clock delay time (NOTE 1). Default values of 105111314Snyan# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively 106111314Snyan# (no clock delay). 107111314Snyan# 108125234Snyan# CPU_L2_LATENCY specifies the L2 cache latency value. This option is used 109111314Snyan# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected. 110111314Snyan# The default value is 5. 111111314Snyan# 112111314Snyan# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination 113111314Snyan# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE 114111314Snyan# 1). 115111314Snyan# 116111314Snyan# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option 117111314Snyan# is useful when you use Socket 8 to Socket 370 converter, because most Pentium 118111314Snyan# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs. 119111314Snyan# 120111314Snyan# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1). 121111314Snyan# 122111314Snyan# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU 123111314Snyan# enters suspend mode following execution of HALT instruction. 124111314Snyan# 125111314Snyan# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s). 126111314Snyan# 127111314Snyan# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD 128125234Snyan# K5/K6/K6-2 CPUs. 129111314Snyan# 130111314Snyan# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache 131111314Snyan# flush at hold state. 132111314Snyan# 133111314Snyan# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs 134111314Snyan# without cache flush at hold state, and (2) write-back CPU cache on 135111314Snyan# Cyrix 6x86 whose revision < 2.7 (NOTE 2). 136111314Snyan# 137111314Snyan# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY 138111314Snyan# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is 139111314Snyan# executed. This option is only needed if I586_CPU is also defined, 140111314Snyan# and should be included for any non-Pentium CPU that defines it. 141111314Snyan# 142111314Snyan# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors 143111314Snyan# which indicates that the 15-16MB range is *definitely* not being 144111314Snyan# occupied by an ISA memory hole. 145111314Snyan# 146111314Snyan# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT, 147111314Snyan# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs. 148111314Snyan# These options may crash your system. 149111314Snyan# 150111314Snyan# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled 151111314Snyan# in write-through mode when revision < 2.7. If revision of Cyrix 152111314Snyan# 6x86 >= 2.7, CPU cache is always enabled in write-back mode. 153111314Snyan# 154111314Snyan# NOTE 3: This option may cause failures for software that requires 155111314Snyan# locked cycles in order to operate correctly. 156111314Snyan# 157124795Snyanoptions CPU_BLUELIGHTNING_3X 158111314Snyanoptions CPU_BLUELIGHTNING_FPU_OP_CACHE 159111314Snyanoptions CPU_BTB_EN 160111314Snyanoptions CPU_DIRECT_MAPPED_CACHE 161111314Snyanoptions CPU_DISABLE_5X86_LSSER 162124795Snyanoptions CPU_DISABLE_CMPXCHG 163124795Snyan#options CPU_DISABLE_SSE 164111314Snyanoptions CPU_ENABLE_SSE 165111314Snyanoptions CPU_FASTER_5X86_FPU 166111314Snyanoptions CPU_I486_ON_386 167111314Snyanoptions CPU_IORT 168111314Snyanoptions CPU_L2_LATENCY=5 169111314Snyanoptions CPU_LOOP_EN 170111314Snyanoptions CPU_PPRO2CELERON 171111314Snyanoptions CPU_RSTK_EN 172111314Snyanoptions CPU_SUSP_HLT 173111314Snyanoptions CPU_UPGRADE_HW_CACHE 174111314Snyanoptions CPU_WT_ALLOC 175111314Snyanoptions CYRIX_CACHE_WORKS 176111314Snyanoptions CYRIX_CACHE_REALLY_WORKS 177111314Snyan#options NO_F00F_HACK 178111314Snyan 179111314Snyan# Debug options 180124795Snyanoptions NPX_DEBUG # enable npx debugging 181111314Snyan 182111314Snyan# 183111314Snyan# PERFMON causes the driver for Pentium/Pentium Pro performance counters 184111314Snyan# to be compiled. See perfmon(4) for more information. 185111314Snyan# 186111314Snyanoptions PERFMON 187111314Snyan 188111314Snyan 189111314Snyan##################################################################### 190111314Snyan# NETWORKING OPTIONS 191111314Snyan 192111314Snyan# 193111314Snyan# DEVICE_POLLING adds support for mixed interrupt-polling handling 194111314Snyan# of network device drivers, which has significant benefits in terms 195111314Snyan# of robustness to overloads and responsivity, as well as permitting 196111314Snyan# accurate scheduling of the CPU time between kernel network processing 197124795Snyan# and other activities. The drawback is a moderate (up to 1/HZ seconds) 198111314Snyan# potential increase in response times. 199111314Snyan# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 200111314Snyan# to achieve smoother behaviour. 201111314Snyan# Additionally, you can enable/disable polling at runtime with the 202111314Snyan# sysctl variable kern.polling.enable (defaults off), and select 203111314Snyan# the CPU fraction reserved to userland with the sysctl variable 204111314Snyan# kern.polling.user_frac (default 50, range 0..100). 205111314Snyan# 206124408Snyan# Not all device drivers support this mode of operation at the time of 207124408Snyan# this writing. See polling(4) for more details. 208111314Snyan 209111314Snyanoptions DEVICE_POLLING 210111314Snyan 211111314Snyan 212111314Snyan##################################################################### 213111314Snyan# CLOCK OPTIONS 214111314Snyan 215111314Snyan# The following options are used for debugging clock behavior only, and 216111314Snyan# should not be used for production systems. 217111314Snyan 218123984Sbde# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at 219123984Sbde# startup until the user presses a key. (The i8254 clock is always 220123984Sbde# calibrated relative to the RTC (mc146818a) and this option causes the 221123984Sbde# calibration to be repeated.) 222111314Snyanoptions CLK_CALIBRATION_LOOP 223111314Snyan 224123984Sbde# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254 225123984Sbde# clock to actually be used. 226111314Snyanoptions CLK_USE_I8254_CALIBRATION 227111314Snyan 228111314Snyan 229111314Snyan##################################################################### 230111314Snyan# MISCELLANEOUS DEVICES AND OPTIONS 231111314Snyan 232111314Snyandevice speaker #Play IBM BASIC-style noises out your speaker 233111314Snyanhint.speaker.0.at="isa" 234111314Snyanhint.speaker.0.port="0x35" 235124795Snyandevice gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! 236111314Snyandevice apm_saver # Requires APM 237111314Snyan 238111314Snyan 239111314Snyan##################################################################### 240111314Snyan# HARDWARE BUS CONFIGURATION 241111314Snyan 242111314Snyan# 243111314Snyan# ISA bus 244111314Snyan# 245111314Snyandevice isa 246111314Snyan 247111314Snyan# 248111314Snyan# Options for `isa': 249111314Snyan# 250111314Snyan# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 251111314Snyan# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 252111314Snyan# This option breaks suspend/resume on some portables. 253111314Snyan# 254111314Snyan# MAXMEM specifies the amount of RAM on the machine; if this is not 255111314Snyan# specified, FreeBSD will first read the amount of memory from the CMOS 256111314Snyan# RAM, so the amount of memory will initially be limited to 64MB or 16MB 257111314Snyan# depending on the BIOS. If the BIOS reports 64MB, a memory probe will 258111314Snyan# then attempt to detect the installed amount of RAM. If this probe 259111314Snyan# fails to detect >64MB RAM you will have to use the MAXMEM option. 260111314Snyan# The amount is in kilobytes, so for a machine with 128MB of RAM, it would 261111314Snyan# be 131072 (128 * 1024). 262111314Snyan# 263111314Snyan# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 264111314Snyan# reset the CPU for reboot. This is needed on some systems with broken 265111314Snyan# keyboard controllers. 266111314Snyan 267111314Snyanoptions COMPAT_OLDISA #Use ISA shims and glue for old drivers 268111314Snyanoptions AUTO_EOI_1 269111314Snyan 270111314Snyanoptions MAXMEM=(128*1024) 271111314Snyan#options BROKEN_KEYBOARD_RESET 272111314Snyanoptions EPSON_BOUNCEDMA 273111314Snyanoptions EPSON_MEMWIN 274111314Snyan 275111314Snyan# 276111314Snyan# PCI bus & PCI options: 277111314Snyan# 278111314Snyandevice pci 279111314Snyan 280111314Snyan# 281111314Snyan# AGP GART support 282111314Snyandevice agp 283111314Snyan 284111314Snyan 285111314Snyan##################################################################### 286111314Snyan# HARDWARE DEVICE CONFIGURATION 287111314Snyan 288111314Snyan# PC98 keyboard 289111314Snyandevice pckbd 290111314Snyanhint.pckbd.0.at="isa" 291111314Snyanhint.pckbd.0.port="0x041" 292111314Snyanhint.pckbd.0.irq="1" 293111314Snyan 294111314Snyan# These options are valid for other keyboard drivers as well. 295111314Snyanoptions KBD_DISABLE_KEYMAP_LOAD # refuse to load a keymap 296111314Snyanoptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 297111314Snyan 298111314Snyan# GDC screen 299111314Snyandevice gdc 300111314Snyanhint.gdc.0.at="isa" 301111314Snyanoptions LINE30 302111314Snyan 303111314Snyan# 304111314Snyan# The Numeric Processing eXtension driver. In addition to this, you 305111314Snyan# may configure a math emulator (see above). If your machine has a 306111314Snyan# hardware FPU and the kernel configuration includes the npx device 307111314Snyan# *and* a math emulator compiled into the kernel, the hardware FPU 308111314Snyan# will be used, unless it is found to be broken or unless "flags" to 309111314Snyan# npx0 includes "0x08", which requests preference for the emulator. 310111314Snyandevice npx 311111314Snyan 312111314Snyan# 313111314Snyan# `flags' for npx0: 314111314Snyan# 0x01 don't use the npx registers to optimize bcopy. 315111314Snyan# 0x02 don't use the npx registers to optimize bzero. 316111314Snyan# 0x04 don't use the npx registers to optimize copyin or copyout. 317111314Snyan# 0x08 use emulator even if hardware FPU is available. 318111314Snyan# The npx registers are normally used to optimize copying and zeroing when 319111314Snyan# all of the following conditions are satisfied: 320111314Snyan# I586_CPU is an option 321111314Snyan# the cpu is an i586 (perhaps not a Pentium) 322111314Snyan# the probe for npx0 succeeds 323111314Snyan# INT 16 exception handling works. 324111314Snyan# Then copying and zeroing using the npx registers is normally 30-100% faster. 325111314Snyan# The flags can be used to control cases where it doesn't work or is slower. 326111314Snyan# Setting them at boot time using userconfig works right (the optimizations 327111314Snyan# are not used until later in the bootstrap when npx0 is attached). 328111314Snyan# Flag 0x08 automatically disables the i586 optimized routines. 329111314Snyan# 330111314Snyan 331111314Snyan# 332111314Snyan# Optional devices: 333111314Snyan# 334111314Snyan 335124795Snyan# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 336124795Snyan# the /dev/3dfx0 device to work with glide implementations. This should get 337124795Snyan# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 338111314Snyan# the tdfx DRI module from XFree86 and is completely unrelated. 339111314Snyan# 340111314Snyan# To enable Linuxulator support, one must also include COMPAT_LINUX in the 341124795Snyan# config as well, or you will not have the dependencies. The other option 342111314Snyan# is to load both as modules. 343111314Snyan 344111314Snyandevice tdfx # Enable 3Dfx Voodoo support 345111314Snyanoptions TDFX_LINUX # Enable Linuxulator support 346111314Snyan 347111314Snyan# DRM options: 348111314Snyan# mgadrm: AGP Matrox G200, G400, G450, G550 349112034Snyan# r128drm: ATI Rage 128 350112034Snyan# radeondrm: ATI Radeon up to 9000/9100 351119985Snyan# sisdrm: SiS 300/305,540,630 352119985Snyan# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee 353112034Snyan# DRM_DEBUG: include debug printfs, very slow 354111314Snyan# 355112034Snyan# mga requires AGP in the kernel, and it is recommended 356112034Snyan# for AGP r128 and radeon cards. 357111314Snyan 358111314Snyandevice mgadrm 359111314Snyandevice "r128drm" 360111314Snyandevice radeondrm 361119985Snyandevice sisdrm 362111314Snyandevice tdfxdrm 363111314Snyan 364111314Snyanoptions DRM_DEBUG 365111314Snyan 366111314Snyan# 367111314Snyan# Bus mouse 368111314Snyan# 369111314Snyandevice mse 370111314Snyanhint.mse.0.at="isa" 371111314Snyanhint.mse.0.port="0x7fd9" 372111314Snyanhint.mse.0.irq="13" 373111314Snyan 374111314Snyan# 375111314Snyan# Network interfaces: 376111314Snyan# 377111314Snyan 378111314Snyan# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver 379111314Snyan# (requires sppp) 380111314Snyan# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 381125234Snyan# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf) 382111314Snyan# (requires miibus) 383111314Snyan# el: 3Com 3C501 (slow!) 384111314Snyan# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210; 385111314Snyan# Intel EtherExpress 386111314Snyan# le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100, 387111314Snyan# DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422) 388111314Snyan# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and 389111314Snyan# Am79C960) 390111314Snyan# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133 391111314Snyan# (no hints needed). 392111314Snyan# Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140, 393111314Snyan# OC-3141, OC-3540, OC-3250 394111314Snyan# rdp: RealTek RTL 8002-based pocket ethernet adapters 395111314Snyan# sbni: Granch SBNI12-xx ISA and PCI adapters 396111314Snyan# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp) 397111314Snyan# wl: Lucent Wavelan (ISA card only). 398111314Snyan 399111314Snyan# Order for ISA/EISA devices is important here 400111314Snyan 401111314Snyandevice ar 402111314Snyanhint.ar.0.at="isa" 403111314Snyanhint.ar.0.port="0x300" 404111314Snyanhint.ar.0.irq="10" 405111314Snyanhint.ar.0.maddr="0xd0000" 406111314Snyandevice ed 407111314Snyan#options ED_NO_MIIBUS # Disable ed miibus support 408111314Snyanhint.ed.0.at="isa" 409111314Snyanhint.ed.0.port="0x280" 410111314Snyanhint.ed.0.irq="5" 411111314Snyanhint.ed.0.maddr="0xd8000" 412111314Snyandevice el 1 413111314Snyanhint.el.0.at="isa" 414111314Snyanhint.el.0.port="0x300" 415111314Snyanhint.el.0.irq="9" 416112840Smdodddevice ie # Hints only required for Starlan 417112840Smdoddhint.ie.2.at="isa" 418112840Smdoddhint.ie.2.port="0x300" 419112840Smdoddhint.ie.2.irq="5" 420112840Smdoddhint.ie.2.maddr="0xd0000" 421111314Snyandevice le 1 422111314Snyanhint.le.0.at="isa" 423111314Snyanhint.le.0.port="0x300" 424111314Snyanhint.le.0.irq="5" 425111314Snyanhint.le.0.maddr="0xd0000" 426111314Snyandevice lnc 427111314Snyanhint.lnc.0.at="isa" 428111314Snyanhint.lnc.0.port="0x280" 429111314Snyanhint.lnc.0.irq="10" 430111314Snyanhint.lnc.0.drq="0" 431111314Snyandevice rdp 1 432111314Snyanhint.rdp.0.at="isa" 433111314Snyanhint.rdp.0.port="0x378" 434111314Snyanhint.rdp.0.irq="7" 435111314Snyanhint.rdp.0.flags="2" 436111314Snyandevice sbni 437111314Snyanhint.sbni.0.at="isa" 438111314Snyanhint.sbni.0.port="0x210" 439111314Snyanhint.sbni.0.irq="0xefdead" 440111314Snyanhint.sbni.0.flags="0" 441111314Snyandevice snc 442111314Snyanhint.snc.0.at="isa" 443111314Snyanhint.snc.0.port="0x888" 444111314Snyanhint.snc.0.irq="6" 445111314Snyanhint.snc.0.maddr="0xc0000" 446111314Snyandevice sr 447111314Snyanhint.sr.0.at="isa" 448111314Snyanhint.sr.0.port="0x300" 449111314Snyanhint.sr.0.irq="5" 450111314Snyanhint.sr.0.maddr="0xd0000" 451111314Snyandevice oltr 452111314Snyanhint.oltr.0.at="isa" 453111314Snyandevice wl 454111314Snyanhint.wl.0.at="isa" 455111314Snyanhint.wl.0.port="0x300" 456111314Snyanoptions WLCACHE # enables the signal-strength cache 457111314Snyanoptions WLDEBUG # enables verbose debugging output 458111314Snyan 459125234Snyan# 460111314Snyan# SCSI host adapters: 461125234Snyan# 462111314Snyan# ct: WD33C93[ABC] based SCSI host adapters. 463111314Snyan# ncv: NCR 53C500 based SCSI host adapters. 464111314Snyan# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. 465111314Snyan# stg: TMC 18C30, 18C50 based SCSI host adapters. 466111314Snyan 467111314Snyandevice ct 468111314Snyanhint.ct.0.at="isa" 469111314Snyandevice ncv 470111314Snyandevice nsp 471111314Snyandevice stg 472111314Snyanhint.stg.0.at="isa" 473111314Snyanhint.stg.0.port="0x140" 474111314Snyanhint.stg.0.port="11" 475111314Snyan 476111314Snyan# 477117918Snyan# SafeNet crypto driver: can be moved to the MI NOTES as soon as 478117918Snyan# it's tested on a big-endian machine 479117918Snyan# 480117918Snyandevice safe # SafeNet 1141 481117918Snyanoptions SAFE_DEBUG # enable debugging support: hw.safe.debug 482117918Snyanoptions SAFE_RNDTEST # enable rndtest support 483117918Snyan 484117918Snyan##################################################################### 485117918Snyan 486117918Snyan# 487111314Snyan# Miscellaneous hardware: 488111314Snyan# 489111314Snyan# wt: Wangtek and Archive QIC-02/QIC-36 tape drives 490111314Snyan# ctx: Cortex-I frame grabber 491111314Snyan# apm: Laptop Advanced Power Management (experimental) 492111314Snyan# pmtimer: Timer device driver for power management events (APM or ACPI) 493111314Snyan# spigot: The Creative Labs Video Spigot video-acquisition board 494124795Snyan# cy: Cyclades serial driver 495111314Snyan# digi: Digiboard driver 496111314Snyan# gp: National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB 497111314Snyan# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based) 498111314Snyan# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent) 499111314Snyan 500111314Snyan# Notes on APM 501111314Snyan# The flags takes the following meaning for apm0: 502111314Snyan# 0x0020 Statclock is broken. 503111314Snyan 504111314Snyan# Notes on the spigot: 505111314Snyan# The video spigot is at 0xad6. This port address can not be changed. 506111314Snyan# The irq values may only be 10, 11, or 15 507111314Snyan# I/O memory is an 8kb region. Possible values are: 508111314Snyan# 0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff 509111314Snyan# The start address must be on an even boundary. 510111314Snyan# Add the following option if you want to allow non-root users to be able 511111314Snyan# to access the spigot. This option is not secure because it allows users 512111314Snyan# direct access to the I/O page. 513111314Snyan# options SPIGOT_UNSECURE 514111314Snyan 515111314Snyan# Notes on the Specialix SI/XIO driver: 516111314Snyan# The host card is memory, not IO mapped. 517111314Snyan# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 518111314Snyan# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 519111314Snyan# The cards can use an IRQ of 11, 12 or 15. 520111314Snyan 521111314Snyan# Notes on the Sony Programmable I/O controller 522111314Snyan# This is a temporary driver that should someday be replaced by something 523124795Snyan# that hooks into the ACPI layer. The device is hooked to the PIIX4's 524111314Snyan# General Device 10 decoder, which means you have to fiddle with PCI 525111314Snyan# registers to map it in, even though it is otherwise treated here as 526124795Snyan# an ISA device. At the moment, the driver polls, although the device 527124795Snyan# is capable of generating interrupts. It largely undocumented. 528111314Snyan# The port location in the hint is where you WANT the device to be 529124795Snyan# mapped. 0x10a0 seems to be traditional. At the moment the jogdial 530125234Snyan# is the only thing truly supported, but apparently a fair percentage 531111314Snyan# of the Vaio extra features are controlled by this device. 532111314Snyan 533111314Snyan# Notes on the Stallion stl and stli drivers: 534111314Snyan# See src/i386/isa/README.stl for complete instructions. 535111314Snyan# This is version 0.0.5alpha, unsupported by Stallion. 536111314Snyan# The stl driver has a secondary IO port hard coded at 0x280. You need 537111314Snyan# to change src/i386/isa/stallion.c if you reconfigure this on the boards. 538111314Snyan# The "flags" and "msize" settings on the stli driver depend on the board: 539111314Snyan# EasyConnection 8/64 ISA: flags 23 msize 0x1000 540111314Snyan# EasyConnection 8/64 EISA: flags 24 msize 0x10000 541111314Snyan# EasyConnection 8/64 MCA: flags 25 msize 0x1000 542111314Snyan# ONboard ISA: flags 4 msize 0x10000 543111314Snyan# ONboard EISA: flags 7 msize 0x10000 544111314Snyan# ONboard MCA: flags 3 msize 0x10000 545111314Snyan# Brumby: flags 2 msize 0x4000 546111314Snyan# Stallion: flags 1 msize 0x10000 547111314Snyan 548111314Snyandevice wt 1 549111314Snyanhint.wt.0.at="isa" 550111314Snyanhint.wt.0.port="0x300" 551111314Snyanhint.wt.0.irq="5" 552111314Snyanhint.wt.0.drq="1" 553115469Sphkdevice ctx 554111314Snyanhint.ctx.0.at="isa" 555111314Snyanhint.ctx.0.port="0x230" 556111314Snyanhint.ctx.0.maddr="0xd0000" 557111314Snyandevice spigot 1 558111314Snyanhint.spigot.0.at="isa" 559111314Snyanhint.spigot.0.port="0xad6" 560111314Snyanhint.spigot.0.irq="15" 561111314Snyanhint.spigot.0.maddr="0xee000" 562111314Snyandevice apm 563111314Snyanhint.apm.0.flags="0x20" 564111314Snyandevice canbus 565111314Snyandevice canbepm 566124795Snyandevice pmc 567111314Snyanhint.pmc.0.at="isa" 568111314Snyanhint.pmc.0.port="0x8f0" 569111314Snyandevice pmtimer # Adjust system timer at wakeup time 570124795Snyandevice cy 1 571124795Snyanoptions CY_PCI_FASTINTR # Use with cy_pci unless irq is shared 572124795Snyanhint.cy.0.at="isa" 573124795Snyanhint.cy.0.irq="10" 574124795Snyanhint.cy.0.maddr="0xd4000" 575124795Snyanhint.cy.0.msize="0x2000" 576111314Snyandevice digi 577111314Snyanhint.digi.0.at="isa" 578111314Snyanhint.digi.0.port="0x104" 579111314Snyanhint.digi.0.maddr="0xd0000" 580111314Snyan# BIOS & FEP/OS components of device digi. 581111314Snyandevice digi_CX 582111314Snyandevice digi_CX_PCI 583111314Snyandevice digi_EPCX 584111314Snyandevice digi_EPCX_PCI 585111314Snyandevice digi_Xe 586111314Snyandevice digi_Xem 587111314Snyandevice digi_Xr 588124795Snyandevice gp 589124795Snyanhint.gp.0.at="isa" 590124795Snyanhint.gp.0.port="0x2c0" 591124795Snyandevice olpt 592124795Snyanhint.olpt.0.at="isa" 593124795Snyanhint.olpt.0.port="0x040" 594111314Snyandevice stl 595111314Snyanhint.stl.0.at="isa" 596111314Snyanhint.stl.0.port="0x2a0" 597111314Snyanhint.stl.0.irq="10" 598111314Snyandevice stli 599111314Snyanhint.stli.0.at="isa" 600111314Snyanhint.stli.0.port="0x2a0" 601111314Snyanhint.stli.0.maddr="0xcc000" 602111314Snyanhint.stli.0.flags="23" 603111314Snyanhint.stli.0.msize="0x1000" 604111314Snyan 605111314Snyan# 606111314Snyan# Laptop/Notebook options: 607111314Snyan# 608111314Snyan# See also: 609111314Snyan# apm under `Miscellaneous hardware' 610111314Snyan# above. 611111314Snyan 612111314Snyan# For older notebooks that signal a powerfail condition (external 613111314Snyan# power supply dropped, or battery state low) by issuing an NMI: 614111314Snyan 615111314Snyanoptions POWERFAIL_NMI # make it beep instead of panicing 616111314Snyan 617111314Snyan# 618111314Snyan# PC Card/PCMCIA 619111314Snyan# (OLDCARD) 620111314Snyan# 621111314Snyan# card: pccard slots 622111314Snyan# pcic: isa/pccard bridge 623111314Snyandevice pcic 624111314Snyanhint.pcic.0.at="isa" 625111314Snyan#hint.pcic.1.at="isa" 626111314Snyandevice card 1 627111314Snyan 628111314Snyan#--------------------------------------------------------------------------- 629111314Snyan# ISDN4BSD 630111314Snyan# 631111314Snyan# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd. 632111314Snyan# 633111314Snyan# i4b passive ISDN cards support contains the following hardware drivers: 634111314Snyan# 635111314Snyan# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver 636111314Snyan# iwic - Winbond W6692 PCI bus ISDN S/T interface controller 637111314Snyan# ifpi - AVM Fritz!Card PCI driver 638111314Snyan# ifpi2 - AVM Fritz!Card PCI version 2 driver 639111314Snyan# ihfc - Cologne Chip HFC ISA/ISA-PnP chipset driver 640125234Snyan# ifpnp - AVM Fritz!Card PnP driver 641111314Snyan# itjc - Siemens ISAC / TJNet Tiger300/320 chipset 642111314Snyan# 643111314Snyan# i4b active ISDN cards support contains the following hardware drivers: 644111314Snyan# 645111314Snyan# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1 646111314Snyan# 647111314Snyan# Note that the ``options'' (if given) and ``device'' lines must BOTH 648111314Snyan# be uncommented to enable support for a given card ! 649111314Snyan# 650111314Snyan# In addition to a hardware driver (and probably an option) the mandatory 651125234Snyan# ISDN protocol stack devices and the mandatory support device must be 652111314Snyan# enabled as well as one or more devices from the optional devices section. 653111314Snyan# 654111314Snyan#--------------------------------------------------------------------------- 655111314Snyan# isic driver (Siemens/Infineon chipsets) 656111314Snyan# 657111314Snyandevice isic 658111314Snyan# 659111314Snyan# PCI bus Cards: 660111314Snyan# -------------- 661111314Snyan# 662111314Snyan# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI) 663111314Snyanoptions ELSA_QS1PCI 664111314Snyan# 665111314Snyan#--------------------------------------------------------------------------- 666111314Snyan# ifpnp driver for AVM Fritz!Card PnP 667111314Snyan# 668111314Snyan# AVM Fritz!Card PnP 669111314Snyandevice ifpnp 670111314Snyan# 671111314Snyan#--------------------------------------------------------------------------- 672111314Snyan# ihfc driver for Cologne Chip ISA chipsets (experimental!) 673111314Snyan# 674111314Snyan# Teles 16.3c ISA PnP 675111314Snyan# AcerISDN P10 ISA PnP 676111314Snyan# TELEINT ISDN SPEED No.1 677111314Snyandevice ihfc 678111314Snyan# 679111314Snyan#--------------------------------------------------------------------------- 680111314Snyan# ifpi driver for AVM Fritz!Card PCI 681111314Snyan# 682111314Snyan# AVM Fritz!Card PCI 683111314Snyandevice ifpi 684111314Snyan# 685111314Snyan#--------------------------------------------------------------------------- 686111314Snyan# ifpi2 driver for AVM Fritz!Card PCI version 2 687111314Snyan# 688111314Snyan# AVM Fritz!Card PCI version 2 689111314Snyandevice "ifpi2" 690111314Snyan# 691111314Snyan#--------------------------------------------------------------------------- 692111314Snyan# iwic driver for Winbond W6692 chipset 693111314Snyan# 694111314Snyan# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) 695111314Snyandevice iwic 696111314Snyan# 697111314Snyan#--------------------------------------------------------------------------- 698125234Snyan# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset 699111314Snyan# 700111314Snyan# Traverse Technologies NETjet-S 701111314Snyan# Teles PCI-TJ 702111314Snyandevice itjc 703111314Snyan# 704111314Snyan#--------------------------------------------------------------------------- 705111314Snyan# iavc driver (AVM active cards, needs i4bcapi driver!) 706111314Snyan# 707111314Snyandevice iavc 708111314Snyan# 709111314Snyan# AVM B1 ISA bus (PnP mode not supported!) 710111314Snyan# ---------------------------------------- 711111314Snyanhint.iavc.0.at="isa" 712111314Snyanhint.iavc.0.port="0x150" 713111314Snyanhint.iavc.0.irq="5" 714111314Snyan# 715111314Snyan#--------------------------------------------------------------------------- 716111314Snyan# ISDN Protocol Stack - mandatory for all hardware drivers 717111314Snyan# 718111314Snyan# Q.921 / layer 2 - i4b passive cards D channel handling 719111314Snyandevice "i4bq921" 720111314Snyan# 721111314Snyan# Q.931 / layer 3 - i4b passive cards D channel handling 722111314Snyandevice "i4bq931" 723111314Snyan# 724111314Snyan# layer 4 - i4b common passive and active card handling 725111314Snyandevice "i4b" 726111314Snyan# 727111314Snyan#--------------------------------------------------------------------------- 728111314Snyan# ISDN devices - mandatory for all hardware drivers 729111314Snyan# 730111314Snyan# userland driver to do ISDN tracing (for passive cards only) 731111314Snyandevice "i4btrc" 4 732111314Snyan# 733111314Snyan# userland driver to control the whole thing 734111314Snyandevice "i4bctl" 735111314Snyan# 736111314Snyan#--------------------------------------------------------------------------- 737111314Snyan# ISDN devices - optional 738111314Snyan# 739111314Snyan# userland driver for access to raw B channel 740111314Snyandevice "i4brbch" 4 741111314Snyan# 742111314Snyan# userland driver for telephony 743111314Snyandevice "i4btel" 2 744111314Snyan# 745111314Snyan# network driver for IP over raw HDLC ISDN 746111314Snyandevice "i4bipr" 4 747111314Snyan# enable VJ header compression detection for ipr i/f 748111314Snyanoptions IPR_VJ 749111314Snyan# enable logging of the first n IP packets to isdnd (n=32 here) 750111314Snyanoptions IPR_LOG=32 751111314Snyan# 752111314Snyan# network driver for sync PPP over ISDN; requires an equivalent 753111314Snyan# number of sppp device to be configured 754111314Snyandevice "i4bisppp" 4 755111314Snyan# 756111314Snyan# B-channel interface to the netgraph subsystem 757111314Snyandevice "i4bing" 2 758111314Snyan# 759111314Snyan# CAPI driver needed for active ISDN cards (see iavc driver above) 760111314Snyandevice "i4bcapi" 761111314Snyan# 762111314Snyan#--------------------------------------------------------------------------- 763111314Snyan 764111314Snyan# 765111314Snyan# Set the number of PV entries per process. Increasing this can 766124795Snyan# stop panics related to heavy use of shared memory. However, that can 767111314Snyan# (combined with large amounts of physical memory) cause panics at 768111314Snyan# boot time due the kernel running out of VM space. 769111314Snyan# 770111314Snyan# If you're tweaking this, you might also want to increase the sysctls 771111314Snyan# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". 772111314Snyan# 773111314Snyan# The value below is the one more than the default. 774111314Snyan# 775111314Snyanoptions PMAP_SHPGPERPROC=201 776111314Snyan 777111314Snyan# 778111314Snyan# Change the size of the kernel virtual address space. Due to 779111314Snyan# constraints in loader(8) on i386, this must be a multiple of 4. 780111314Snyan# 256 = 1 GB of kernel address space. Increasing this also causes 781111314Snyan# a reduction of the address space in user processes. 512 splits 782111314Snyan# the 4GB cpu address space in half (2GB user, 2GB kernel). 783111314Snyan# 784111314Snyanoptions KVA_PAGES=260 785111314Snyan 786111314Snyan 787111314Snyan##################################################################### 788111314Snyan# ABI Emulation 789111314Snyan 790111314Snyan# Enable iBCS2 runtime support for SCO and ISC binaries 791111314Snyanoptions IBCS2 792111314Snyan 793111314Snyan# Emulate spx device for client side of SVR3 local X interface 794111314Snyanoptions SPX_HACK 795111314Snyan 796111314Snyan# Enable Linux ABI emulation 797111314Snyanoptions COMPAT_LINUX 798111314Snyan 799111314Snyan# Enable i386 a.out binary support 800111314Snyanoptions COMPAT_AOUT 801111314Snyan 802111314Snyan# Enable the linux-like proc filesystem support (requires COMPAT_LINUX 803111314Snyan# and PSEUDOFS) 804111314Snyanoptions LINPROCFS 805111314Snyan 806111314Snyan# 807111314Snyan# SysVR4 ABI emulation 808111314Snyan# 809111314Snyan# The svr4 ABI emulator can be statically compiled into the kernel or loaded as 810125234Snyan# a KLD module. 811125234Snyan# The STREAMS network emulation code can also be compiled statically or as a 812111314Snyan# module. If loaded as a module, it must be loaded before the svr4 module 813111314Snyan# (the /usr/sbin/svr4 script does this for you). If compiling statically, 814111314Snyan# the `streams' device must be configured into any kernel which also 815125234Snyan# specifies COMPAT_SVR4. It is possible to have a statically-configured 816111314Snyan# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 817111314Snyan# script understands that it doesn't need to load the `streams' module under 818111314Snyan# those circumstances. 819111314Snyan# Caveat: At this time, `options KTRACE' is required for the svr4 emulator 820125234Snyan# (whether static or dynamic). 821125234Snyan# 822111314Snyanoptions COMPAT_SVR4 # build emulator statically 823111314Snyanoptions DEBUG_SVR4 # enable verbose debugging 824111314Snyandevice streams # STREAMS network driver (required for svr4). 825111314Snyan 826111314Snyan 827111314Snyan##################################################################### 828111314Snyan# VM OPTIONS 829111314Snyan 830111314Snyan# Disable the 4 MByte page PSE CPU feature. The PSE feature allows the 831111314Snyan# kernel to use a 4 MByte pages to map the kernel instead of 4k pages. 832111314Snyan# This saves on the amount of memory needed for page tables needed to 833111314Snyan# map the kernel. You should only disable this feature as a temporary 834111314Snyan# workaround if you are having problems with it enabled. 835111314Snyan# 836111314Snyan#options DISABLE_PSE 837111314Snyan 838111314Snyan# Disable the global pages PGE CPU feature. The PGE feature allows pages 839111314Snyan# to be marked with the PG_G bit. TLB entries for these pages are not 840111314Snyan# flushed from the cache when %cr3 is reloaded. This can make context 841111314Snyan# switches less expensive. You should only disable this feature as a 842111314Snyan# temporary workaround if you are having problems with it enabled. 843111314Snyan# 844111314Snyan#options DISABLE_PG_G 845111314Snyan 846111314Snyan# KSTACK_PAGES is the number of memory pages to assign to the kernel 847111314Snyan# stack of each thread. 848111314Snyan 849111314Snyanoptions KSTACK_PAGES=3 850111314Snyan 851111314Snyan##################################################################### 852111314Snyan 853111314Snyan# More undocumented options for linting. 854111314Snyan# Note that documenting these are not considered an affront. 855111314Snyan 856111314Snyanoptions FB_INSTALL_CDEV # install a CDEV entry in /dev 857111314Snyan 858111314Snyan# PECOFF module (Win32 Execution Format) 859111314Snyanoptions PECOFF_SUPPORT 860111314Snyanoptions PECOFF_DEBUG 861111314Snyan 862111314Snyanoptions ENABLE_ALART 863111314Snyanoptions I4B_SMP_WORKAROUND 864111314Snyanoptions I586_PMC_GUPROF=0x70000 865111314Snyanoptions KBDIO_DEBUG=2 866111314Snyanoptions KBD_MAXRETRY=4 867111314Snyanoptions KBD_MAXWAIT=6 868111314Snyanoptions KBD_RESETDELAY=201 869111314Snyan 870111314Snyanoptions TIMER_FREQ=((14318182+6)/12) 871111314Snyan 872111314Snyanoptions VM_KMEM_SIZE 873111314Snyanoptions VM_KMEM_SIZE_MAX 874111314Snyanoptions VM_KMEM_SIZE_SCALE 875111314Snyan 876111500Sobrien 877111500Sobrien##################################################################### 878111500Sobrien# Devices we don't want to deal with 879111500Sobrien 880111500Sobriennodevice atkbdc 881111500Sobriennodevice atkbd 882111500Sobriennodevice psm 883111500Sobriennodevice vga 884116382Snyannodevice bt 885116382Snyannodevice adw 886111500Sobriennodevice aha 887116382Snyannodevice ahb 888116382Snyannodevice ahd 889116382Snyannodevice mpt 890116382Snyannodevice trm 891111500Sobriennodevice wds 892111500Sobriennodevice asr 893111500Sobriennodevice dpt 894111500Sobriennodevice ciss 895111500Sobriennodevice iir 896111500Sobriennodevice mly 897111500Sobriennodevice ida # Compaq Smart RAID 898111500Sobriennodevice mlx # Mylex DAC960 899111500Sobriennodevice amr # AMI MegaRAID 900111500Sobriennodevice twe # 3ware ATA RAID 901125086Snyannodevice ataraid 902116382Snyannodevice cm 903116382Snyannodevice cs 904116382Snyannodevice ex 905116382Snyannodevice fea 906111500Sobriennodevice cbb 907111500Sobriennodevice pccard 908111500Sobriennodevice cardbus 909116382Snyannodevice intpm 910116382Snyannodevice alpm 911116382Snyannodevice ichsmb 912116382Snyannodevice viapm 913116382Snyannodevice amdpm 914116382Snyannodevice nfpm 915111582Sru 916111582Sru 917111582Sru##################################################################### 918111582Sru# Options we don't want to deal with 919111582Sru 920111582Srunooption VGA_DEBUG 921111582Srunooption VGA_WIDTH90 922111582Srunooption VGA_SLOW_IOACCESS 923111582Srunooption VGA_ALT_SEQACCESS 924111582Srunooption PSM_RESETAFTERSUSPEND 925111582Srunooption PSM_HOOKRESUME 926111582Srunooption ATKBD_DFLT_KEYMAP 927116382Snyannooption AHD_DEBUG 928116382Snyannooption AHD_DEBUG_OPTS 929116382Snyannooption AHD_REG_PRETTY_PRINT 930116382Snyannooption ADW_ALLOW_MEMIO 931111582Srunooption DPT_LOST_IRQ 932111582Srunooption DPT_RESET_HBA 933111582Srunooption DPT_TIMEOUT_FACTOR 934116382Snyannooption AAC_DEBUG 935116382Snyannooption ACPI_MAX_THREADS 936111582Sru 937111582Sru 938111582Sru##################################################################### 939111582Sru# Make options we don't want to deal with 940111582Sru 941111582Srunomakeoption ATKBD_DFLT_KEYMAP 942