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.145 1995/02/17 09:33:29 jkh 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 18# 19machine "i386" 20cpu "I386_CPU" 21cpu "I486_CPU" 22cpu "I586_CPU" # a/k/a Pentium(tm) 23 24# 25# This is the ``identification'' of the kernel. Usually this should 26# be the same as the name of your kernel. 27# 28ident LINT 29 30# 31# The `maxusers' parameter controls the static sizing of a number of 32# internal system tables by a complicated formula defined in param.c. 33# 34maxusers 10 35 36# 37# Under some circumstances it is necessary to make the default max 38# number of proccesses per user and open files per user more than the 39# defaults on bootup. (an example is a large news server in which 40# the uid, news, can sometimes need > 100 simultaneous processes running) 41options "CHILD_MAX=128" 42options "OPEN_MAX=128" 43 44# 45# A math emulator is mandatory if you wish to run on hardware which 46# does not have a floating-point processor. Pick either the original, 47# bogus (but freely-distributable) math emulator, or a much more 48# fully-featured but GPL-licensed emulator taken from Linux. 49# 50options MATH_EMULATE #Support for x87 emulation 51#options GPL_MATH_EMULATE #Support for x87 emualtion via 52 #new math emulator 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# - The kernel can swap on wd0b and sd0b, defaulting to the former 59# - Crash dumps will be written to wd0b, if possible 60# 61config kernel root on wd0 swap on wd0 and sd0 dumps on wd0 62 63 64##################################################################### 65# COMPATIBILITY OPTIONS 66 67# 68# Implement system calls compatible with 4.3BSD and older versions of 69# FreeBSD. 70# 71options "COMPAT_43" 72 73# 74# Allow user-mode programs to manipulat their local descriptor tables. 75# This option is required for the WINE Windows(tm) emulator, and is 76# not used by anything else (that we know of). 77# 78options USER_LDT #allow user-level control of i386 ldt 79 80# 81# These three options provide support for System V Interface 82# Definition-style interprocess communication, in the form of shared 83# memory, semaphores, and message queues, respectively. 84# 85options SYSVSHM 86options SYSVSEM 87options SYSVMSG 88 89 90##################################################################### 91# DEBUGGING OPTIONS 92 93# 94# Enable the kernel debugger. 95# 96options DDB 97 98# 99# Enable dumping of the kernel image to swap for panics. This is not 100# the default because writing to misconfigured swap may wipe out file 101# systems. 102# 103options DODUMP 104 105# 106# KTRACE enables the system-call tracing facility ktrace(2). 107# 108options KTRACE #kernel tracing 109 110# 111# The DIAGNOSTIC option is used in a number of source files to enable 112# extra sanity checking of internal structures. This support is not 113# enabled by default because of the extra time it would take to check 114# for these conditions, which can only occur as a result of 115# programming errors. 116# 117options DIAGNOSTIC 118 119# 120# Allow ordinary users to take the console - this is useful for X. 121options UCONSOLE 122 123 124##################################################################### 125# NETWORKING OPTIONS 126 127# 128# Protocol families: 129# Only the INET (Internet) family is officially supported in FreeBSD. 130# Source code for the NS (Xerox Network Service), ISO (OSI), and 131# CCITT (X.25) families is provided for amusement value, although we 132# try to ensure that it actually compiles. 133# 134options INET #Internet communications protocols 135options ISO 136options CCITT #X.25 network layer 137options NS #Xerox NS communications protocols 138options TPIP #ISO TP class 4 over IP 139options TPCONS #ISO TP class 0 over X.25 140 141# 142# Network interfaces: 143# The `loop' pseudo-device is mandatory when networking is enabled. 144# The `ether' pseudo-device provides generic code to handle 145# Ethernets; it is mandatory when a Ethernet device driver is 146# configured. 147# The `sppp' pseudo-device serves a similar role for certain types 148# of synchronous PPP links (like `cx'). 149# The `sl' pseudo-device implements the Serial Line IP (SLIP) service. 150# The `ppp' pseudo-device implements the Point-to-Point Protocol. 151# The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be 152# aware of the legal and administrative consequences of enabling this 153# option. The number of devices determines the maximum number of 154# simultaneous BPF clients programs runnable. 155# The `disc' pseudo-device implements a minimal network interface, 156# which throws away all packets sent and never receives any. It is 157# included for testing purposes. 158# The `tun' pseudo-device implements the User Process PPP (iijppp) 159# 160pseudo-device ether #Generic Ethernet 161pseudo-device sppp #Generic Synchronous PPP 162pseudo-device loop #Network loopback device 163pseudo-device sl 2 #Serial Line IP 164pseudo-device ppp 2 #Point-to-point protocol 165pseudo-device bpfilter 4 #Berkeley packet filter 166pseudo-device disc #Discard device 167pseudo-device tun 1 #Tunnel driver(user process ppp) 168 169options NSIP #XNS over IP 170options EON #ISO CLNP over IP 171options LLC #X.25 link layer for Ethernets 172options HDLC #X.25 link layer for serial lines 173 174# 175# Internet family options: 176# 177# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in 178# 4.2BSD. This option should not be used unless you have a 4.2BSD 179# machine and TCP connections fail. 180# 181# GATEWAY allows the machine to forward packets, and also configures 182# larger static sizes of a number of system tables. 183# 184# MROUTING enables the kernel multicast packet forwarder, which works 185# with mrouted(8). 186# 187# IPFIREWALL enables support for IP firewall construction, in 188# conjunction with the `ipfw' program. IPFIREWALL_VERBOSE does 189# the obvious thing. 190# 191# ARP_PROXYALL enables global proxy ARP. Beware! This can burn 192# your house down! See netinet/if_ether.c for the gory details. 193# (Eventually there will be a better management interface.) 194# 195options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs 196options GATEWAY #internetwork gateway 197options MROUTING # Multicast routing 198options IPFIREWALL #firewall 199options IPFIREWALL_VERBOSE #print information about 200 # dropped packets 201options ARP_PROXYALL # global proxy ARP 202 203 204##################################################################### 205# FILESYSTEM OPTIONS 206 207# 208# Only the root, /usr, and /tmp filesystems need be statically 209# compiled; everything else will be automatically loaded at mount 210# time. (Exception: the UFS family---FFS, MFS, and LFS---cannot 211# currently be demand-loaded.) Some people still prefer to statically 212# compile other filesystems as well. 213# 214# NB: The LFS, PORTAL, and UNION filesystems are known to be buggy, 215# and WILL panic your system if you attempt to do anything with them. 216# They are included here as an incentive for some enterprising soul to 217# sit down and fix them. 218# 219 220# One of these is mandatory: 221options FFS #Fast filesystem 222options NFS #Network File System 223 224# The rest are optional: 225options "CD9660" #ISO 9660 filesystem 226options FDESC #File descriptor filesystem 227options KERNFS #Kernel filesystem 228options LFS #Log filesystem 229options MFS #Memory File System 230options MSDOSFS #MS DOS File System 231options NULLFS #NULL filesystem 232options PORTAL #Portal filesystem 233options PROCFS #Process filesystem 234options UMAPFS #UID map filesystem 235options UNION #Union filesystem 236 237# 238# Disk quotas are supported when this option is enabled. If you 239# change the value of this option, you must do a `make clean' in your 240# kernel compile directory in order to get a working kernel. 241# 242options QUOTA #enable disk quotas 243 244 245##################################################################### 246# SCSI DEVICE CONFIGURATION 247 248# 249# The SCSI subsystem consists of the `base' SCSI code, a number of 250# high-level SCSI device drivers, and the low-level host-adapter 251# device drivers. The host adapters are listed in the ISA and PCI 252# device configuration sections below. 253# 254# Note that, unlike most similar systems, the FreeBSD SCSI system 255# does not wire a particular device unit number to any specific 256# SCSI bus unit number. Rather, unit numbers are assigned in the 257# order that the devices are found on the SCSI bus. (This means that 258# if you remove a disk drive, you may have to rewrite your /etc/fstab 259# file.) It is expected that this will change for FreeBSD 2.1. 260# 261controller scbus0 #base SCSI code 262device ch0 #SCSI media changers 263device sd0 #SCSI disks 264device st0 #SCSI tapes 265device uk0 #unknown scsi devices 266 267# 268# The `cd' (SCSI read-only removable disk) driver is special in that 269# the code dynamically allocates more units as they are required, with 270# no limit (other than memory) to the number available. 271device cd0 #SCSI CD-ROMs 272 273 274##################################################################### 275# MISCELLANEOUS DEVICES AND OPTIONS 276 277# 278# Of these, only the `log' device is truly mandatory. The `pty' 279# device usually turns out to be ``effectively mandatory'', as it is 280# required for `telnetd', `rlogind', `screen', `emacs', and `xterm', 281# among others. 282# 283pseudo-device pty 16 #Pseudo ttys - can go as high as 64 284pseudo-device speaker #Play IBM BASIC-style noises out your speaker 285pseudo-device log #Kernel syslog interface (/dev/klog) 286pseudo-device gzip #Exec gzipped a.out's 287pseudo-device vn #Vnode driver (turns a file into a device) 288pseudo-device snp 3 #Snoop device - to look at pty/vty/etc.. 289 290 291##################################################################### 292# HARDWARE DEVICE CONFIGURATION 293 294# ISA and EISA devices: 295# Currently there is no separate support for EISA. There should be. 296# Micro Channel is not supported at all. 297 298# 299# Mandatory ISA devices: isa, sc, npx 300# 301controller isa0 302 303# 304# Options for `isa': 305# 306# ALLOW_CONFLICT_DRQ suppresses the DMA conflict checks. This option is 307# not known to be good for anything. 308# 309# ALLOW_CONFLICT_IOADDR suppresses the I/O address conflict checks, so 310# that the PS/2 mouse driver doesn't conflict with the console driver. 311# 312# ALLOW_CONFLICT_IRQ suppresses the interrupt line conflict checks, so 313# that multiple devices can share the same IRQ, provided that the 314# hardware supports it (it usually doesn't). 315# 316# ALLOW_CONFLICT_MEMADDR suppresses the memory address conflict checks. 317# This option is not known to be good for anything. 318# 319# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A 320# interrupt controller. This saves about 1.25 usec for each interrupt. 321# No problems are known to be caused by this option. 322# 323# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A 324# interrupt controller. This saves about 1.25 usec for each interrupt. 325# Automatic EOI is documented not to work for for the slave with the 326# original i8259A, but it works for some clones and some integrated 327# versions. 328# 329# BOUNCE_BUFFERS provides support for ISA DMA on machines with more 330# than 16 megabytes of memory. It doesn't hurt on other machines. 331# Some broken EISA and VLB hardware may need this, too. 332# 333# DISKSLICE provides support for slicing up a disk into virtual disks. 334# It isn't really ISA-specific, but the on-disk slice table is currently 335# required to be a DOS partition table. 336# 337# DUMMY_NOPS disables extra delays for some bus operations. The delays 338# are mostly for older systems and aren't used consistently. Probably 339# works OK on most EISA bus machines. 340# 341# TUNE_1542 enables the automatic ISA bus speed selection for the 342# Adaptec 1542 boards. Does not work for all boards, use it with caution. 343# 344#options ALLOW_CONFLICT_DRQ 345#options ALLOW_CONFLICT_IOADDR 346#options ALLOW_CONFLICT_IRQ 347#options ALLOW_CONFLICT_MEMADDR 348options "AUTO_EOI_1" 349#options "AUTO_EOI_2" 350options BOUNCE_BUFFERS 351options DISKSLICE 352#options DUMMY_NOPS 353#options TUNE_1542 354 355# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver 356#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint 357#options "PCVT_FREEBSD=210" # pcvt running on FreeBSD 2.1 358 359# The syscons console driver (sco color console compatible) - default. 360device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr 361 362# 363# Options for `sc': 364# 365# HARDFONTS allows the driver to load an ISO-8859-1 font to replace 366# the default font in your display adapter's memory. 367# 368options HARDFONTS 369# 370# MAXCONS is maximum number of virtual consoles, no more than 16 371# default value: 12 372# 373options "MAXCONS=16" 374 375device npx0 at isa? port "IO_NPX" irq 13 vector npxintr 376 377# 378# Optional ISA and EISA devices: 379# 380 381# 382# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca' 383# 384# aha: Adaptec 154x 385# ahb: Adaptec 174x 386# ahc: Adaptec 274x 387# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!) 388# bt: Most Buslogic controllers 389# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130 390# uha: UltraStore 14F and 34F 391# sea: Seagate ST01/02 8 bit controller (slow!) 392# wds: Western Digital WD7000 controller (no scatter/gather!). 393# 394# Note that the order is important in order for Buslogic cards to be 395# probed correctly. 396# 397 398controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr 399controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem? 400controller ahb0 at isa? bio irq ? vector ahbintr 401controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr 402controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr 403 404controller aic0 at isa? port 0x340 bio irq 11 vector aicintr 405controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr 406controller nca1 at isa? port 0x1f84 407controller nca2 at isa? port 0x1f8c 408controller nca3 at isa? port 0x1e88 409controller nca4 at isa? port 0x350 bio irq 5 vector ncaintr 410 411controller sea0 at isa? bio irq 5 iomem 0xdc000 iosiz 0x2000 vector seaintr 412controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintr 413 414# 415# ST-506, ESDI, and IDE hard disks: `wdc' and `wd' 416# 417# NB: ``Enhanced IDE'' is NOT supported at this time. 418# 419controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr 420disk wd0 at wdc0 drive 0 421disk wd1 at wdc0 drive 1 422controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr 423disk wd2 at wdc1 drive 0 424disk wd3 at wdc1 drive 1 425 426# 427# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft' 428# 429controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr 430disk fd0 at fdc0 drive 0 431disk fd1 at fdc0 drive 1 432tape ft0 at fdc0 drive 2 433 434# 435# Options for `fd': 436# 437# FDSEEKWAIT selects a non-default head-settle time (i.e., the time to 438# wait after a seek is performed). The default value (1/32 s) is 439# usually sufficient. The units are inverse seconds, so a value of 16 440# here means to wait 1/16th of a second; you should choose a power of 441# two. 442# 443options FDSEEKWAIT="16" 444 445# 446# Other standard PC hardware: `lpt', `mse', `psm', `sio', etc. 447# 448# lpt: printer port 449# mse: Logitech and ATI InPort bus mouse ports 450# psm: PS/2 mouse port (needs ALLOW_CONFLICT_IOADDR, above) 451# sio: serial ports (see sio(4)) 452# cy: Cyclades high-speed serial driver (ALPHA QUALITY!) 453# gp: National Instruments AT-GPIB and AT-GPIB/TNT board 454# gsc: Genius GS-4500 hand scanner. 455# joy: joystick 456 457device lpt0 at isa? port "IO_LPT3" tty irq 7 vector lptintr 458device mse0 at isa? port 0x23c tty irq 5 vector mseintr 459device psm0 at isa? port "IO_KBD" tty irq 12 vector psmintr 460device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr 461device gp0 at isa? port 0x2c0 tty 462device gsc0 at isa? port "IO_GSC1" tty drq 3 463device joy0 at isa? port "IO_GAME" 464device cy0 at isa? tty irq 10 iomem 0xd4000 vector cyintr 465 466# Options for sio: 467options COMCONSOLE #prefer serial console to video console 468options COM_MULTIPORT #code for some cards with shared IRQs 469options DSI_SOFT_MODEM #code for DSI Softmodems 470 471# 472# Network interfaces: `cx', `ed', `el', `ep', `ie', `is', `le', `lnc' 473# 474# cx: Cronyx/Sigma multiport sync/async (with Cisco or PPP framing) 475# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 476# el: 3Com 3C501 (slow!) 477# ep: 3Com 3C509 (buggy) 478# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210 479# le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100, 480# DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422) 481# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL) 482# ze: IBM/National Semiconductor PCMCIA ethernet controller. 483# zp: 3Com PCMCIA Etherlink III (It does not require shared memory for 484# send/receive operation, but it needs 'iomem' to read/write the 485# attribute memory) 486# 487 488device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintr 489device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr 490device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr 491device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr 492device ep0 at isa? port 0x300 net irq 10 vector epintr 493device el0 at isa? port 0x300 net irq 9 vector elintr 494device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr 495device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr 496device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr 497 498 499# ISDN drivers - `isdn'. 500# 501# Uncomment one (and only one) of the following 4 drivers for the appropriate 502# ISDN device you have. For more information on what's considered appropriate 503# for your given set of circumstances, please read 504# /usr/src/gnu/usr.sbin/docs/INSTALL. It's a bit sparse at present, but it's 505# the best we have right now. The snic driver is also disabled at present, 506# waiting for someone to upgrade the driver to 2.0 (it's in /sys/gnu/scsi/). 507# 508device nic0 at isa? port "IO_COM3" iomem 0xe0000 tty irq 9 vector nicintr 509device nnic0 at isa? port 0x150 iomem 0xe0000 tty irq 12 vector nnicintr 510# This one is also temporarily ill - needs an isa_device structure!! 511#controller tel0 at isa? iomem 0xe0000 tty irq 9 vector telintr 512 513# These are non-optional for ISDN 514pseudo-device isdn 515pseudo-device ii 4 516pseudo-device ity 4 517pseudo-device itel 2 518pseudo-device ispy 1 519 520 521# 522# Audio drivers: `snd', `pca' 523# 524# snd: Voxware sound drivers for various cards (see file `sound.doc') 525# pca: PCM audio through your PC speaker 526# 527# Someday, Voxware configuration will be done properly. 528# 529device snd5 at isa? port 0x330 irq 6 vector mpuintr 530device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr 531device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr 532device snd2 at isa? port 0x220 irq 7 drq 1 vector sbintr 533device snd6 at isa? port 0x220 irq 7 drq 5 vector sbintr 534device snd7 at isa? port 0x300 535device snd1 at isa? port 0x388 536 537device pca0 at isa? tty 538 539# 540# Miscellaneous hardware: `mcd', `wt', `ctx', `apm' 541# 542# mcd: Mitsumi CD-ROM 543# scd: Sony CD-ROM 544# pcd: Panasonic CD-ROM 545# wt: Wangtek and Archive QIC-02/QIC-36 tape drives 546# ctx: Cortex-I frame grabber 547# apm: Laptop Advanced Power Management (experimental) 548# spigot: The Creative Labs Video Spigot video-aquisition board 549# 550# Notes on the spigot: 551# The video spigot is at 0xad6. This port address can not be changed. 552# The irq values may only be 10, 11, or 15 553# I/O memory is an 8kb region. Possible values are: 554# 0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff 555# Note that the start address must be on an even boundary. 556 557device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr 558# for the soundblaster 16 multicd 559device scd0 at isa? port 0x230 bio 560# for the soundblaster 16 multicd 561#device pcd0 at isa? port 0x220 bio 562device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr 563device ctx0 at isa? port 0x230 iomem 0xd0000 564device spigot0 at isa? port 0xad6 irq 15 iomem 0xee000 vector spigintr 565device apm0 at isa? 566 567# 568# PCI devices: 569# 570# The main PCI bus device is `pci'. It provides auto-detection and 571# configuration support for all devices on the PCI bus, using either 572# configuration mode defined in the PCI specification. 573# 574# The `ncr' device provides support for the NCR 53C810 and 53C825 575# self-contained SCSI host adapters. 576# 577# The `de' device provides support for the Digital Equipment DC21040 578# self-contained Ethernet adapter. 579# 580# The PROBE_VERBOSE option enables a long listing of chip set registers 581# for supported PCI chip sets (currently only intel Saturn and Mercury). 582# 583controller pci0 584device ncr0 585device de0 586options PROBE_VERBOSE 587