2 # LINT -- config file for checking all the sources, tries to pull in
3 # as much of the source tree as it can.
5 # This kernel is NOT MEANT to be runnable!
7 # $Id: LINT,v 1.106 1994/11/07 03:51:14 phk Exp $
11 # This directive is mandatory; it defines the architecture to be
12 # configured for; in this case, the 386 family. You must also specify
13 # at least one CPU (the one you intend to run on); deleting the
14 # specification for CPUs you don't need to use may make parts of the
20 cpu "I586_CPU" # a/k/a Pentium(tm)
23 # This is the ``identification'' of the kernel. Usually this should
24 # be the same as the name of your kernel.
29 # The `maxusers' parameter controls the static sizing of a number of
30 # internal system tables by a complicated formula defined in param.c.
35 # A math emulator is mandatory if you wish to run on hardware which
36 # does not have a floating-point processor. Pick either the original,
37 # bogus (but freely-distributable) math emulator, or a much more
38 # fully-featured but GPL-licensed emulator taken from Linux.
40 options MATH_EMULATE #Support for x87 emulation
41 #options GPL_MATH_EMULATE #Support for x87 emualtion via
45 # This directive defines a number of things:
46 # - The compiled kernel is to be called `kernel'
47 # - The root filesystem might be on partition wd0a
48 # - The kernel can swap on wd0b and sd0b, defaulting to the former
49 # - Crash dumps will be written to wd0b, if possible
51 config kernel root on wd0 swap on wd0 and sd0 dumps on wd0
54 #####################################################################
55 # COMPATIBILITY OPTIONS
58 # Implement system calls compatible with 4.3BSD and older versions of
64 # Allow user-mode programs to manipulat their local descriptor tables.
65 # This option is required for the WINE Windows(tm) emulator, and is
66 # not used by anything else (that we know of).
68 options USER_LDT #allow user-level control of i386 ldt
71 # These three options provide support for System V Interface
72 # Definition-style interprocess communication, in the form of shared
73 # memory, semaphores, and message queues, respectively.
80 #####################################################################
84 # This line enables the kernel debugger, DDB, and the line following
85 # allocates extra space for a copy of the debugger symbol table which
86 # is stored in the initialized data area of the kernel. If you change
87 # the latter option, remove db_aout.o before compiling.
89 options DODUMP #We dump core-image on panic
90 options DDB #Kernel debugger
91 options "SYMTAB_SPACE=113498" #This kernel needs LOTS of symtable
94 # KTRACE enables the system-call tracing facility ktrace(2).
96 options KTRACE #kernel tracing
99 # The DIAGNOSTIC option is used in a number of source files to enable
100 # extra sanity checking of internal structures. This support is not
101 # enabled by default because of the extra time it would take to check
102 # for these conditions, which can only occur as a result of
103 # programming errors.
108 #####################################################################
113 # Only the INET (Internet) family is officially supported in FreeBSD.
114 # Source code for the NS (Xerox Network Service), ISO (OSI), and
115 # CCITT (X.25) families is provided for amusement value, although we
116 # try to ensure that it actually compiles.
118 options INET #Internet communications protocols
120 options CCITT #X.25 network layer
121 options NS #Xerox NS communications protocols
122 options TPIP #ISO TP class 4 over IP
123 options TPCONS #ISO TP class 0 over X.25
126 # Network interfaces:
127 # The `loop' pseudo-device is mandatory when networking is enabled.
128 # The `ether' pseudo-device provides generic code to handle
129 # Ethernets; it is mandatory when a Ethernet device driver is
131 # The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
132 # The `ppp' pseudo-device implements the Point-to-Point Protocol.
133 # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be
134 # aware of the legal and administrative consequences of enabling this
135 # option. The number of devices determines the maximum number of
136 # simultaneous BPF clients programs runnable.
138 pseudo-device ether #Generic Ethernet
139 pseudo-device loop #Network loop back device
140 pseudo-device sl 2 #Serial Line IP
141 pseudo-device ppp 2 #Point-to-point protocol
142 pseudo-device bpfilter 4 #Berkeley packet filter
144 options NSIP #XNS over IP
145 options EON #ISO CLNP over IP
146 options LLC #X.25 link layer for Ethernets
147 options HDLC #X.25 link layer for serial lines
150 # Internet family options:
152 # TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in
153 # 4.2BSD. This option should not be used unless you have a 4.2BSD
154 # machine and TCP connections fail.
156 # GATEWAY allows the machine to forward packets, and also configures
157 # larger static sizes of a number of system tables.
159 # MROUTING enables the kernel multicast packet forwarder, which works
162 # IPFIREWALL enables support for IP firewall construction, in
163 # conjunction with the `ipfw' program. IPFIREWALL_VERBOSE does
166 # ARP_PROXYALL enables global proxy ARP. Beware! This can burn
167 # your house down! See netinet/if_ether.c for the gory details.
168 # (Eventually there will be a better management interface.)
170 options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs
171 options GATEWAY #internetwork gateway
172 options MROUTING # Multicast routing
173 options IPFIREWALL #firewall
174 options IPFIREWALL_VERBOSE #print information about
176 options ARP_PROXYALL # global proxy ARP
179 #####################################################################
183 # Only the root, /usr, and /tmp filesystems need be statically
184 # compiled; everything else will be automatically loaded at mount
185 # time. (Exception: the UFS family---FFS, MFS, and LFS---cannot
186 # currently be demand-loaded.) Some people still prefer to statically
187 # compile other filesystems as well.
189 # NB: The LFS, PORTAL, and UNION filesystems are known to be buggy,
190 # and WILL panic your system if you attempt to do anything with them.
191 # They are included here as an incentive for some enterprising soul to
192 # sit down and fix them.
195 # One of these is mandatory:
196 options FFS #Fast filesystem
197 options NFS #Network File System
199 # The rest are optional:
200 options "CD9660" #ISO 9660 filesystem
201 options FDESC #File descriptor filesystem
202 options KERNFS #Kernel filesystem
203 options LFS #Log filesystem
204 options MFS #Memory File System
205 options MSDOSFS #MS DOS File System
206 options NULLFS #NULL filesystem
207 options PORTAL #Portal filesystem
208 options PROCFS #Process filesystem
209 options UMAPFS #UID map filesystem
210 options UNION #Union filesystem
213 # Disk quotas are supported when this option is enabled. If you
214 # change the value of this option, you must do a `make clean' in your
215 # kernel compile directory in order to get a working kernel.
217 options QUOTA #enable disk quotas
220 #####################################################################
221 # SCSI DEVICE CONFIGURATION
224 # The SCSI subsystem consists of the `base' SCSI code, a number of
225 # high-level SCSI device drivers, and the low-level host-adapter
226 # device drivers. The host adapters are listed in the ISA and PCI
227 # device configuration sections below.
229 # Note that, unlike most similar systems, the FreeBSD SCSI system
230 # does not wire a particular device unit number to any specific
231 # SCSI bus unit number. Rather, unit numbers are assigned in the
232 # order that the devices are found on the SCSI bus. (This means that
233 # if you remove a disk drive, you may have to rewrite your /etc/fstab
234 # file.) It is expected that this will change for FreeBSD 2.1.
236 controller scbus0 #base SCSI code
237 device ch0 #SCSI media changers
238 device sd0 #SCSI disks
242 device st0 #SCSI tapes
244 device uk0 #unknown scsi devices
247 # The `cd' (SCSI read-only removable disk) driver is special in that
248 # the code dynamically allocates more units as they are required, with
249 # no limit (other than memory) to the number available.
250 device cd0 #SCSI CD-ROMs
253 #####################################################################
254 # MISCELLANEOUS DEVICES AND OPTIONS
257 # Of these, only the `log' device is truly mandatory. The `pty'
258 # device usually turns out to be ``effectively mandatory'', as it is
259 # required for `telnetd', `rlogind', `screen', `emacs', and `xterm',
262 pseudo-device pty 4 #Pseudo ttys
263 pseudo-device speaker #Play IBM BASIC-style noises out your speaker
264 pseudo-device log #Kernel syslog interface (/dev/klog)
265 pseudo-device gzip #Exec gzipped a.out's
268 #####################################################################
269 # HARDWARE DEVICE CONFIGURATION
271 # ISA and EISA devices:
272 # Currently there is no separate support for EISA. There should be.
273 # Micro Channel is not supported at all.
276 # Mandatory ISA devices: isa, sc, npx
283 # ALLOW_CONFLICT_IOADDR suppresses the I/O address conflict checks, so
284 # that the PS/2 mouse driver doesn't conflict with the console driver.
286 # ALLOW_CONFLICT_IRQ suppresses the interrupt line conflict checks, so
287 # that multiple devices can share the same IRQ, provided that the
288 # hardware supports it (it usually doesn't).
290 # BOUNCE_BUFFERS provides support for ISA DMA on machines with more
291 # than 16 megabytes of memory. It doesn't hurt on other machines.
292 # Some broken EISA and VLB hardware may need this, too.
293 #options ALLOW_CONFLICT_IOADDR
294 #options ALLOW_CONFLICT_IRQ
295 options BOUNCE_BUFFERS
297 device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
302 # NCONS specifies the number of virtual consoles. Specification of
303 # this value is mandatory. Due to a compiler bug, when compiling with
304 # GCC 2.6.0 this option must be a power of two.
306 # FAT_CURSOR specifies the use of a large block cursor rather than the
307 # hardware default underline.
309 # HARDFONTS allows the driver to load an ISO-8859-1 font to replace
310 # the default font in your display adapter's memory.
312 # UCONSOLE enables code to let any user get output intended for the
320 device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
323 # Optional ISA and EISA devices:
327 # SCSI host adapters: `aha', `ahb', `aic', `bt', `pas'
331 # aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
332 # bt: Most Buslogic controllers
333 # pas: ProAudioSpectrum cards using the NCR 5380 (slow!)
334 # uha: UltraStore 14F and 34F
335 # sea: Seagate ST01/02 8 bit controller (slow!)
337 # Note that the order is important in order for Buslogic cards to be
341 controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr
342 controller ahb0 at isa? bio irq ? vector ahbintr
343 controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
344 controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
346 controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
347 controller pas0 at isa? port 0x1f88
348 controller pas1 at isa? port 0x1f84
349 controller pas2 at isa? port 0x1f8c
350 controller pas3 at isa? port 0x1e88
352 controller sea0 at isa? bio irq 5 iomem 0xdc000 iosiz 0x2000 vector seaintr
355 # ST-506, ESDI, and IDE hard disks: `wdc' and `wd'
357 # NB: ``Enhanced IDE'' is NOT supported at this time.
359 controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
360 disk wd0 at wdc0 drive 0
361 disk wd1 at wdc0 drive 1
362 controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
363 disk wd2 at wdc1 drive 0
364 disk wd3 at wdc1 drive 1
367 # Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
369 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
370 disk fd0 at fdc0 drive 0
371 disk fd1 at fdc0 drive 1
372 tape ft0 at fdc0 drive 2
377 # FDSEEKWAIT selects a non-default head-settle time (i.e., the time to
378 # wait after a seek is performed). The default value (1/32 s) is
379 # usually sufficient. The units are inverse seconds, so a value of 16
380 # here means to wait 1/16th of a second; you should choose a power of
383 options FDSEEKWAIT="16"
386 # Other standard PC hardware: `lpt', `mse', `psm', `sio'
389 # mse: Logitech and ATI InPort bus mouse ports
390 # psm: PS/2 mouse port (needs ALLOW_CONFLICT_IOADDR, above)
391 # sio: serial ports (see sio(4))
393 device lpt0 at isa? port "IO_LPT3" tty irq 7 vector lptintr
394 device mse0 at isa? port 0x23c tty irq 5 vector mseintr
395 device psm0 at isa? port "IO_KBD" tty irq 12 vector psmintr
396 device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
399 options DSI_SOFT_MODEM #code for DSI Softmodems
402 # Network interfaces: `ed', `el', `ep', `ie', `is', `le', `lnc'
404 # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
405 # el: 3Com 3C501 (slow!)
406 # ep: 3Com 3C509 (buggy)
407 # ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210
408 # is: Isolan AT 4141-0; Isolink 4110; Novell NE2100
409 # le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
410 # DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
411 # lnc: unknown LANCE-based
412 # ze: PCMCIA ethernet controller.
415 device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
416 device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr
417 device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr
418 device ep0 at isa? port 0x300 net irq 10 vector epintr
419 device el0 at isa? port 0x300 net irq 9 vector elintr
420 device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
421 device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
422 #device lnc0 at isa? XXX FILL ME IN
425 # Audio drivers: `snd', `pca'
427 # snd: Voxware sound drivers for various cards (see file `sound.doc')
428 # pca: PCM audio through your PC speaker
430 # Someday, Voxware configuration will be done properly.
432 device snd5 at isa? port 0x330 irq 6 vector mpuintr
433 device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr
434 device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr
435 device snd2 at isa? port 0x220 irq 7 drq 1 vector sbintr
436 device snd6 at isa? port 0x220 irq 7 drq 5 vector sbintr
437 device snd7 at isa? port 0x300
438 device snd1 at isa? port 0x388
440 device pca0 at isa? tty
443 # Miscellaneous hardware: `mcd', `wt', `ctx', `apm'
445 # mcd: Mitsumi CD-ROM
446 # wt: Wangtek and Archive QIC-02/QIC-36 tape drives
447 # ctx: Cortex-I frame grabber
448 # apm: Laptop Advanced Power Management (experimental)
451 device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
452 device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr
453 device ctx0 at isa? port 0x230 iomem 0xd0000
455 # NB: both lines are required
462 # The main PCI bus device is `pci'. It provides auto-detection and
463 # configuration support for all devices on the PCI bus, using either
464 # configuration mode defined in the PCI specification.
466 # The `ncr' device provides support for the NCR 53C810 and 53C825
467 # self-contained SCSI host adapters.
469 # The `de' device provides support for the Digital Equipment DC21040
470 # self-contained Ethernet adapter.