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