1# 2# LINT -- config file for checking all the sources, tries to pull in 3# as much of the source tree as it can. 4# 5# $Id: LINT,v 1.324 1997/03/26 17:46:03 ache Exp $ 6# 7# NB: You probably don't want to try running a kernel built from this 8# file. Instead, you should start from GENERIC, and add options from 9# this file as required. 10# 11 12# 13# This directive is mandatory; it defines the architecture to be 14# configured for; in this case, the 386 family based IBM-PC and 15# compatibles. 16# 17machine "i386" 18 19# 20# This is the ``identification'' of the kernel. Usually this should 21# be the same as the name of your kernel. 22# 23ident LINT 24 25# 26# The `maxusers' parameter controls the static sizing of a number of 27# internal system tables by a complicated formula defined in param.c. 28# 29maxusers 10 30 31# 32# Certain applications can grow to be larger than the 128M limit 33# that FreeBSD initially imposes. Below are some options to 34# allow that limit to grow to 256MB, and can be increased further 35# with changing the parameters. MAXDSIZ is the maximum that the 36# limit can be set to, and the DFLDSIZ is the default value for 37# the limit. You might want to set the default lower than the 38# max, and explicitly set the maximum with a shell command for processes 39# that regularly exceed the limit like INND. 40# 41options "MAXDSIZ=(256*1024*1024)" 42options "DFLDSIZ=(256*1024*1024)" 43 44# When this is set, be extra conservative in various parts of the kernel 45# and choose functionality over speed (on the widest variety of systems). 46options FAILSAFE 47 48# This allows you to actually store this configuration file into 49# the kernel binary itself, where it may be later read by saying: 50# strings /kernel | grep ^___ | sed -e 's/^___//' > MYKERNEL 51# 52options INCLUDE_CONFIG_FILE # Include this file in kernel 53 54# 55# This directive defines a number of things: 56# - The compiled kernel is to be called `kernel' 57# - The root filesystem might be on partition wd0a 58# - Crash dumps will be written to wd0b, if possible. Specifying the 59# dump device here is not recommended. Use dumpon(8). 60# 61config kernel root on wd0 dumps on wd0 62 63 64##################################################################### 65# CPU OPTIONS 66 67# 68# You must specify at least one CPU (the one you intend to run on); 69# deleting the specification for CPUs you don't need to use may make 70# parts of the system run faster. This is especially true removing 71# I386_CPU. 72# 73cpu "I386_CPU" 74cpu "I486_CPU" 75cpu "I586_CPU" # aka Pentium(tm) 76cpu "I686_CPU" # aka Pentium Pro(tm) 77 78# 79# Options for CPU features. 80# 81# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM 82# BlueLightning CPU. It works only with Cyrix FPU, and this option 83# should not be used with Intel FPU. 84# 85# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning 86# CPU if CPU supports it. The default is double-clock mode on 87# BlueLightning CPU box. 88# 89# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). 90# 91# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables 92# reorder). This option should not be used if you use memory mapped 93# I/O device(s). 94# 95# CPU_FASTER_5X86_FPU enables faster FPU exception handler. 96# 97# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products 98# for i386 machines. 99# CPU_IORT defines I/O clock delay time (NOTE 1). Default vaules of 100# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively 101# (no clock delay). 102# 103# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination 104# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE 105# 1). 106# 107# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1). 108# 109# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU 110# enters suspend mode following execution of HALT instruction. 111# 112# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache 113# flush at hold state. 114# 115# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs 116# without cache flush at hold state, and (2) write-back CPU cache on 117# Cyrix 6x86 whose revision < 2.7 (NOTE 2). 118# 119# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT, 120# CPU_LOOP_ENand CPU_RSTK_EN should no be used becasue of CPU bugs. 121# These options may crash your system. 122# 123# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled 124# in write-through mode when revision < 2.7. If revision of Cyrix 125# 6x86 >= 2.7, CPU cache is always enabled in write-back mode. 126# 127options "CPU_BLUELIGHTNING_FPU_OP_CACHE" 128options "CPU_BLUELIGHTNING_3X" 129options "CPU_BTB_EN" 130options "CPU_DISABLE_5X86_LSSER" 131options "CPU_FASTER_5X86_FPU" 132options "CPU_I486_ON_386" 133options "CPU_IORT" 134options "CPU_LOOP_EN" 135options "CPU_RSTK_EN" 136options "CPU_SUSP_HLT" 137options "CYRIX_CACHE_WORKS" 138options "CYRIX_CACHE_REALLY_WORKS" 139 140# 141# A math emulator is mandatory if you wish to run on hardware which 142# does not have a floating-point processor. Pick either the original, 143# bogus (but freely-distributable) math emulator, or a much more 144# fully-featured but GPL-licensed emulator taken from Linux. 145# 146options MATH_EMULATE #Support for x87 emulation 147# Don't enable both of these in a real config. 148options GPL_MATH_EMULATE #Support for x87 emulation via 149 #new math emulator 150 151 152##################################################################### 153# COMPATIBILITY OPTIONS 154 155# 156# Implement system calls compatible with 4.3BSD and older versions of 157# FreeBSD. You probably do NOT want to remove this as much current code 158# still relies on the 4.3 emulation. 159# 160options "COMPAT_43" 161 162# 163# Allow user-mode programs to manipulate their local descriptor tables. 164# This option is required for the WINE Windows(tm) emulator, and is 165# not used by anything else (that we know of). 166# 167options USER_LDT #allow user-level control of i386 ldt 168 169# 170# These three options provide support for System V Interface 171# Definition-style interprocess communication, in the form of shared 172# memory, semaphores, and message queues, respectively. 173# 174options SYSVSHM 175options SYSVSEM 176options SYSVMSG 177 178# 179# This option includes a MD5 routine in the kernel, this is used for 180# various authentication and privacy uses. 181# 182options "MD5" 183 184 185##################################################################### 186# DEBUGGING OPTIONS 187 188# 189# Enable the kernel debugger. 190# 191options DDB 192 193# 194# Don't drop into DDB for a panic. Intended for unattended operation 195# where you may want to drop to DDB from the console, but still want 196# the machine to recover from a panic 197# 198options DDB_UNATTENDED 199 200# 201# KTRACE enables the system-call tracing facility ktrace(2). 202# 203options KTRACE #kernel tracing 204 205# 206# The DIAGNOSTIC option is used in a number of source files to enable 207# extra sanity checking of internal structures. This support is not 208# enabled by default because of the extra time it would take to check 209# for these conditions, which can only occur as a result of 210# programming errors. 211# 212options DIAGNOSTIC 213 214# 215# PERFMON causes the driver for Pentium/Pentium Pro performance counters 216# to be compiled. See perfmon(4) for more information. 217# 218options PERFMON 219 220# XXX - this doesn't belong here. 221# Allow ordinary users to take the console - this is useful for X. 222options UCONSOLE 223 224# XXX - this doesn't belong here either 225options USERCONFIG #boot -c editor 226options USERCONFIG_BOOT #imply -c and parse info area 227options VISUAL_USERCONFIG #visual boot -c editor 228 229##################################################################### 230# NETWORKING OPTIONS 231 232# 233# Protocol families: 234# Only the INET (Internet) family is officially supported in FreeBSD. 235# Source code for the NS (Xerox Network Service) is provided for amusement 236# value. 237# 238options INET #Internet communications protocols 239 240options IPX #IPX/SPX communications protocols 241options IPXIP #IPX in IP encapsulation (not available) 242options IPTUNNEL #IP in IPX encapsulation (not available) 243options IPXPRINTFS=0 #IPX/SPX Console Debugging Information 244options IPX_ERRPRINTFS=0 #IPX/SPX Console Debugging Information 245 246options NETATALK #Appletalk communications protocols 247 248# These are currently broken but are shipped due to interest. 249#options NS #Xerox NS protocols 250 251# These are currently broken and are no longer shipped due to lack 252# of interest. 253#options CCITT #X.25 network layer 254#options ISO 255#options TPIP #ISO TP class 4 over IP 256#options TPCONS #ISO TP class 0 over X.25 257#options LLC #X.25 link layer for Ethernets 258#options HDLC #X.25 link layer for serial lines 259#options EON #ISO CLNP over IP 260#options NSIP #XNS over IP 261 262# 263# Network interfaces: 264# The `loop' pseudo-device is MANDATORY when networking is enabled. 265# The `ether' pseudo-device provides generic code to handle 266# Ethernets; it is MANDATORY when a Ethernet device driver is 267# configured. 268# The 'fddi' pseudo-device provides generic code to support FDDI. 269# The `sppp' pseudo-device serves a similar role for certain types 270# of synchronous PPP links (like `cx', `ar'). 271# The `sl' pseudo-device implements the Serial Line IP (SLIP) service. 272# The `ppp' pseudo-device implements the Point-to-Point Protocol. 273# The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be 274# aware of the legal and administrative consequences of enabling this 275# option. The number of devices determines the maximum number of 276# simultaneous BPF clients programs runnable. 277# The `disc' pseudo-device implements a minimal network interface, 278# which throws away all packets sent and never receives any. It is 279# included for testing purposes. 280# The `tun' pseudo-device implements the User Process PPP (iijppp) 281# 282pseudo-device ether #Generic Ethernet 283pseudo-device fddi #Generic FDDI 284pseudo-device sppp #Generic Synchronous PPP 285pseudo-device loop #Network loopback device 286pseudo-device sl 2 #Serial Line IP 287pseudo-device ppp 2 #Point-to-point protocol 288pseudo-device bpfilter 4 #Berkeley packet filter 289pseudo-device disc #Discard device 290pseudo-device tun 1 #Tunnel driver(user process ppp) 291 292# 293# Internet family options: 294# 295# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in 296# 4.2BSD. This option should not be used unless you have a 4.2BSD 297# machine and TCP connections fail. 298# 299# MROUTING enables the kernel multicast packet forwarder, which works 300# with mrouted(8). 301# 302# IPFIREWALL enables support for IP firewall construction, in 303# conjunction with the `ipfw' program. IPFIREWALL_VERBOSE sends 304# logged packets to the system logger. IPFIREWALL_VERBOSE_LIMIT 305# limits the number of times a matching entry can be logged. 306# 307# IPDIVERT enables the divert IP sockets, used by ``ipfw divert'' 308# 309# TCPDEBUG is undocumented. 310# 311options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs 312options MROUTING # Multicast routing 313options IPFIREWALL #firewall 314options IPFIREWALL_VERBOSE #print information about 315 # dropped packets 316options "IPFIREWALL_VERBOSE_LIMIT=100" #limit verbosity 317options IPDIVERT #divert sockets 318options TCPDEBUG 319 320 321##################################################################### 322# FILESYSTEM OPTIONS 323 324# 325# Only the root, /usr, and /tmp filesystems need be statically 326# compiled; everything else will be automatically loaded at mount 327# time. (Exception: the UFS family---FFS, MFS, and LFS---cannot 328# currently be demand-loaded.) Some people still prefer to statically 329# compile other filesystems as well. 330# 331# NB: The LFS, PORTAL, and UNION filesystems are known to be buggy, 332# and WILL panic your system if you attempt to do anything with them. 333# They are included here as an incentive for some enterprising soul to 334# sit down and fix them. 335# 336# Note: 4.4BSD NQNFS lease checking has relatively high cost for 337# _local_ I/O as well as remote I/O. Don't use it unless you will 338# using NQNFS. 339# 340 341# One of these is mandatory: 342options FFS #Fast filesystem 343options NFS #Network File System 344 345# The rest are optional: 346options NQNFS #Enable NQNFS lease checking 347# options NFS_NOSERVER #Disable the NFS-server code. 348options "CD9660" #ISO 9660 filesystem 349options FDESC #File descriptor filesystem 350options KERNFS #Kernel filesystem 351options LFS #Log filesystem 352options MFS #Memory File System 353options MSDOSFS #MS DOS File System 354options NULLFS #NULL filesystem 355options PORTAL #Portal filesystem 356options PROCFS #Process filesystem 357options UMAPFS #UID map filesystem 358options UNION #Union filesystem 359# This DEVFS is experimental but seems to work 360options DEVFS #devices filesystem 361 362# Make space in the kernel for a MFS root filesystem. Define to the number 363# of kilobytes to reserve for the filesystem. 364options MFS_ROOT=10 365# Allow the MFS_ROOT code to load the MFS image from floppy if it is missing. 366options MFS_AUTOLOAD 367 368# Allow this many swap-devices. 369options NSWAPDEV=20 370 371# Disk quotas are supported when this option is enabled. If you 372# change the value of this option, you must do a `make clean' in your 373# kernel compile directory in order to get a working kernel. 374# 375options QUOTA #enable disk quotas 376 377# Add more checking code to various filesystems 378#options NULLFS_DIAGNOSTIC 379#options KERNFS_DIAGNOSTIC 380#options UMAPFS_DIAGNOSTIC 381#options UNION_DIAGNOSTIC 382 383# Add some error checking code to the null_bypass routine 384# in the NULL filesystem 385#options SAFETY 386 387 388##################################################################### 389# SCSI DEVICES 390 391# SCSI DEVICE CONFIGURATION 392 393# The SCSI subsystem consists of the `base' SCSI code, a number of 394# high-level SCSI device `type' drivers, and the low-level host-adapter 395# device drivers. The host adapters are listed in the ISA and PCI 396# device configuration sections below. 397# 398# Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so 399# that a given bus, target, and LUN always come on line as the same 400# device unit. In earlier versions the unit numbers were assigned 401# in the order that the devices were probed on the SCSI bus. This 402# means that if you removed a disk drive, you may have had to rewrite 403# your /etc/fstab file, and also that you had to be careful when adding 404# a new disk as it may have been probed earlier and moved your device 405# configuration around. 406 407# This old behavior is maintained as the default behavior. The unit 408# assignment begins with the first non-wired down unit for a device 409# type. For example, if you wire a disk as "sd3" then the first 410# non-wired disk will be assigned sd4. 411 412# The syntax for wiring down devices is: 413 414# controller scbus0 at ahc0 # Single bus device 415# controller scbus1 at ahc1 bus 0 # Single bus device 416# controller scbus3 at ahc2 bus 0 # Twin bus device 417# controller scbus2 at ahc2 bus 1 # Twin bus device 418# disk sd0 at scbus0 target 0 unit 0 419# disk sd1 at scbus3 target 1 420# disk sd2 at scbus2 target 3 421# tape st1 at scbus1 target 6 422# device cd0 at scbus? 423 424# "units" (SCSI logical unit number) that are not specified are 425# treated as if specified as LUN 0. 426 427# All SCSI devices allocate as many units as are required. 428 429# The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI 430# configuration and doesn't have to be explicitly configured. 431 432controller scbus0 #base SCSI code 433device ch0 #SCSI media changers 434device sd0 #SCSI disks 435device st0 #SCSI tapes 436device cd0 #SCSI CD-ROMs 437device od0 #SCSI optical disk 438 439# The previous devices (ch, sd, st, cd) are recognized by config. 440# config doesn't (and shouldn't) know about these newer ones, 441# so we have to specify that they are on a SCSI bus with the "at scbus?" 442# clause. 443 444device worm0 at scbus? # SCSI worm 445device pt0 at scbus? # SCSI processor type 446device sctarg0 at scbus? # SCSI target 447 448# SCSI OPTIONS: 449 450# SCSIDEBUG: When defined enables debugging macros 451# NO_SCSI_SENSE: When defined disables sense descriptions (about 4k) 452# SCSI_REPORT_GEOMETRY: Always report disk geometry at boot up instead 453# of only when booting verbosely. 454options SCSIDEBUG 455#options NO_SCSI_SENSE 456options SCSI_REPORT_GEOMETRY 457 458# Options for the `od' optical disk driver: 459# 460# If drive returns sense key as 0x02 with vendor specific additional 461# sense code (ASC) and additional sense code qualifier (ASCQ), or 462# illegal ASC and ASCQ. This cause an error (NOT READY) and retrying. 463# To suppress this, use the following option. 464# 465options OD_BOGUS_NOT_READY 466# 467# For an automatic spindown, try this. Again, preferably as an 468# option in your config file. 469# WARNING! Use at your own risk. Joerg's ancient SONY SMO drive 470# groks it fine, while Shunsuke's Fujitsu chokes on it and times 471# out. 472# 473options OD_AUTO_TURNOFF 474 475 476 477##################################################################### 478# MISCELLANEOUS DEVICES AND OPTIONS 479 480# 481# Of these, only the `log' device is truly mandatory. The `pty' 482# device usually turns out to be ``effectively mandatory'', as it is 483# required for `telnetd', `rlogind', `screen', `emacs', and `xterm', 484# among others. 485# If you wish to run certain 486# system utilities which are compressed by default (like /stand/sysinstall) 487# then `gzip' becomes mandatory too. 488# 489pseudo-device pty 16 #Pseudo ttys - can go as high as 256 490pseudo-device speaker #Play IBM BASIC-style noises out your speaker 491pseudo-device log #Kernel syslog interface (/dev/klog) 492pseudo-device gzip #Exec gzipped a.out's 493pseudo-device vn #Vnode driver (turns a file into a device) 494pseudo-device snp 3 #Snoop device - to look at pty/vty/etc.. 495pseudo-device ccd 4 #Concatenated disk driver 496 497# These are only for watching for bitrot in old tty code. 498# broken 499#pseudo-device tb 500 501# These are only for watching for bitrot in old SCSI code. 502pseudo-device su #scsi user 503pseudo-device ssc #super scsi 504 505 506##################################################################### 507# HARDWARE DEVICE CONFIGURATION 508 509# ISA and EISA devices: 510# EISA support is available for some device, so they can be auto-probed. 511# Micro Channel is not supported at all. 512 513# 514# Mandatory ISA devices: isa, sc or vt, npx 515# 516controller isa0 517 518# 519# Options for `isa': 520# 521# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 522# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 523# This option breaks suspend/resume on some portables. 524# 525# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A 526# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. 527# Automatic EOI is documented not to work for for the slave with the 528# original i8259A, but it works for some clones and some integrated 529# versions. 530# 531# BOUNCE_BUFFERS provides support for ISA DMA on machines with more 532# than 16 megabytes of memory. It doesn't hurt on other machines. 533# Some broken EISA and VLB hardware may need this, too. 534# 535# MAXMEM specifies the amount of RAM on the machine; if this is not 536# specified, FreeBSD will read the amount of memory from the CMOS RAM, 537# so the amount of memory will be limited to 64MB or 16MB depending on 538# the BIOS. The amount is in kilobytes, so for a machine with 128MB of 539# RAM, it would be 131072 (128 * 1024). 540# 541# TUNE_1542 enables the automatic ISA bus speed selection for the 542# Adaptec 1542 boards. Does not work for all boards, use it with caution. 543# 544# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to 545# reset the CPU for reboot. This is needed on some systems with broken 546# keyboard controllers. 547# 548# PAS_JOYSTICK_ENABLE enables the gameport on the ProAudio Spectrum 549 550options "AUTO_EOI_1" 551#options "AUTO_EOI_2" 552options BOUNCE_BUFFERS 553options "MAXMEM=(128*1024)" 554#options "TUNE_1542" 555#options BROKEN_KEYBOARD_RESET 556#options PAS_JOYSTICK_ENABLE 557 558# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver 559device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint 560options PCVT_FREEBSD=210 # pcvt running on FreeBSD >= 2.0.5 561options XSERVER # include code for XFree86 562options FAT_CURSOR # start with block cursor 563# This PCVT option is for keyboards such as those used on IBM ThinkPad laptops 564options PCVT_SCANSET=2 # IBM keyboards are non-std 565 566# The syscons console driver (sco color console compatible) - default. 567device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr 568options MAXCONS=16 # number of virtual consoles 569options SLOW_VGA # do byte-wide i/o's to TS and GDC regs 570 571# 572# `flags' for sc0: 573# 0x01 Use a 'visual' bell 574# 0x02 Use a 'blink' cursor 575# 0x04 Use a 'block' cursor 576# 0x08 Force detection of keyboard, else we always assume a keyboard 577# 0x10 Old-style (XT) keyboard support, useful for older ThinkPads 578 579# 580# The Numeric Processing eXtension driver. This should be configured if 581# your machine has a math co-processor, unless the coprocessor is very 582# buggy. If it is not configured then you *must* configure math emulation 583# (see above). If both npx0 and emulation are configured, then only npx0 584# is used (provided it works). 585device npx0 at isa? port "IO_NPX" iosiz 0x0 flags 0x0 irq 13 vector npxintr 586 587# 588# `flags' for npx0: 589# 0x01 don't use the npx registers to optimize bcopy 590# 0x02 don't use the npx registers to optimize bzero 591# 0x04 don't use the npx registers to optimize copyin or copyout. 592# The npx registers are normally used to optimize copying and zeroing when 593# all of the following conditions are satisfied: 594# "I586_CPU" is an option 595# the cpu is an i586 (perhaps not a Pentium) 596# the probe for npx0 succeeds 597# INT 16 exception handling works. 598# Then copying and zeroing using the npx registers is normally 30-100% faster. 599# The flags can be used to control cases where it doesn't work or is slower. 600# Setting them at boot time using userconfig works right (the optimizations 601# are not used until later in the bootstrap when npx0 is attached). 602# 603 604# 605# `iosiz' for npx0: 606# This can be used instead of the MAXMEM option to set the memory size. If 607# it is nonzero, then it overrides both the MAXMEM option and the memory 608# size reported by the BIOS. Setting it at boot time using userconfig takes 609# effect on the next reboot after the change has been recorded in the kernel 610# binary (the size is used early in the boot before userconfig has a chance 611# to change it). 612# 613 614# 615# Optional ISA and EISA devices: 616# 617 618# 619# SCSI host adapters: `aha', `aic', `bt', `nca' 620# 621# aha: Adaptec 154x 622# ahc: Adaptec 274x/284x/294x 623# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!) 624# bt: Most Buslogic controllers 625# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130 626# uha: UltraStore 14F and 34F 627# sea: Seagate ST01/02 8 bit controller (slow!) 628# wds: Western Digital WD7000 controller (no scatter/gather!). 629# 630# Note that the order is important in order for Buslogic cards to be 631# probed correctly. 632# 633 634controller bt0 at isa? port "IO_BT0" bio irq ? vector bt_isa_intr 635controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr 636controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr 637 638controller aic0 at isa? port 0x340 bio irq 11 vector aicintr 639controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr 640controller nca1 at isa? port 0x1f84 641controller nca2 at isa? port 0x1f8c 642controller nca3 at isa? port 0x1e88 643controller nca4 at isa? port 0x350 bio irq 5 vector ncaintr 644 645controller sea0 at isa? bio irq 5 iomem 0xdc000 iosiz 0x2000 vector seaintr 646controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintr 647 648# 649# ST-506, ESDI, and IDE hard disks: `wdc' and `wd' 650# 651# NB: ``Enhanced IDE'' is NOT supported at this time. 652# 653# The flags fields are used to enable the multi-sector I/O and 654# the 32BIT I/O modes. The flags may be used in either the controller 655# definition or in the individual disk definitions. The controller 656# definition is supported for the boot configuration stuff. 657# 658# Each drive has a 16 bit flags value defined: 659# The low 8 bits are the maximum value for the multi-sector I/O, 660# where 0xff defaults to the maximum that the drive can handle. 661# The high bit of the 16 bit flags (0x8000) allows probing for 662# 32 bit transfers. 663# 664# The flags field for the drives can be specified in the controller 665# specification with the low 16 bits for drive 0, and the high 16 bits 666# for drive 1. 667# e.g.: 668#controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x00ff8004 vector wdintr 669# 670# specifies that drive 0 will be allowed to probe for 32 bit transfers and 671# a maximum multi-sector transfer of 4 sectors, and drive 1 will not be 672# allowed to probe for 32 bit transfers, but will allow multi-sector 673# transfers up to the maximum that the drive supports. 674# 675 676# 677controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr 678disk wd0 at wdc0 drive 0 679disk wd1 at wdc0 drive 1 680controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr 681disk wd2 at wdc1 drive 0 682disk wd3 at wdc1 drive 1 683 684# 685# Options for `wdc': 686# 687# CMD640 enables serializing access to primary and secondary channel 688# of the CMD640B IDE Chip. The serializing will only take place 689# if this option is set *and* the chip is probed by the pci-system. 690# 691options "CMD640" #Enable work around for CMD640 h/w bug 692# 693# ATAPI enables the support for ATAPI-compatible IDE devices 694# 695options ATAPI #Enable ATAPI support for IDE bus 696options ATAPI_STATIC #Don't do it as an LKM 697 698# IDE CD-ROM driver - requires wdc controller and ATAPI option 699device wcd0 700 701# 702# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft' 703# 704controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr 705# 706# Activate this line instead of the fdc0 line above if you happen to 707# have an Insight floppy tape. Probing them proved to be dangerous 708# for people with floppy disks only, so it's "hidden" behind a flag: 709#controller fdc0 at isa? port "IO_FD1" bio flags 1 irq 6 drq 2 vector fdintr 710 711disk fd0 at fdc0 drive 0 712disk fd1 at fdc0 drive 1 713tape ft0 at fdc0 drive 2 714 715 716# 717# Options for `fd': 718# 719# FDSEEKWAIT selects a non-default head-settle time (i.e., the time to 720# wait after a seek is performed). The default value (1/32 s) is 721# usually sufficient. The units are inverse seconds, so a value of 16 722# here means to wait 1/16th of a second; you should choose a power of 723# two. 724# XXX: this seems to be missing! 725options FDSEEKWAIT=16 726 727# 728# Other standard PC hardware: `lpt', `mse', `psm', `sio', etc. 729# 730# lpt: printer port 731# lpt specials: 732# port can be specified as ?, this will cause the driver to scan 733# the BIOS port list; 734# the irq and vector clauses may be omitted, this 735# will force the port into polling mode. 736# mse: Logitech and ATI InPort bus mouse ports 737# psm: PS/2 mouse port [note: conflicts with sc0/vt0, thus "conflicts" keywd] 738# sio: serial ports (see sio(4)) 739 740device lpt0 at isa? port? tty irq 7 vector lptintr 741device lpt1 at isa? port "IO_LPT3" tty irq 5 vector lptintr 742device mse0 at isa? port 0x23c tty irq 5 vector mseintr 743device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr 744# Options for psm: 745options PSM_CHECKSYNC #checks the header byte for sync. 746 747device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr 748 749# Options for sio: 750options COMCONSOLE #prefer serial console to video console 751options COM_ESP #code for Hayes ESP 752options COM_MULTIPORT #code for some cards with shared IRQs 753options DSI_SOFT_MODEM #code for DSI Softmodems 754options BREAK_TO_DEBUGGER #a BREAK on a comconsole goes to 755 #DDB, if available. 756 757# 758# Network interfaces: `cx', `ed', `el', `ep', `ie', `is', `le', `lnc' 759# 760# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver (requires sppp) 761# cx: Cronyx/Sigma multiport sync/async (with Cisco or PPP framing) 762# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 763# el: 3Com 3C501 (slow!) 764# ep: 3Com 3C509 (buggy) 765# fe: Fujitsu MB86960A/MB86965A Ethernet 766# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210 767# le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100, 768# DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422) 769# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL) 770# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp) 771# ze: IBM/National Semiconductor PCMCIA ethernet controller. 772# zp: 3Com PCMCIA Etherlink III (It does not require shared memory for 773# send/receive operation, but it needs 'iomem' to read/write the 774# attribute memory) 775# 776 777device ar0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector arintr 778device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintr 779device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr 780device eg0 at isa? port 0x310 net irq 5 vector egintr 781device el0 at isa? port 0x300 net irq 9 vector elintr 782device ep0 at isa? port 0x300 net irq 10 vector epintr 783device ex0 at isa? port? net irq? vector exintr 784device fe0 at isa? port 0x300 net irq ? vector feintr 785device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr 786device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr 787device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr 788device lnc0 at isa? port 0x300 net irq 10 drq 0 vector lncintr 789device sr0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector srintr 790# Needed so that we can (bogusly) include both the dedicated PCCARD 791# drivers and the generic support 792options LINT_PCCARD_HACK 793device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr 794device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr 795 796 797# 798# Audio drivers: `snd', `sb', `pas', `gus', `pca' 799# 800# snd: Voxware sound support code 801# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum 802# sbxvi: SoundBlaster 16 803# sbmidi: SoundBlaster 16 MIDI interface 804# pas: ProAudioSpectrum PCM and MIDI 805# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX 806# gusxvi: Gravis Ultrasound 16-bit PCM (do not use) 807# mss: Microsoft Sound System 808# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum 809# uart: stand-alone 6850 UART for MIDI 810# mpu: Roland MPU-401 stand-alone card 811# 812# Beware! The addresses specified below are also hard-coded in 813# i386/isa/sound/sound_config.h. If you change the values here, you 814# must also change the values in the include file. 815# 816# pca: PCM audio through your PC speaker 817# 818# If you don't have a lpt0 device at IRQ 7, you can remove the 819# ``conflicts'' specification in the appropriate device entries below. 820# 821# If you have a GUS-MAX card and want to use the CS4231 codec on the 822# card the drqs for the gus max must be 8 bit (1, 2, or 3). 823# 824# If you would like to use the full duplex option on the gus, then define 825# flags to be the ``read dma channel''. 826# 827# options BROKEN_BUS_CLOCK #PAS-16 isn't working and OPTI chipset 828# options SYMPHONY_PAS #PAS-16 isn't working and SYMPHONY chipset 829# options EXCLUDE_SBPRO #PAS-16 830# options SBC_IRQ=5 #PAS-16. Must match irq on sb0 line. 831# PAS16: The order of the pas0/sb0/opl0 is important since the 832# sb emulation is enabled in the pas-16 attach. 833# 834# The i386/isa/sound/sound.doc has more information. 835 836# Controls all sound devices 837controller snd0 838device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr 839device sb0 at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr 840device sbxvi0 at isa? port? irq? drq 5 conflicts 841device sbmidi0 at isa? port 0x330 irq? conflicts 842#device awe0 at isa? port 0x620 843device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr 844#device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr 845device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr 846device opl0 at isa? port 0x388 conflicts 847device mpu0 at isa? port 0x330 irq 6 drq 0 848device uart0 at isa? port 0x330 irq 5 vector "m6850intr" 849 850# More undocumented sound devices with bogus configurations for linting. 851# broken 852#device sscape0 at isa? port 0x330 irq 6 drq 0 853#device trix0 at isa? port 0x330 irq 6 drq 0 vector sscapeintr 854 855# Not controlled by `snd' 856device pca0 at isa? port IO_TIMER1 tty 857 858# 859# Miscellaneous hardware: 860# 861# mcd: Mitsumi CD-ROM 862# scd: Sony CD-ROM 863# matcd: Matsushita/Panasonic CD-ROM 864# wt: Wangtek and Archive QIC-02/QIC-36 tape drives 865# ctx: Cortex-I frame grabber 866# apm: Laptop Advanced Power Management (experimental) 867# spigot: The Creative Labs Video Spigot video-acquisition board 868# meteor: Matrox Meteor video capture board 869# cy: Cyclades serial driver 870# dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!) 871# gp: National Instruments AT-GPIB and AT-GPIB/TNT board 872# asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey 873# gsc: Genius GS-4500 hand scanner. 874# joy: joystick 875# labpc: National Instrument's Lab-PC and Lab-PC+ 876# rc: RISCom/8 multiport card 877# tw: TW-523 power line interface for use with X-10 home control products 878# si: Specialix SI/XIO 4-32 port terminal multiplexor 879# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based) 880# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent) 881 882# 883# Notes on APM 884# The flags takes the following meaning for apm0: 885# 0x0020 Statclock is broken. 886# 0x0011 Limit APM protocol to 1.1 or 1.0 887# 0x0010 Limit APM protocol to 1.0 888# 889# 890# Notes on the spigot: 891# The video spigot is at 0xad6. This port address can not be changed. 892# The irq values may only be 10, 11, or 15 893# I/O memory is an 8kb region. Possible values are: 894# 0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff 895# The start address must be on an even boundary. 896# Add the following option if you want to allow non-root users to be able 897# to access the spigot. This option is not secure because it allows users 898# direct access to the I/O page. 899# options SPIGOT_UNSECURE 900# 901 902# Notes on the Digiboard driver: 903# 904# The following flag values have special meanings: 905# 0x01 - alternate layout of pins 906# 0x02 - use the windowed PC/Xe in 64K mode 907 908# Notes on the Specialix SI/XIO driver: 909# **This is NOT a Specialix supported Driver!** 910# The host card is memory, not IO mapped. 911# The Rev 1 host cards use a 64K chunk, on a 32K boundary. 912# The Rev 2 host cards use a 32K chunk, on a 32K boundary. 913# The cards can use an IRQ of 11, 12 or 15. 914 915# Notes on the Stallion stl and stli drivers: 916# See src/i386/isa/README.stl for complete instructions. 917# This is version 0.0.5alpha, unsupported by Stallion. 918# The stl driver has a secondary IO port hard coded at 0x280. You need 919# to change src/i386/isa/stallion.c if you reconfigure this on the boards. 920# The "flags" and "iosiz" settings on the stli driver depend on the board: 921# EasyConnection 8/64 ISA: flags 23 iosiz 0x1000 922# EasyConnection 8/64 EISA: flags 24 iosiz 0x10000 923# EasyConnection 8/64 MCA: flags 25 iosiz 0x1000 924# ONboard ISA: flags 4 iosiz 0x10000 925# ONboard EISA: flags 7 iosiz 0x10000 926# ONboard MCA: flags 3 iosiz 0x10000 927# Brumby: flags 2 iosiz 0x4000 928# Stallion: flags 1 iosiz 0x10000 929 930device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr 931# for the Sony CDU31/33A CDROM 932device scd0 at isa? port 0x230 bio 933# for the SoundBlaster 16 multicd - up to 4 devices 934controller matcd0 at isa? port 0x230 bio 935device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr 936device ctx0 at isa? port 0x230 iomem 0xd0000 937device spigot0 at isa? port 0xad6 irq 15 iomem 0xee000 vector spigintr 938device qcam0 at isa? port "IO_LPT3" tty 939device apm0 at isa? 940device gp0 at isa? port 0x2c0 tty 941device gsc0 at isa? port "IO_GSC1" tty drq 3 942device joy0 at isa? port "IO_GAME" 943device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr 944device dgb0 at isa? port 0x220 iomem 0xfc0000 iosiz ? tty 945device labpc0 at isa? port 0x260 tty irq 5 vector labpcintr 946device rc0 at isa? port 0x220 tty irq 12 vector rcintr 947# the port and irq for tw0 are fictitious 948device tw0 at isa? port 0x380 tty irq 11 vector twintr 949device si0 at isa? iomem 0xd0000 tty irq 12 vector siintr 950device asc0 at isa? port IO_ASC1 tty drq 3 irq 10 vector ascintr 951device bqu0 at isa? port 0x150 952device stl0 at isa? port 0x2a0 tty irq 10 vector stlintr 953device stli0 at isa? port 0x2a0 tty iomem 0xcc000 flags 23 iosiz 0x1000 954 955# 956# EISA devices: 957# 958# The EISA bus device is eisa0. It provides auto-detection and 959# configuration support for all devices on the EISA bus. 960# 961# The `ahb' device provides support for the Adaptec 174X adapter. 962# 963# The `ahc' device provides support for the Adaptec 274X and 284X 964# adapters. The 284X, although a VLB card responds to EISA probes. 965# 966# fea: DEC DEFEA EISA FDDI adapter 967# 968controller eisa0 969controller ahb0 970controller ahc0 971device fea0 972 973# enable tagged command queuing, which is a major performance win on 974# devices that support it (and controllers with enough SCB's) 975options AHC_TAGENABLE 976 977# enable SCB paging - See the ahc.4 man page 978options AHC_SCBPAGING_ENABLE 979 980# The aic7xxx driver will attempt to use memory mapped I/O for all PCI 981# controllers that have it configured only if this option is set. Unfortunately, 982# this doesn't work on some motherboards, which prevents it from being the 983# default. 984options AHC_ALLOW_MEMIO 985 986# By default, only 10 EISA slots are probed, since the slot numbers 987# above clash with the configuration address space of the PCI subsystem, 988# and the EISA probe is not very smart about this. This is sufficient 989# for most machines, but in particular the HP NetServer LC series comes 990# with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11, 991# thus you need to bump this figure to 12 for them. 992options "EISA_SLOTS=12" 993 994# 995# PCI devices: 996# 997# The main PCI bus device is `pci'. It provides auto-detection and 998# configuration support for all devices on the PCI bus, using either 999# configuration mode defined in the PCI specification. 1000# 1001# The `ahc' device provides support for the Adaptec 29/3940(U)(W) 1002# and motherboard based AIC7870/AIC7880 adapters. 1003# 1004# The `ncr' device provides support for the NCR 53C810 and 53C825 1005# self-contained SCSI host adapters. 1006# 1007# The `amd' device provides support for the Tekram DC-390 and 390T 1008# SCSI host adapters, but is expected to work with any AMD 53c974 1009# PCI SCSI chip and the AMD Ethernet+SCSI Combo chip, after some 1010# local patches were applied to the sources (that had originally 1011# been written by Tekram and limited to work with their SCSI cards). 1012# 1013# The `de' device provides support for the Digital Equipment DC21040 1014# self-contained Ethernet adapter. 1015# 1016# The `fxp' device provides support for the Intel EtherExpress Pro/100B 1017# PCI Fast Ethernet adapters. 1018# 1019# The `vx' device provides support for the 3Com 3C590 and 3C595 1020# early support 1021# 1022# The `fpa' device provides support for the Digital DEFPA PCI FDDI 1023# adapter. pseudo-device fddi is also needed. 1024# 1025# The `meteor' device is a PCI video capture board. It can also have the 1026# following options: 1027# options METEOR_ALLOC_PAGES=xxx preallocate kernel pages for data entry 1028# figure (ROWS*COLUMN*BYTES_PER_PIXEL*FRAME+PAGE_SIZE-1)/PAGE_SIZE 1029# options METEOR_DEALLOC_PAGES remove all allocated pages on close(2) 1030# options METEOR_DEALLOC_ABOVE=xxx remove all allocated pages above the 1031# specified amount. If this value is below the allocated amount no action 1032# taken 1033# option METEOR_SYSTEM_DEFAULT={METEOR_PAL|METEOR_NTSC|METEOR_SECAM}, used 1034# for initialization of fps routine when a signal is not present. 1035# 1036controller pci0 1037controller ahc1 1038controller ncr0 1039controller amd0 1040device de0 1041device fxp0 1042device vx0 1043device fpa0 1044device meteor0 1045 1046 1047# 1048# PCCARD/PCMCIA 1049# 1050# crd: slot controller 1051# pcic: slots 1052controller crd0 1053controller pcic0 at crd? 1054controller pcic1 at crd? 1055 1056# 1057# Laptop/Notebook options: 1058# 1059# See also: 1060# apm under `Miscellaneous hardware' 1061# above. 1062 1063# For older notebooks that signal a powerfail condition (external 1064# power supply dropped, or battery state low) by issuing an NMI: 1065 1066options POWERFAIL_NMI # make it beep instead of panicing 1067 1068# 1069# An obsolete option to test kern_opt.c. 1070# 1071options GATEWAY 1072 1073# More undocumented options for linting. 1074 1075options CLK_CALIBRATION_LOOP 1076options "CLK_USE_I8254_CALIBRATION" 1077options "CLK_USE_I586_CALIBRATION" 1078options COMPAT_LINUX 1079options DEBUG 1080options DEVFS_ROOT 1081options "EXT2FS" 1082options "I586_CTR_GUPROF" 1083options "I586_PMC_GUPROF=0x70000" 1084options "IBCS2" 1085options LOCKF_DEBUG 1086options KBD_MAXRETRY=4 1087options KBD_MAXWAIT=6 1088options KBD_RESETDELAY=201 1089options KBDIO_DEBUG=2 1090options MSGMNB=2049 1091options MSGMNI=41 1092options MSGSEG=2049 1093options MSGSSZ=16 1094options MSGTQL=41 1095options NBUF=512 1096options NMBCLUSTERS=1024 1097options PSM_ACCEL=1 1098options PSM_DEBUG=1 1099options PSM_EMULATION 1100options "SCSI_2_DEF" 1101options SCSI_DELAY=8 # Be pessimistic about Joe SCSI device 1102options SCSI_NCR_DEBUG 1103options SCSI_NCR_DFLT_TAGS=4 1104options SCSI_NCR_MAX_SYNC=10000 1105options SCSI_NCR_MAX_WIDE=1 1106options SCSI_NCR_MYADDR=7 1107options SEMMAP=31 1108options SEMMNI=11 1109options SEMMNS=61 1110options SEMMNU=31 1111options SEMMSL=61 1112options SEMOPM=101 1113options SEMUME=11 1114options SHOW_BUSYBUFS # List buffers that prevent root unmount 1115options SHMALL=1025 1116options "SHMMAX=(SHMMAXPGS*PAGE_SIZE+1)" 1117options SHMMAXPGS=1025 1118options SHMMIN=2 1119options SHMMNI=33 1120options SHMSEG=9 1121options SI_DEBUG 1122options SIMPLELOCK_DEBUG 1123options SPX_HACK 1124