NOTES revision 131815
1139804Simp# 22729Sdfr# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 32729Sdfr# 42729Sdfr# This file contains machine dependent kernel configuration notes. For 52729Sdfr# machine independent notes, look in /sys/conf/NOTES. 62729Sdfr# 72729Sdfr# $FreeBSD: head/sys/pc98/conf/NOTES 131815 2004-07-08 13:47:01Z nyan $ 82729Sdfr# 92729Sdfr 102729Sdfr# 112729Sdfr# This directive is mandatory; it defines the architecture to be 122729Sdfr# configured for; in this case, the 386 family based PC-98 and 132729Sdfr# compatibles. 142729Sdfr# 152729Sdfrmachine pc98 162729Sdfroptions PC98 172729Sdfr 182729Sdfr# 19140614Srwatson# We want LINT to cover profiling as well. 20140614Srwatsonprofile 2 21140614Srwatson 22140614Srwatson 23140614Srwatson##################################################################### 24140614Srwatson# SMP OPTIONS: 25140614Srwatson# 26140614Srwatson# The apic device enables the use of the I/O APIC for interrupt delivery. 27140614Srwatson# The apic device can be used in both UP and SMP kernels, but is required 28140614Srwatson# for SMP kernels. Thus, the apic device is not strictly an SMP option, 29140614Srwatson# but it is a prerequisite for SMP. 30140614Srwatson# 31140614Srwatson# Notes: 32140614Srwatson# 33140614Srwatson# Be sure to disable 'cpu I386_CPU' for SMP kernels. 34140614Srwatson# 35140614Srwatson# By default, mixed mode is used to route IRQ0 from the AT timer via 36140614Srwatson# the 8259A master PIC through the ExtINT pin on the first I/O APIC. 37140614Srwatson# This can be disabled via the NO_MIXED_MODE option. In that case, 38140614Srwatson# IRQ0 will be routed via an intpin on the first I/O APIC. Not all 39140614Srwatson# motherboards hook IRQ0 up to the first I/O APIC even though their 40140614Srwatson# MP table or MADT may claim to do so. That is why mixed mode is 41140614Srwatson# enabled by default. 42140614Srwatson# 43140614Srwatson 44140614Srwatson# Mandatory: 45140614Srwatsondevice apic # I/O apic 46140614Srwatson 47140614Srwatson# Optional: 48140614Srwatsonoptions NO_MIXED_MODE # Disable use of mixed mode 492729Sdfr 50116182Sobrien 51116182Sobrien##################################################################### 52116182Sobrien# CPU OPTIONS 5359839Speter 54140614Srwatson# 5559839Speter# You must specify at least one CPU (the one you intend to run on); 562729Sdfr# deleting the specification for CPUs you don't need to use may make 572729Sdfr# parts of the system run faster. 5811626Sbde# I386_CPU is mutually exclusive with the other CPU types. 592729Sdfr# I386_CPU is deprecated and will be removed in 6.0-RELEASE. 60164033Srwatson# 612729Sdfr#cpu I386_CPU 6282607Sdilloncpu I486_CPU 6382607Sdilloncpu I586_CPU # aka Pentium(tm) 64129882Sphkcpu I686_CPU # aka Pentium Pro(tm) 652729Sdfr 6669449Salfred# 67140839Ssobomax# Options for CPU features. 6811626Sbde# 6959839Speter# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning 7059839Speter# CPU if CPU supports it. The default is double-clock mode on 7168024Srwatson# BlueLightning CPU box. 722729Sdfr# 73163606Srwatson# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM 74163606Srwatson# BlueLightning CPU. It works only with Cyrix FPU, and this option 7559839Speter# should not be used with Intel FPU. 7659839Speter# 7792723Salfred# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). 7892723Salfred# 7992723Salfred# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space 8010358Sjulian# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1. 81100523Salfred# Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3) 82100523Salfred# 83100523Salfred# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct 84100523Salfred# mapped mode. Default is 2-way set associative mode. 85100523Salfred# 862729Sdfr# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables 8792723Salfred# reorder). This option should not be used if you use memory mapped 882729Sdfr# I/O device(s). 8911626Sbde# 9012819Sphk# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 9111626Sbde# machines. VmWare seems to emulate this instruction poorly, causing 9211626Sbde# the guest OS to run very slowly. Enabling this with an SMP kernel 9311626Sbde# will cause the kernel to be unusable. 942729Sdfr# 9559839Speter# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE. 9659839Speter# 9759839Speter# CPU_ENABLE_SSE enables SSE/MMX2 instructions support. This is default 9859839Speter# on I686_CPU and above. 9959839Speter# 10059839Speter# CPU_FASTER_5X86_FPU enables faster FPU exception handler. 10159839Speter# 10259839Speter# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products 10359839Speter# for i386 machines. 10459839Speter# 10559839Speter# CPU_IORT defines I/O clock delay time (NOTE 1). Default values of 10659839Speter# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively 10759839Speter# (no clock delay). 10859839Speter# 10959839Speter# CPU_L2_LATENCY specifies the L2 cache latency value. This option is used 11059839Speter# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected. 11159839Speter# The default value is 5. 11259839Speter# 11359839Speter# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination 11459839Speter# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE 11559839Speter# 1). 11659839Speter# 11759839Speter# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option 11859839Speter# is useful when you use Socket 8 to Socket 370 converter, because most Pentium 11959839Speter# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs. 12059839Speter# 12159839Speter# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1). 12259839Speter# 12359839Speter# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU 12459839Speter# enters suspend mode following execution of HALT instruction. 12559839Speter# 12659839Speter# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s). 12759839Speter# 12859839Speter# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD 12959839Speter# K5/K6/K6-2 CPUs. 13059839Speter# 13159839Speter# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache 13259839Speter# flush at hold state. 13359839Speter# 13459839Speter# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs 13559839Speter# without cache flush at hold state, and (2) write-back CPU cache on 13659839Speter# Cyrix 6x86 whose revision < 2.7 (NOTE 2). 13759839Speter# 13859839Speter# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY 13959839Speter# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is 14059839Speter# executed. This option is only needed if I586_CPU is also defined, 14159839Speter# and should be included for any non-Pentium CPU that defines it. 14259839Speter# 14359839Speter# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors 14459839Speter# which indicates that the 15-16MB range is *definitely* not being 14559839Speter# occupied by an ISA memory hole. 14659839Speter# 14759839Speter# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT, 14859839Speter# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs. 14959839Speter# These options may crash your system. 15059839Speter# 15159839Speter# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled 15212819Sphk# in write-through mode when revision < 2.7. If revision of Cyrix 15312819Sphk# 6x86 >= 2.7, CPU cache is always enabled in write-back mode. 15459839Speter# 15559839Speter# NOTE 3: This option may cause failures for software that requires 15659839Speter# locked cycles in order to operate correctly. 15759839Speter# 158137613Srwatsonoptions CPU_BLUELIGHTNING_3X 159101772Salfredoptions CPU_BLUELIGHTNING_FPU_OP_CACHE 1602729Sdfroptions CPU_BTB_EN 16159839Speteroptions CPU_DIRECT_MAPPED_CACHE 16269449Salfredoptions CPU_DISABLE_5X86_LSSER 1632729Sdfroptions CPU_DISABLE_CMPXCHG 1642729Sdfr#options CPU_DISABLE_SSE 1652729Sdfroptions CPU_ENABLE_SSE 16683765Smroptions CPU_FASTER_5X86_FPU 16783765Smroptions CPU_I486_ON_386 16883765Smroptions CPU_IORT 16983765Smroptions CPU_L2_LATENCY=5 170139436Srwatsonoptions CPU_LOOP_EN 171139436Srwatsonoptions CPU_PPRO2CELERON 17283765Smroptions CPU_RSTK_EN 173111119Simpoptions CPU_SUSP_HLT 17459839Speteroptions CPU_UPGRADE_HW_CACHE 17559839Speteroptions CPU_WT_ALLOC 176111119Simpoptions CYRIX_CACHE_WORKS 17759839Speteroptions CYRIX_CACHE_REALLY_WORKS 17859839Speter#options NO_F00F_HACK 179111119Simp 18059839Speter# Debug options 18159839Speteroptions NPX_DEBUG # enable npx debugging 182137613Srwatson 183137613Srwatson# 18459839Speter# PERFMON causes the driver for Pentium/Pentium Pro performance counters 18559839Speter# to be compiled. See perfmon(4) for more information. 18659839Speter# 1872729Sdfroptions PERFMON 1882729Sdfr 1892729Sdfr 1902729Sdfr##################################################################### 1912729Sdfr# NETWORKING OPTIONS 1922729Sdfr 1932729Sdfr# 1942729Sdfr# DEVICE_POLLING adds support for mixed interrupt-polling handling 1952729Sdfr# of network device drivers, which has significant benefits in terms 1962729Sdfr# of robustness to overloads and responsivity, as well as permitting 197100523Salfred# accurate scheduling of the CPU time between kernel network processing 198100523Salfred# and other activities. The drawback is a moderate (up to 1/HZ seconds) 1992729Sdfr# potential increase in response times. 2002729Sdfr# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING 2012729Sdfr# to achieve smoother behaviour. 2022729Sdfr# Additionally, you can enable/disable polling at runtime with the 203100523Salfred# sysctl variable kern.polling.enable (defaults off), and select 2042729Sdfr# the CPU fraction reserved to userland with the sysctl variable 2052729Sdfr# kern.polling.user_frac (default 50, range 0..100). 2062729Sdfr# 2072729Sdfr# Not all device drivers support this mode of operation at the time of 2082729Sdfr# this writing. See polling(4) for more details. 2092729Sdfr 2102729Sdfroptions DEVICE_POLLING 2112729Sdfr 2122729Sdfr 2132729Sdfr##################################################################### 2142729Sdfr# CLOCK OPTIONS 2152729Sdfr 2162729Sdfr# The following options are used for debugging clock behavior only, and 2172729Sdfr# should not be used for production systems. 2182729Sdfr 2192729Sdfr# CLK_CALIBRATION_LOOP causes clock calibration to be run in a loop at 2202729Sdfr# startup until the user presses a key. (The i8254 clock is always 2212729Sdfr# calibrated relative to the RTC (mc146818a) and this option causes the 2222729Sdfr# calibration to be repeated.) 2232729Sdfroptions CLK_CALIBRATION_LOOP 2242729Sdfr 2252729Sdfr# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254 226140614Srwatson# clock to actually be used. 227140614Srwatsonoptions CLK_USE_I8254_CALIBRATION 228140614Srwatson 2292729Sdfr 2302729Sdfr##################################################################### 2312729Sdfr# MISCELLANEOUS DEVICES AND OPTIONS 2322729Sdfr 2332729Sdfrdevice speaker #Play IBM BASIC-style noises out your speaker 2342729Sdfrhint.speaker.0.at="isa" 2352729Sdfrhint.speaker.0.port="0x35" 236137613Srwatsondevice gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! 237137613Srwatsondevice apm_saver # Requires APM 238137613Srwatson 239140614Srwatson 240140614Srwatson##################################################################### 241140614Srwatson# HARDWARE BUS CONFIGURATION 2422729Sdfr 243101772Salfred# 2442729Sdfr# ISA bus 2452729Sdfr# 24669449Salfreddevice isa 24769449Salfred 24869449Salfred# 249137613Srwatson# Options for `isa': 25069449Salfred# 251140614Srwatson# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 252140614Srwatson# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 253140614Srwatson# This option breaks suspend/resume on some portables. 25469449Salfred# 25569449Salfred# MAXMEM specifies the amount of RAM on the machine; if this is not 25669449Salfred# specified, FreeBSD will first read the amount of memory from the CMOS 25769449Salfred# RAM, so the amount of memory will initially be limited to 64MB or 16MB 25869449Salfred# depending on the BIOS. If the BIOS reports 64MB, a memory probe will 25969449Salfred# then attempt to detect the installed amount of RAM. If this probe 26069449Salfred# fails to detect >64MB RAM you will have to use the MAXMEM option. 26169449Salfred# The amount is in kilobytes, so for a machine with 128MB of RAM, it would 262137613Srwatson# be 131072 (128 * 1024). 263137613Srwatson# 264137613Srwatson# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 26569449Salfred# reset the CPU for reboot. This is needed on some systems with broken 26669449Salfred# keyboard controllers. 26769449Salfred 26869449Salfredoptions AUTO_EOI_1 26969449Salfred 270140614Srwatsonoptions MAXMEM=(128*1024) 271140614Srwatson#options BROKEN_KEYBOARD_RESET 272140614Srwatsonoptions EPSON_BOUNCEDMA 273140614Srwatsonoptions EPSON_MEMWIN 274140614Srwatson 275140614Srwatson# 27669449Salfred# PCI bus & PCI options: 27769449Salfred# 27869449Salfreddevice pci 27969449Salfred 280101772Salfred# 28169449Salfred# AGP GART support 28269449Salfreddevice agp 28369449Salfred 28469449Salfred 28569449Salfred##################################################################### 28669449Salfred# HARDWARE DEVICE CONFIGURATION 28769449Salfred 28869449Salfred# PC98 keyboard 28969449Salfreddevice pckbd 29069449Salfredhint.pckbd.0.at="isa" 29169449Salfredhint.pckbd.0.port="0x041" 29269449Salfredhint.pckbd.0.irq="1" 29369449Salfred 29469449Salfred# These options are valid for other keyboard drivers as well. 29569449Salfredoptions KBD_DISABLE_KEYMAP_LOAD # refuse to load a keymap 29669449Salfredoptions KBD_INSTALL_CDEV # install a CDEV entry in /dev 29769449Salfred 29869449Salfred# GDC screen 29969449Salfreddevice gdc 30069449Salfredhint.gdc.0.at="isa" 30169449Salfredoptions LINE30 30269449Salfred 30369449Salfred# 30469449Salfred# The Numeric Processing eXtension driver. This is non-optional. 30569449Salfreddevice npx 30671038Sdes 30771038Sdes# 30869449Salfred# `flags' for npx0: 30969449Salfred# 0x01 don't use the npx registers to optimize bcopy. 31069449Salfred# 0x02 don't use the npx registers to optimize bzero. 31169449Salfred# 0x04 don't use the npx registers to optimize copyin or copyout. 31288633Salfred# The npx registers are normally used to optimize copying and zeroing when 31388633Salfred# all of the following conditions are satisfied: 31488633Salfred# I586_CPU is an option 31588633Salfred# the cpu is an i586 (perhaps not a Pentium) 31688633Salfred# the probe for npx0 succeeds 31769449Salfred# INT 16 exception handling works. 31871038Sdes# Then copying and zeroing using the npx registers is normally 30-100% faster. 31969449Salfred# The flags can be used to control cases where it doesn't work or is slower. 32071038Sdes# Setting them at boot time using userconfig works right (the optimizations 32169449Salfred# are not used until later in the bootstrap when npx0 is attached). 3222729Sdfr# Flag 0x08 automatically disables the i586 optimized routines. 3232729Sdfr# 32482607Sdillon 32582607Sdillon# 3262729Sdfr# Optional devices: 3272729Sdfr# 32883366Sjulian 32983366Sjulian# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create 33011626Sbde# the /dev/3dfx0 device to work with glide implementations. This should get 33111626Sbde# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as 332118615Snectar# the tdfx DRI module from XFree86 and is completely unrelated. 33311626Sbde# 33411626Sbde# To enable Linuxulator support, one must also include COMPAT_LINUX in the 33511626Sbde# config as well, or you will not have the dependencies. The other option 33611626Sbde# is to load both as modules. 33711626Sbde 33811626Sbdedevice tdfx # Enable 3Dfx Voodoo support 3392729Sdfroptions TDFX_LINUX # Enable Linuxulator support 34082607Sdillon 3412729Sdfr# DRM options: 34291703Sjhb# mgadrm: AGP Matrox G200, G400, G450, G550 34391703Sjhb# r128drm: ATI Rage 128 344118615Snectar# radeondrm: ATI Radeon up to 9000/9100 345118615Snectar# sisdrm: SiS 300/305,540,630 34691703Sjhb# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee 34783366Sjulian# DRM_DEBUG: include debug printfs, very slow 34882607Sdillon# 3492729Sdfr# mga requires AGP in the kernel, and it is recommended 3502729Sdfr# for AGP r128 and radeon cards. 3512729Sdfr 3522729Sdfrdevice mgadrm 3532729Sdfrdevice "r128drm" 3542729Sdfrdevice radeondrm 3552729Sdfrdevice sisdrm 3562729Sdfrdevice tdfxdrm 3572729Sdfr 3582729Sdfroptions DRM_DEBUG 3592729Sdfr 3602729Sdfr# 3612729Sdfr# Bus mouse 3622729Sdfr# 3632729Sdfrdevice mse 3642729Sdfrhint.mse.0.at="isa" 3652729Sdfrhint.mse.0.port="0x7fd9" 3662729Sdfrhint.mse.0.irq="13" 3672729Sdfr 3682729Sdfr# 3692729Sdfr# Network interfaces: 3702729Sdfr# 3712729Sdfr 3722729Sdfr# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver 373140614Srwatson# (requires sppp) 374140614Srwatson# cp: Cronyx Tau-PCI sync single/dual/four port 375140614Srwatson# V.35/RS-232/RS-530/RS-449/X.21/G.703/E1/E3/T3/STS-1 3762729Sdfr# serial adaptor (requires sppp (default), or NETGRAPH if 3772729Sdfr# NETGRAPH_CRONYX is configured) 37812866Speter# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 3792729Sdfr# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf) 3802729Sdfr# (requires miibus) 3812729Sdfr# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210; 38212866Speter# Intel EtherExpress 3832729Sdfr# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and 38412866Speter# Am79C960) 3852729Sdfr# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133. 38682607Sdillon# Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140, 38782607Sdillon# OC-3141, OC-3540 and OC-3250. 38882607Sdillon# sbni: Granch SBNI12-xx ISA and PCI adapters 38912866Speter# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp) 39083366Sjulian# wl: Lucent Wavelan (ISA card only). 39183366Sjulian 3922729Sdfr# Order for ISA/EISA devices is important here 3932729Sdfr 3942729Sdfrdevice ar 3952729Sdfrdevice cp 3962729Sdfrdevice ed 397140839Ssobomax#options ED_NO_MIIBUS # Disable ed miibus support 398140839Ssobomaxhint.ed.0.at="isa" 399140839Ssobomaxhint.ed.0.port="0x280" 400140839Ssobomaxhint.ed.0.irq="5" 401140839Ssobomaxhint.ed.0.maddr="0xd8000" 402140839Ssobomaxdevice ie # Hints only required for Starlan 403141471Sjhbhint.ie.2.at="isa" 404140839Ssobomaxhint.ie.2.port="0x300" 405141471Sjhbhint.ie.2.irq="5" 406140839Ssobomaxhint.ie.2.maddr="0xd0000" 407140839Ssobomaxdevice lnc 408140839Ssobomaxhint.lnc.0.at="isa" 409140839Ssobomaxhint.lnc.0.port="0x280" 410141471Sjhbhint.lnc.0.irq="10" 411140839Ssobomaxhint.lnc.0.drq="0" 412140839Ssobomaxdevice sbni 413140839Ssobomaxhint.sbni.0.at="isa" 414140839Ssobomaxhint.sbni.0.port="0x210" 415140839Ssobomaxhint.sbni.0.irq="0xefdead" 416140839Ssobomaxhint.sbni.0.flags="0" 417137613Srwatsondevice snc 4182729Sdfrhint.snc.0.at="isa" 41991703Sjhbhint.snc.0.port="0x888" 42091703Sjhbhint.snc.0.irq="6" 42191703Sjhbhint.snc.0.maddr="0xc0000" 422140839Ssobomaxdevice sr 4232729Sdfrdevice oltr 424140839Ssobomaxdevice wl 425140839Ssobomaxhint.wl.0.at="isa" 426100523Salfredhint.wl.0.port="0x300" 427101772Salfredoptions WLCACHE # enables the signal-strength cache 4282729Sdfroptions WLDEBUG # enables verbose debugging output 4292729Sdfr 430140839Ssobomax# 4312729Sdfr# SCSI host adapters: 432101772Salfred# 433137613Srwatson# ct: WD33C93[ABC] based SCSI host adapters. 434100523Salfred# ncv: NCR 53C500 based SCSI host adapters. 43582607Sdillon# nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. 43682607Sdillon# stg: TMC 18C30, 18C50 based SCSI host adapters. 4372729Sdfr 438140839Ssobomaxdevice ct 439100523Salfredhint.ct.0.at="isa" 44082607Sdillondevice ncv 44182607Sdillondevice nsp 4422729Sdfrdevice stg 443140614Srwatson 444140614Srwatson# 445162468Srwatson# SafeNet crypto driver: can be moved to the MI NOTES as soon as 446140614Srwatson# it's tested on a big-endian machine 447140614Srwatson# 4482729Sdfrdevice safe # SafeNet 1141 44982607Sdillonoptions SAFE_DEBUG # enable debugging support: hw.safe.debug 4502729Sdfroptions SAFE_RNDTEST # enable rndtest support 4512729Sdfr 4522729Sdfr##################################################################### 4532729Sdfr 4542729Sdfr# 4552729Sdfr# Miscellaneous hardware: 4562729Sdfr# 457137613Srwatson# apm: Laptop Advanced Power Management (experimental) 45882607Sdillon# pmtimer: Timer device driver for power management events (APM or ACPI) 459137613Srwatson# cy: Cyclades serial driver 460140614Srwatson# digi: Digiboard driver 461140614Srwatson 462140614Srwatson# Notes on APM 463140614Srwatson# The flags takes the following meaning for apm0: 464140614Srwatson# 0x0020 Statclock is broken. 465140614Srwatson 466140614Srwatsondevice apm 467140614Srwatsonhint.apm.0.flags="0x20" 468140614Srwatsondevice canbus 469140614Srwatsondevice canbepm 470140614Srwatsondevice cy 471140614Srwatsonoptions CY_PCI_FASTINTR # Use with cy_pci unless irq is shared 472140614Srwatsondevice digi 473162468Srwatson# BIOS & FEP/OS components of device digi. 474140614Srwatsondevice digi_CX 475140614Srwatsondevice digi_CX_PCI 476140614Srwatsondevice digi_EPCX 477140614Srwatsondevice digi_EPCX_PCI 4782729Sdfrdevice digi_Xe 479137613Srwatsondevice digi_Xem 4802729Sdfrdevice digi_Xr 4812729Sdfrdevice olpt 4822729Sdfrhint.olpt.0.at="isa" 4832729Sdfrhint.olpt.0.port="0x040" 484137613Srwatsondevice pmc 485137613Srwatsonhint.pmc.0.at="isa" 4862729Sdfrhint.pmc.0.port="0x8f0" 4872729Sdfrdevice pmtimer # Adjust system timer at wakeup time 4882729Sdfr# sx device is i386 and pc98 only at the moment. 4892729Sdfrdevice sx 4902729Sdfroptions SX_DEBUG 491137613Srwatson 4922729Sdfr# 493137613Srwatson# Laptop/Notebook options: 4942729Sdfr# 4952729Sdfr# See also: 496137613Srwatson# apm under `Miscellaneous hardware' 4972729Sdfr# above. 498140614Srwatson 499140614Srwatson# For older notebooks that signal a powerfail condition (external 500140614Srwatson# power supply dropped, or battery state low) by issuing an NMI: 501140614Srwatson 502137613Srwatsonoptions POWERFAIL_NMI # make it beep instead of panicing 5032729Sdfr 5042729Sdfr# 5052729Sdfr# PC Card/PCMCIA 5062729Sdfr# (OLDCARD) 5072729Sdfr# 508137613Srwatson# card: pccard slots 50982607Sdillon# pcic: isa/pccard bridge 510140839Ssobomaxdevice pcic 511164033Srwatsonhint.pcic.0.at="isa" 51282607Sdillon#hint.pcic.1.at="isa" 51382607Sdillondevice card 1 51443426Sphk 515140839Ssobomax#--------------------------------------------------------------------------- 516100523Salfred# ISDN4BSD 517100523Salfred# 518140839Ssobomax# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd. 5192729Sdfr# 520140839Ssobomax# i4b passive ISDN cards support contains the following hardware drivers: 521100523Salfred# 52282607Sdillon# isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver 52382607Sdillon# iwic - Winbond W6692 PCI bus ISDN S/T interface controller 5242729Sdfr# ifpi - AVM Fritz!Card PCI driver 525140839Ssobomax# ifpi2 - AVM Fritz!Card PCI version 2 driver 526140839Ssobomax# ihfc - Cologne Chip HFC ISA/ISA-PnP chipset driver 527137613Srwatson# ifpnp - AVM Fritz!Card PnP driver 528140839Ssobomax# itjc - Siemens ISAC / TJNet Tiger300/320 chipset 529140839Ssobomax# 530137613Srwatson# i4b active ISDN cards support contains the following hardware drivers: 5312729Sdfr# 5322729Sdfr# iavc - AVM B1 PCI, AVM B1 ISA, AVM T1 5332729Sdfr# 534137613Srwatson# Note that the ``options'' (if given) and ``device'' lines must BOTH 535100523Salfred# be uncommented to enable support for a given card ! 53682607Sdillon# 5372729Sdfr# In addition to a hardware driver (and probably an option) the mandatory 538141471Sjhb# ISDN protocol stack devices and the mandatory support device must be 5392729Sdfr# enabled as well as one or more devices from the optional devices section. 5402729Sdfr# 5412729Sdfr#--------------------------------------------------------------------------- 542100523Salfred# isic driver (Siemens/Infineon chipsets) 54382607Sdillon# 54482607Sdillondevice isic 5452729Sdfr# 5462729Sdfr# PCI bus Cards: 54782607Sdillon# -------------- 54883366Sjulian# 54982607Sdillon# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI) 550101772Salfredoptions ELSA_QS1PCI 551141471Sjhb# 5522729Sdfr#--------------------------------------------------------------------------- 5532729Sdfr# ifpnp driver for AVM Fritz!Card PnP 55412866Speter# 5552729Sdfr# AVM Fritz!Card PnP 5562729Sdfrdevice ifpnp 5572729Sdfr# 5582729Sdfr#--------------------------------------------------------------------------- 55912866Speter# ihfc driver for Cologne Chip ISA chipsets (experimental!) 5602729Sdfr# 56182607Sdillon# Teles 16.3c ISA PnP 56282607Sdillon# AcerISDN P10 ISA PnP 56382607Sdillon# TELEINT ISDN SPEED No.1 56412866Speterdevice ihfc 56583366Sjulian# 56683366Sjulian#--------------------------------------------------------------------------- 5672729Sdfr# ifpi driver for AVM Fritz!Card PCI 5682729Sdfr# 56982607Sdillon# AVM Fritz!Card PCI 5702729Sdfrdevice ifpi 5712729Sdfr# 57291703Sjhb#--------------------------------------------------------------------------- 573137613Srwatson# ifpi2 driver for AVM Fritz!Card PCI version 2 5742729Sdfr# 575100523Salfred# AVM Fritz!Card PCI version 2 5762729Sdfrdevice "ifpi2" 57791703Sjhb# 57891703Sjhb#--------------------------------------------------------------------------- 57991703Sjhb# iwic driver for Winbond W6692 chipset 580101772Salfred# 5812729Sdfr# ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) 5822729Sdfrdevice iwic 583137613Srwatson# 584137613Srwatson#--------------------------------------------------------------------------- 585137613Srwatson# itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset 5862729Sdfr# 5872729Sdfr# Traverse Technologies NETjet-S 5882729Sdfr# Teles PCI-TJ 589100523Salfreddevice itjc 5902729Sdfr# 591100523Salfred#--------------------------------------------------------------------------- 59282607Sdillon# iavc driver (AVM active cards, needs i4bcapi driver!) 59382607Sdillon# 5942729Sdfrdevice iavc 595137613Srwatson# 596137613Srwatson#--------------------------------------------------------------------------- 597100523Salfred# ISDN Protocol Stack - mandatory for all hardware drivers 598100523Salfred# 59982607Sdillon# Q.921 / layer 2 - i4b passive cards D channel handling 6002729Sdfrdevice "i4bq921" 601140614Srwatson# 602140614Srwatson# Q.931 / layer 3 - i4b passive cards D channel handling 603162468Srwatsondevice "i4bq931" 604140614Srwatson# 605140614Srwatson# layer 4 - i4b common passive and active card handling 6062729Sdfrdevice "i4b" 6072729Sdfr# 6082729Sdfr#--------------------------------------------------------------------------- 6092729Sdfr# ISDN devices - mandatory for all hardware drivers 610100523Salfred# 6112729Sdfr# userland driver to do ISDN tracing (for passive cards only) 6122729Sdfrdevice "i4btrc" 4 6132729Sdfr# 6142729Sdfr# userland driver to control the whole thing 6152729Sdfrdevice "i4bctl" 6162729Sdfr# 6172729Sdfr#--------------------------------------------------------------------------- 6182729Sdfr# ISDN devices - optional 619137613Srwatson# 620137613Srwatson# userland driver for access to raw B channel 621137613Srwatsondevice "i4brbch" 4 6222729Sdfr# 6232729Sdfr# userland driver for telephony 6242729Sdfrdevice "i4btel" 2 625100523Salfred# 62682607Sdillon# network driver for IP over raw HDLC ISDN 62782607Sdillondevice "i4bipr" 4 6282729Sdfr# enable VJ header compression detection for ipr i/f 629100523Salfredoptions IPR_VJ 630137613Srwatson# enable logging of the first n IP packets to isdnd (n=32 here) 631137613Srwatsonoptions IPR_LOG=32 632137613Srwatson# 633137613Srwatson# network driver for sync PPP over ISDN; requires an equivalent 634137613Srwatson# number of sppp device to be configured 635137613Srwatsondevice "i4bisppp" 4 6362729Sdfr# 637137613Srwatson# B-channel interface to the netgraph subsystem 638137613Srwatsondevice "i4bing" 2 639137613Srwatson# 640137613Srwatson# CAPI driver needed for active ISDN cards (see iavc driver above) 641137613Srwatsondevice "i4bcapi" 642137613Srwatson# 643137613Srwatson#--------------------------------------------------------------------------- 644137613Srwatson 645137613Srwatson# 646137613Srwatson# Set the number of PV entries per process. Increasing this can 647137613Srwatson# stop panics related to heavy use of shared memory. However, that can 648140614Srwatson# (combined with large amounts of physical memory) cause panics at 649140614Srwatson# boot time due the kernel running out of VM space. 650140614Srwatson# 6512729Sdfr# If you're tweaking this, you might also want to increase the sysctls 652100523Salfred# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". 65382607Sdillon# 65482607Sdillon# The value below is the one more than the default. 6552729Sdfr# 6562729Sdfroptions PMAP_SHPGPERPROC=201 6572729Sdfr 6582729Sdfr# 659137613Srwatson# Change the size of the kernel virtual address space. Due to 66082607Sdillon# constraints in loader(8) on i386, this must be a multiple of 4. 661101772Salfred# 256 = 1 GB of kernel address space. Increasing this also causes 66282607Sdillon# a reduction of the address space in user processes. 512 splits 6632729Sdfr# the 4GB cpu address space in half (2GB user, 2GB kernel). 6642729Sdfr# 66512866Speteroptions KVA_PAGES=260 6662729Sdfr 6672729Sdfr 668109895Salfred##################################################################### 6692729Sdfr# ABI Emulation 6702729Sdfr 6712729Sdfr# Enable iBCS2 runtime support for SCO and ISC binaries 67212866Speteroptions IBCS2 6732729Sdfr 67482607Sdillon# Emulate spx device for client side of SVR3 local X interface 67582607Sdillonoptions SPX_HACK 67682607Sdillon 67712866Speter# Enable Linux ABI emulation 67883366Sjulianoptions COMPAT_LINUX 67983366Sjulian 6802729Sdfr# Enable i386 a.out binary support 6812729Sdfroptions COMPAT_AOUT 6822729Sdfr 683109895Salfred# Enable the linux-like proc filesystem support (requires COMPAT_LINUX 6842729Sdfr# and PSEUDOFS) 6852729Sdfroptions LINPROCFS 68682607Sdillon 687137613Srwatson# 6882729Sdfr# SysVR4 ABI emulation 6892729Sdfr# 6902729Sdfr# The svr4 ABI emulator can be statically compiled into the kernel or loaded as 691100523Salfred# a KLD module. 692100523Salfred# The STREAMS network emulation code can also be compiled statically or as a 69391703Sjhb# module. If loaded as a module, it must be loaded before the svr4 module 69491703Sjhb# (the /usr/sbin/svr4 script does this for you). If compiling statically, 69591703Sjhb# the `streams' device must be configured into any kernel which also 696101772Salfred# specifies COMPAT_SVR4. It is possible to have a statically-configured 6972729Sdfr# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 6982729Sdfr# script understands that it doesn't need to load the `streams' module under 6992729Sdfr# those circumstances. 700100523Salfred# Caveat: At this time, `options KTRACE' is required for the svr4 emulator 701100523Salfred# (whether static or dynamic). 70282607Sdillon# 70382607Sdillonoptions COMPAT_SVR4 # build emulator statically 7042729Sdfroptions DEBUG_SVR4 # enable verbose debugging 7052729Sdfrdevice streams # STREAMS network driver (required for svr4). 706137613Srwatson 707137613Srwatson 708100523Salfred##################################################################### 70982607Sdillon# VM OPTIONS 71082607Sdillon 7112729Sdfr# Disable the 4 MByte page PSE CPU feature. The PSE feature allows the 712137613Srwatson# kernel to use 4 MByte pages to map the kernel instead of 4k pages. 713100523Salfred# This saves on the amount of memory needed for page tables needed to 71482607Sdillon# map the kernel. You should only disable this feature as a temporary 71582607Sdillon# workaround if you are having problems with it enabled. 7162729Sdfr# 7172729Sdfr#options DISABLE_PSE 718137613Srwatson 719100523Salfred# Disable the global pages PGE CPU feature. The PGE feature allows pages 72082607Sdillon# to be marked with the PG_G bit. TLB entries for these pages are not 7212729Sdfr# flushed from the cache when %cr3 is reloaded. This can make context 7222729Sdfr# switches less expensive. You should only disable this feature as a 723140614Srwatson# temporary workaround if you are having problems with it enabled. 724140614Srwatson# 725162468Srwatson#options DISABLE_PG_G 726140614Srwatson 727140614Srwatson# KSTACK_PAGES is the number of memory pages to assign to the kernel 728140614Srwatson# stack of each thread. 7292729Sdfr 730100523Salfredoptions KSTACK_PAGES=3 731100523Salfred 7322729Sdfr##################################################################### 7332729Sdfr 7342729Sdfr# More undocumented options for linting. 7352729Sdfr# Note that documenting these are not considered an affront. 7362729Sdfr 7372729Sdfroptions FB_INSTALL_CDEV # install a CDEV entry in /dev 7382729Sdfr 7392729Sdfr# PECOFF module (Win32 Execution Format) 740137613Srwatsonoptions PECOFF_SUPPORT 741137613Srwatsonoptions PECOFF_DEBUG 74282607Sdillon 74382607Sdillonoptions I4B_SMP_WORKAROUND 7442729Sdfroptions I586_PMC_GUPROF=0x70000 7452729Sdfroptions KBDIO_DEBUG=2 746137613Srwatsonoptions KBD_MAXRETRY=4 747100523Salfredoptions KBD_MAXWAIT=6 7482729Sdfroptions KBD_RESETDELAY=201 7492729Sdfr 750137613Srwatsonoptions TIMER_FREQ=((14318182+6)/12) 751100523Salfred 7522729Sdfroptions VM_KMEM_SIZE 7532729Sdfroptions VM_KMEM_SIZE_MAX 7542729Sdfroptions VM_KMEM_SIZE_SCALE 755100523Salfred 7562729Sdfr 7572729Sdfr##################################################################### 7582729Sdfr# Devices we don't want to deal with 759100523Salfred 7602729Sdfrnodevice atkbdc 7612729Sdfrnodevice atkbd 7622729Sdfrnodevice psm 7632729Sdfrnodevice vga 7642729Sdfrnodevice bt 7652729Sdfrnodevice adw 7662729Sdfrnodevice aha 767100523Salfrednodevice ahb 768100523Salfrednodevice ahd 76982607Sdillonnodevice mpt 77082607Sdillonnodevice trm 7712729Sdfrnodevice wds 7722729Sdfrnodevice asr 773137613Srwatsonnodevice dpt 774100523Salfrednodevice ciss 7752729Sdfrnodevice iir 7762729Sdfrnodevice mly 7772729Sdfrnodevice ida # Compaq Smart RAID 7782729Sdfrnodevice mlx # Mylex DAC960 779100523Salfrednodevice amr # AMI MegaRAID 780137613Srwatsonnodevice twe # 3ware ATA RAID 7812729Sdfrnodevice ataraid 7822729Sdfrnodevice cm 783164368Sjkimnodevice cs 784137613Srwatsonnodevice ex 785164368Sjkimnodevice fea 786164368Sjkimnodevice cbb 7872729Sdfrnodevice pccard 788137613Srwatsonnodevice cardbus 789164368Sjkimnodevice intpm 790164368Sjkimnodevice alpm 791164368Sjkimnodevice ichsmb 792164368Sjkimnodevice viapm 79382607Sdillonnodevice amdpm 794100523Salfrednodevice nfpm 79582607Sdillon 79682607Sdillon 7972729Sdfr##################################################################### 7982729Sdfr# Options we don't want to deal with 7992729Sdfr 8002729Sdfrnooption VGA_DEBUG 8012729Sdfrnooption VGA_WIDTH90 8022729Sdfrnooption VGA_SLOW_IOACCESS 803137613Srwatsonnooption VGA_ALT_SEQACCESS 804100523Salfrednooption PSM_RESETAFTERSUSPEND 80582607Sdillonnooption PSM_HOOKRESUME 80682607Sdillonnooption ATKBD_DFLT_KEYMAP 8072729Sdfrnooption AHD_DEBUG 8082729Sdfrnooption AHD_DEBUG_OPTS 8092729Sdfrnooption AHD_REG_PRETTY_PRINT 810100523Salfrednooption ADW_ALLOW_MEMIO 8112729Sdfrnooption DPT_LOST_IRQ 8122729Sdfrnooption DPT_RESET_HBA 8132729Sdfrnooption DPT_TIMEOUT_FACTOR 8142729Sdfrnooption AAC_DEBUG 8152729Sdfrnooption ACPI_MAX_THREADS 8162729Sdfr 8172729Sdfr 8182729Sdfr##################################################################### 8192729Sdfr# Make options we don't want to deal with 820137613Srwatson 8212729Sdfrnomakeoption ATKBD_DFLT_KEYMAP 8222729Sdfr