Add diclaimer of copyright to _osname() manual page.
[unix-history] / sys / i386 / doc / options.texi
CommitLineData
49d50d3a
GW
1\input texinfo @c -*- texinfo -*-
2@c %**start of header
3@setfilename options.info
4@settitle Configuration Options for FreeBSD
5@c @setchapternewpage odd
6@c function index is option/pseudo/device names; concept is everything
7@c else
8@syncodeindex fn cp
9@finalout
10@c %**end of header
11
12@ifinfo
196ecb54 13$Id: options.texi,v 1.3 1994/01/06 18:17:09 rgrimes Exp $
49d50d3a
GW
14
15This file documents the configuration options available in the FreeBSD
16operating system.
17
18@display
19Copyright @copyright{} 1993, Garrett A. Wollman. All rights reserved.
20
21Redistribution and use in source and printed forms, with or without
22modification, are permitted provided that the following conditions
23are met:
241. Redistributions of source code must retain the above copyright
25 notice and this list of conditions.
262. Redistributions in printed form must reproduce the above copyright
27 notice, this list of conditions and the following notice of
28 authorship.
29
30Trademarks are property of their respective owners.
31@end display
32@end ifinfo
33
34@titlepage
35@title Configuration Options in FreeBSD
36@subtitle for FreeBSD 1.0
37@author Garrett A. Wollman
38@author FreeBSD Project
39
40@page
41@vskip 0pt plus 1filll
42
43i386, i387, and i486 are trademarks of Intel Corporation. SunOS is a
44registered trademark and NFS is a trademark of Sun Microsystems, Inc.
45Ultrix is a registered trademark of Digital Equipment Corporation.
46Xerox is a registered trademark and XNS is a trademark of Xerox
47Corporation. VESA is a trademark of the Video Electronics Standards
48Association. All other trademarks are property of their respective
49owners. FreeBSD is nobody's trademark, and damn proud of it.
50
51Copyright @copyright{} 1993, Garrett A. Wollman. All rights reserved.
52
53Redistribution and use in source and printed forms, with or without
54modification, are permitted provided that the following conditions
55are met:
56
57@enumerate
58@item
59Redistributions of source code must retain the above copyright
60notice and this list of conditions.
61
62@item
63Redistributions in printed form must reproduce the above copyright
64notice, this list of conditions and the preceding notice of
65authorship.
66@end enumerate
67@end titlepage
68
69@node Top, Subsystems, (dir), (dir)
70@top FreeBSD Configuration Options
71
72This document describes kernel configuration options relevant to the
73FreeBSD operating system version 1.0. It is intended for readers who
74already have a general understanding of the process of configuring a BSD
75kernel and wish to get a general overview of the meaning of various
76configuration options. This document covers configurable options and
77pseudo-devices; it is intended that devices may be added at a later
78date.
79
80@menu
81* Subsystems:: Controlling subsystems.
82* Performance:: Performance enhancement.
83* Devices:: Device-control options.
84* Internals:: Non-user-serviceable parts.
85
86* Index:: General Index.
87@end menu
88
89@node Subsystems, Performance, Top, Top
90@c node,next,prev,up
91
92@chapter Options for Subsystems
93
94This chapter discusses options controlling the inclusion of various
95subsystems in FreeBSD. These include things like filesystems,
96networking modules, and whatnot. Remember that options containing
97underscores must be quoted.
98
99@table @code
100@item pseudo-device bpfilter @var{number}
101@findex bpfilter
102@cindex Berkeley packet filter
103@cindex Network interfaces
104The @samp{bpfilter} pseudo-device is the Berkeley Packet Filter,
105developed by Lawrence Berkeley Labs and based on an earlier packet
106filter from Stanford. See the @samp{bpf} manual page for more details.
107The @var{number} given is the maximum number of simultaneous users
108permitted. (NB: in previous version of BPF, the @var{number} had to be
109greater than the number of interfaces; this space is now dynamically
110allocated so this requirement is no longer present.)
111
112@item pseudo-device devpager
113@itemx pseudo-device swappager
114@itemx pseudo-device vnodepager
115@findex devpager
116@findex swappager
117@findex vnodepager
118@cindex Pagers
119These @emph{mandatory} pseudo-devices provide VM system support for
120memory-mapped devices, swap space, and memory-mapped files, respectively.
121
122@item options CCITT
123@findex CCITT
124@cindex X.25
125@cindex Networking domains
126The @samp{CCITT} option enables support for the ITU-T X.25(1980)
127network-layer protocol. Nobody we know has a direct X.25 connection to
128anything, so this code has never been tested.
129
130@item options "COMPAT_42"
131@findex COMPAT_42
132@cindex UDP Checksums
133@cindex Checksums, UDP
134@cindex 4.2 Compatibility
135@cindex Compatibility options
136This option is used to disable UDP checksumming. Under ordinary
137circumstances it should never ever ever be defined; however, if you are
138stuck trying to communicate with an old 4.2BSD machine, or one running
139something derived from 4.2 like SunOS 3.5 or Ultrix 2.0, this may be
140necessary in order to successfully receive UDP packets.
141
142@item options "COMPAT_43"
143@findex COMPAT_43
144@cindex 4.3 Compatibility
145@cindex Compatibility options
146This option controls a whole host of features, mostly relating to
147system-call compatibilty with 4.3BSD. At the present time, it should
148not be turned off, as many utilities and library routines still depend
149on these obsolescent system calls being present. At some future date,
150this will probably be split up into two separate options, one for binary
151compatibility and one for the old but useful system calls.
152
153@item options "DIRECTED_BROADCAST"
154@findex DIRECTED_BROADCAST
155@cindex IP
156@cindex UDP
157If this option is enabled, the kernel will support sending IP broadcast
158packets to subnets other than the one that the machine is on, and when
159forwarding will accept such packets. That is to say, if your host lives
160on subnets @samp{132.198.3} and @samp{132.198.4}, and the
161@samp{132.198.3} side receives a packet addressed to
162@samp{132.198.4.255}, it will forward the packet as a broadcast on that
163subnet.
164
165@item pseudo-device ether
166@findex ether
167@cindex Ethernet
168@cindex Network interfaces
169This pseudo-device provides link-layer support for Ethernet device
170drivers. It is mandatory for all systems which include Ethernet or
171Ethernet-like devices, such as @samp{ed}, @samp{ie}, and @samp{is}.
172
173@item options EON
174@itemx pseudo-device eon
175@findex EON
176@cindex ISO 8473 CLNP
177@cindex Network interfaces
178The @samp{eon} network interface supports the ISO 8473
179Connectionless-Mode Network Protocol, tunnelled through IP version 4.
180@samp{eon} interfaces are created automatically once initially
181configured by adding ISO routes with IP destinations. At present, both
182the pseudo-device and option declaration are necessary.
183
184@item options FIFO
185@findex FIFO
186@cindex Named pipes
187This option enables support for System V-- and POSIX-style named pipes
188or fifos.
189
190@item options GATEWAY
191@itemx options IPFORWARDING=@var{value}
192@itemx options IPSENDREDIRECTS=@var{value}
193@findex GATEWAY
194@findex IPFORWARDING
195@findex IPSENDREDIRECTS
196@cindex ICMP
197@cindex IP
198@cindex Network parameters
199These three options control whether FreeBSD's IP forwarding functions
200are enabled. Technically speaking, because FreeBSD does not meet the
201standards set out in the ``Router Requirements'' document (RFC 1009),
202these should not be enabled, but sometimes it is necessary to enable
203this function. The @samp{GATEWAY} option turns on @samp{IPFORWARDING},
204and also controls the sizing of certain system tables. The
205@samp{IPFORWARDING} option controls the initial value of the
206@samp{ipforwarding} kernel variable (default 1 if @samp{GATEWAY}
207defined, 0 otherwise), which controls whether packets are acutally
208forwarded or not; @var{value} should be either @samp{0} or @samp{1}.
209@samp{IPSENDREDIRECTS} controls the initial value of the
210@samp{ipsendredirects} variable (default is one, but should be changed
211to zero); its @var{value} should also be either @samp{0} or @samp{1}.
212
213@item options INET
214@findex INET
215@cindex IP
216@cindex TCP
217@cindex UDP
218@cindex ICMP
219@cindex Networking domains
220This option controls the inclusion of the Internet protocol suite,
221including IP version 4, TCP, UDP, and ICMP. Support for IP multicast,
222IP next generation, and IGMP will be provided at a future date. It is
223not recommended to even attempt to generate a system with this option
224turned off, as many parts of the system depend on Internet networking in
225important and subtle ways.
226
227@item options ISO
228@itemx options TPIP
229@findex ISO
230@findex TPIP
231@cindex ISO 8473 CLNP
232@cindex ISO TP4
233@cindex ISO TP0
234@cindex ISO 9542 ESIS
235@cindex IEEE 802.2 LLC
236@cindex Networking domains
237These options control the inclusion of ISO OSI networking protocols.
238The TPIP option includes just enough support to run ISO Transport
239Protocol class 4 over IP, supporing the @samp{SOCK_SEQPACKET}
240abstraction. The ISO option includes support for CLNP, TP class 0,
241ISO 9542 ESIS, and IEEE 802.2 logical link control class 0 (for CLNP only).
242
243@item options ISOFS
244@findex ISOFS
245@cindex ISO 9660 filesystem
246@cindex CD-ROM
247@cindex Rock Ridge filesystem
248@cindex Filesystems
249The @samp{ISOFS} option enables kernel support for the ISO 9660 CD-ROM
250filesystem, including RockRidge extensions.
251
252@item options "ISO_X25ESIS"
253@findex ISO_X25ESIS
254@cindex ISO 9542 ESIS
255@cindex X.25
256This option controls whether ISO 9542 ESIS is run over ITU-T X.25 link
257layers. This requires the @samp{CCITT} option to be enabled as well.
258
259@item options KTRACE
260@findex KTRACE
261@cindex Kernel tracing
262This option enables the tracing of several classes of internal kernel
263events. See the @samp{ktrace} command for more details.
264
265@item pseudo-device log
266@findex log
267@cindex Kernel message logging
268The @samp{log} pseudo-device provides kernel support to send kernel
269messages to @samp{syslog}. It is mandatory.
270
271@item pseudo-device loop
272@findex loop
273@cindex Network interfaces
274The @samp{loop} pseudo-device provides the trivial network interface.
275It is required when any networking options are enabled.
276
277@item options MACHVMCOMPAT
278@findex MACHVMCOMPAT
279@cindex Mach virtual memory
280This option enables a Mach-compatible interface to the virtual memory
281subsystem, supporting system calls @samp{vm_allocate},
282@samp{vm_deallocate}, @samp{vm_inherit}, and @samp{vm_protect}.
283(Given the nature of the VM system, it is impossible to support a
284Mach-style @samp{vm_region} call, and in every case the `map' argument
285is ignored and replaced with the calling process's own map.)
286
287@item options MFS
288@findex MFS
289@cindex Memory filesystem
290@cindex Filesystems
291This option enables support for the memory filesystem, an in-core
292filesystem which lives in the swap area. Using MFS as a @file{/tmp}
293filesystem can dramatically increase the speed of
294temporary-space-intensive operations such as compilations. See the
196ecb54 295@samp{mount_mfs} manual page for more details.
49d50d3a
GW
296
297@item options NFS
298@findex NFS
299@cindex Network File System
300@cindex Filesystems
301The @samp{NFS} option enables support for Sun's Network File System.
302(Also called ``Nightmare'' or ``Not a''@dots{}.) This presently includes
303both client-- and server-side kernelized NFS support; it may in the
304future be broken into separate options. This NFS implmentation comes to
305BSD courtesy of Rick Macklem of the University of Guelph, and is not
306derived from Sun licensed source code. As a result, there are sometimes
307interoperability problems where the published specification is vague,
308and this option supports several new and useful features compared to
309Sun's. See the @samp{mount} manual page for more details.
310
311@item options NS
312@itemx options NSIP
313@findex NS
314@findex NSIP
315@cindex Xerox Network System
316@cindex XNS IDP
317@cindex XNS SPP
318@cindex Network interfaces
319@samp{NS} controls the inclusion of support for the Xerox Network
320Service protocol family. At the present time, it is not known whether
321this code even works; testers are welcome. The @samp{NSIP} option
322enables encapsulation of XNS IDP over IP.
323
324@item options PANICDELAY
325@itemx options PANICWAIT
326@findex PANICDELAY
327@findex PANICWAIT
328@cindex Kernel panics
329These options control whether the system waits after a panic. This is
330necessary on some systems which do not support crash dumps, so that the
331actual panic message can be read. The @samp{PANICDELAY} option inserts
332a delay of twenty seconds before self-destructing; the @samp{PANICWAIT}
333option instead waits for a key to be pressed on the console.
334
335@item options PCFS
336@findex PCFS
337@cindex MS-DOS filesystem
338@cindex Filesystems
339This option controls support for mounting MS-DOS disks and disk
340partitions under FreeBSD. The @samp{pcfs} manual page is presently very
341bogus.
342
343@item pseudo-device ppp @var{number}
344@findex ppp
345@cindex Point-To-Point Protocol
346@cindex Network interfaces
347The @samp{ppp} pseudo-device provides support for the Internet
348Point-to-Point protocol (RFC 1351 @i{et seq}), implemented as a line
349discipline over standard serial links. @var{number} should be the
350number of simultaneous PPP interfaces which will be configured.
351
352@item pseudo-device pty @var{number}
353@findex pty
354@cindex Pseudo-terminals
355This pseudo-device provides support for pseudo-ttys, which are required
356for @samp{rlogin}, @samp{telnet}, and @samp{xterm} to operate correctly;
357@var{number} should be set to the total number of these programs you
358expect to have running at any given time. Because pty's are not as yet
359dynamically allocated, and the underlying structures are large, it is
360best to keep this value as small as feasible, until this deficiency is
361remedied.
362
363@item options QUOTA
364@findex QUOTA
365@cindex Disk quotas
366@cindex Filesystems
367The @samp{QUOTA} option enables support for disk quotas. Note that NFS
368quota support is not available.
369
370@item pseudo-device sl @var{number}
371@findex sl
372@cindex Serial Line Internet Protocol
373@cindex SLIP
374@cindex CSLIP
375@cindex IP
376@cindex Network interfaces
377This pseudo-device provides support for the Serial Line Internet
378Protocol (RFC 1055), implemented as a line discipline over standard
379serial links. It includes support for Van Jacobson header compression.
380@var{number} should be the number of simultaneous SLIP interfaces which
381will be configured. See also the @samp{slattach} manual page.
382
383@item options SYSVSHM
384@itemx options SHMMAXPGS=@var{value}
385@findex SYSVSHM
386@findex SHMMAXPGS
387@cindex System V shared memory
388@cindex Shared memory
389The @samp{SYSVSHM} option enables kernel-side emulation of System
390V-compatible shared memory. The @samp{SHMMAXPGS} option (default 64
391pages or 256K) determines the maximum amount of shared memory available
392under this mechanism. (This number will be increased in the next
393release.)
394
395@item options RMP
396@findex RMP
397@cindex Remote maintenance protocol
398@cindex Networking domains
399This option should control the inclusion of support for HP's remote
400maintenance protocol, but the source code is not included in FreeBSD at
401present, so enabling it will not result in any good.
402
403@item pseudo-device tb
404@findex tb
405@cindex Tablet line discipline
406The @samp{tb} pseudo-device provides support for the `tablet' line
407discipline. Nobody on the FreeBSD team actually has one of the tablets
408in question, so we have no idea if this actually works or not. It may
409not even compile.
410
411@item options "TCP_COMPAT_42"
412@findex TCP_COMPAT_42
413@cindex 4.2 Compatibility
414@cindex Compatibility options
415@cindex TCP
416This option controls the perpetuation of several bugs inherited from the
4174.2BSD implementation of TCP. It should only be defined in the
418circumstances outlined for @samp{COMPAT_42}, above.
419
420@item pseudo-device tun
421@findex tun
422@cindex Network interfaces
423The @samp{tun} driver provides a network interface which is attached to
424a character device. In this way, a user-mode program can grab packets
425out of the networking system, fiddle with them or move them around, and
426pass stuff packets back up into the kernel. It is not known if this
427device either compiles or operates correctly, although it was believed
428to do both at some time in the past.
429
430@item options UCONSOLE
431@findex UCONSOLE
432@cindex Console redirection
433This option allows any old user to grab kernel output away from the
434console and send it to the tty of their choice. It presents an
435incredile security hole for some systems, but is necessary in order to
436allow programs like @samp{xconsole} to operate. (The alternative,
437making @samp{xconsole} set-uid root, opens the exact same security
438hole.)
439
440@item options XE
441@findex XE
442@cindex X.25
443@cindex IEEE 802.2 LLC
444@cindex Network interfaces
445@cindex Ethernet
446This option should control the inclusion of support for running X.25
447over IEEE 802.2 LLC class 2, but that code was not included in the
448Networking/2 release, so enabling it will disable kernel compilation.
449Requires @samp{CCITT}.
450
451@item options XSERVER
452@findex XSERVER
453@cindex X Window System
454This obsolescent option enables support in the @samp{pc} console
455driver for certain operations required by the XFree86 server.
456@end table
457
458@node Performance, Devices, Subsystems, Top
459@c node,next,prev,up
460
461@chapter Performace and Debugging Options
462
463The following options are provided for system performace optimization.
464Note that kernel profiling is supported via the @samp{-p} option to the
465@samp{config} command; for more information see the @samp{config} manual
466page.
467
468@table @code
469@item psuedo-device ddb
470@findex ddb
471@cindex Kernel debugger
472@cindex Debugger, kernel
473This option enables the @samp{ddb} debugger, taken from Mach. See the
474@samp{ddb} and @samp{dbsym} manual pages for more information on the use
475of this debugger.
476
477@item options DIAGNOSTIC
49d50d3a
GW
478@itemx options NAMEI_DIAGNOSTIC
479@itemx options PARANOID
480@findex DIAGNOSTIC
49d50d3a
GW
481@findex NAMEI_DIAGNOSTIC
482@findex PARANOID
483@cindex Debugging options
484These debugging options reduce performace. They are intended to enable
485certain internal consistency checks which are not supposed to fail
486during correct operation, and so are normally disabled for performace
487reasons.
488
489@item options FASTLINKS
490@findex FASTLINKS
491@cindex Symbolic links
492@cindex Filesystems
493The @samp{FASTLINKS} option enables the creation of symbolic links whose
494target names reside entirely within the i-node of the link, when
495possible. This results in faster access for those links which are short
496enough (in practice, most of them). All kernels can read such links,
497but only @samp{FASTLINKS} kernels will create them, for compatibility
498with older kernels lacking such support.
499
500@item options ICMPPRINTFS
501@findex ICMPPRINTFS
502@cindex Debugging options
503@cindex ICMP
504This option is defined to allow debugging of ICMP (@dfn{Internet Control
505Message Protocol}) packets in the kernel. When defined and the
506@samp{icmpprintfs} kernel variable (default false) is set to true, ICMP
507packets will be printed out to the console when received. Note that it
508is probably better to use @samp{tcpdump} for this kind of debugging.
509
510@item options KGDB
511@findex KGDB
512@cindex Kernel debugger
513@cindex Debugger, kernel
514@cindex Remote debugging
515The @samp{KGDB} option enables certain bits of kernel code which will
516eventually be able to talk to a remote copy of the @samp{gdb} debugger
517over a serial connection. The present code does not work, but users are
518invited to hack on it and contribute the changes back to the FreeBSD
519team.
520
521@item options MCLSHIFT=@var{value}
522@findex MCLSHIFT
523@cindex Network parameters
524This option controls the number of bytes in an mbuf cluster, which is
525one of the basic units through which network data is managed. It is
526equal to the log base two of @samp{MCLBYTES}, the size of an mbuf
527cluster, and defaults to eleven (for an @samp{MCLBYTES} of 2048). It
528will likely eventually be bumped up to twelve (4096), so that the
529network code can take advantage of page flipping to reduce the numer of
530copies necessary.
531
532@item options SUBNETSARELOCAL
533@findex SUBNETSARELOCAL
534@cindex TCP
535@cindex Network parameters
536This option controls whether the TCP system believes that machines on
537other subnets of your network are considered to be ``local'' to your
538host. For most systems, this option should be on (the default); if you
539are directly connected to a class A network, however, then it may need
540to be turned off. (This is true of networks like the MILNET.)
541
542@item options "SYMTAB_SPACE=@var{value}"
543@findex SYMTAB_SPACE
544@cindex Debugger, kernel
545@cindex Kernel debugger
546This obsolescent option controls the amount of space that will be
547statically allocated in the debugger source code to hold the kernel
548symbol table that @samp{dbsym} sticks there. Eventually this will be
549dynamically allocated at load time. The default @var{value} is 63000
550bytes.
551@end table
552
553@node Devices, Internals, Performance, Top
554
555@chapter Device Options
556
557There are different device selections available depending on the type of
558bus present in your computer. We will cover generic FreeBSD devices,
559ISA-bus devices, and EISA-bus devices. A separate section describes the
560devices available in the SCSI subsystem.
561
562@menu
563* Generic:: Devices available in all FreeBSD systems.
564* ISA:: Devices specific to the ISA bus.
565* EISA:: Devices specific to the EISA bus.
566* MCA:: No support for Micro Channel, yet.
567* PCI:: No support for PCI, yet.
568* SCSI:: The SCSI subsystem.
569@end menu
570
571@node Generic, ISA,, Devices
572@section Generic Devices and Options
573
574The following devices and options are available in all FreeBSD
575configurations. In addition to these devices, a selection of ISA
576devices (@pxref{ISA}) is required in order to generate a workable
577system.
578
579@table @code
580@item machine "i386"
581@findex i386
582This mandatory declaration informs the @samp{config} program that you
583are using an i386 or compatible CPU, and enables the selection of all
584the other devices listed here.
585
586@item cpu "I386_CPU"
587@itemx cpu "I486_CPU"
588@findex I386_CPU
589@findex I486_CPU
590These two options control which specific CPUs will be supported by the
591generated kernel. If the kernel detects that it is not running on a CPU
592for which support was enabled, it will panic quickly upon startup. If
593you do not expect to need to run your kernel on an i386 or similar CPU,
594leaving out that support can increase virtual memory system performance.
595
596@item options "MATH_EMULATE"
597@findex MATH_EMULATE
598@cindex Floating-point emulator
599@cindex i387
600When this option is defined, the math coprocessor emulator is compiled
601into the kernel. When it is not defined and the coprocessor is absent,
602programs which use floating-point operations are automatically killed.
603
604@item device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
605@findex npx
606@cindex i386
607The @samp{npx} device provides support for the i387 numeric coprocessor
608and the floating-point portions of the i486 CPU. This will eventually
609be fixed to not require ISA to be configured.
610
611@item pseudo-device speaker
612@findex speaker
613The @samp{speaker} pseudo-device provides support for rudimentary access
614to the PC's speaker via @file{/dev/spkr}. It provides a
615character-device interface which interprets @samp{PLAY} strings similar
616to IBM PC Advanced BASIC, as well as an @samp{ioctl} interface with more
617fine-grained control. See the @samp{spkr} manual page for more
618information.
619@end table
620
621@node ISA, EISA, Generic, Devices
622@section ISA-bus Devices and Options
623
624The following options are specific to ISA-bus devices and systems.
625Since the EISA bus is backwards-compatible with the ISA bus, all these
626options also apply to EISA systems. The same goes for VESA Local Bus
627(VL-Bus) systems.
628
629@table @code
630@item controller isa0
631@findex isa
632This @strong{mandatory} declaration must precede any other devices
633listed in this section. It provides the basic support for the ISA-bus
634glue logic, including DMA and autoconfiguration.
635
636@item controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr
637@findex aha
638@cindex Adaptec 154x
639@cindex SCSI host adaptors
640The @samp{aha} device supports the Adaptec 154x series of SCSI
641controllers, and attempts to support other vendors' controllers which
642claim compatibility with the Adaptec 1542, such as the BusLogic 545.
643This device is included in the @samp{GENERICAH} distribution kernel.
644The @samp{scbus} device (@pxref{SCSI}) is a prerequisite for this
645device.
646
647@item controller bt0 at isa? port "IO_BT0" bio irq 12 vector btintr
648@findex bt
649@cindex Bustek 742
650@cindex SCSI host adaptors
651This device supports the Bustek 742 SCSI controller. It is included in
652the @samp{GENERICBT} distribution kernel; the @samp{scbus} device
653(@pxref{SCSI}) is a prerequisite.
654
655@item options COM_BIDIR
656@findex COM_BIDIR
657@cindex Bi-directional serial ports
658@cindex Serial ports
659This option enables bi-directional support in the @samp{sio} serial
660driver. This option is slated for removal, at which time bi-directional
661support will always be enabled. See the @samp{comcontrol} manual page
662for more information.
663
664@item options COM_MULTIPORT
665@findex COM_MULTIPORT
666@cindex Multi-port serial boards
667@cindex Serial ports
668This option enables support in the @samp{sio} serial driver for certain
669multi-port serial boards.
670
671@item device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
672@itemx device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr
673@findex ed
674@cindex Western Digital 80x3
675@cindex 3Com 3C503
676@cindex Novel NE1000/NE2000
677@cindex Network interfaces
678@cindex Ethernet
679The @samp{ed} network interface driver provides support for the Western
680Digital/SMC 80x3 series, the 3Com 3c503, and Novell NE1000 and NE2000
681series of Ethernet controllers. It automatically detects differences
682among the various versions of these controllers and adapts
683appropriately. The @samp{ed1} line shown is for the Novell boards; the
684@samp{ed0} line is appropriate for all other supported controllers.
685(The Novell controllers cannot be configured to use port 0x280.)
686
687@item controller fd0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
688@itemx disk fd0 at fd0 drive 0
689@itemx disk fd1 at fd0 drive 1
690@findex fd
691@cindex Floppy disk
692@cindex Disk drives
693The @samp{fd} driver provides support for the standard PC floppy disk
694controller and drives. There are known to be numerous bugs and
695difficulties in this driver, but there are no alternatives available at
696present. The controller's identification will eventually be changed to
697@samp{fdc0} rather than @samp{fd0}, to not conflict with the name of the
698drives.
699
700@item device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr
701@findex ie
702@cindex AT&T EN100
703@cindex AT&T StarLAN 10
704@cindex Network interfaces
705@cindex Ethernet
706@cindex StarLAN
707This network interface driver provides support for the AT&T StarLAN 10
708and EN100 family of controllers. Note that the configuration specified
709here is not the default configuration, but one which attempts to deal
710with the conflicts that arise in more modern systems. (It is expected
711that this driver will be expanded in the future to support other similar
712cards in the manner of @samp{ed}.)
713
714@item device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr
715@findex is
716@cindex Isolan 4141-0
717@cindex Isolink 4110
718@cindex Ethernet
719@cindex Network interfaces
720The @samp{is} network interface driver supports the Isolan 4141-0 and
721Isolink 4110 Ethernet controllers.
722
723@c @item device ix0 at isa? port 0x320 net irq 10 iomem 0xd0000 iosiz 32768 \
724@c @itemx vector ixintr
725@c @findex ix
726@c @cindex Intel EtherEXPRESS
727@c @cindex Ethernet
728@c @cindex Network interfaces
729@c This device is known to exist, but is not presently in the FreeBSD
730@c source tree. When it is made available, this information will be
731@c updated.
732
733@item device lpa0 at isa? port "IO_LPT1" tty
734@itemx device lpt0 at isa? port "IO_LPT1" tty irq 7 vector lptintr
735@findex lpa
736@findex lpt
737@cindex Parallel printers
738The @samp{lpa} device provides support for the parallel printer driver
739accessed as @file{/dev/lp}. The @samp{lpt} driver provides the same
740functionality, but only works with those printer controllers which
741support interrupt-driven operations. If you receive @samp{ISA strayintr
7427} messages correlated with the use of the @samp{lpa} driver, chances
743are that your controller supports interrupt-driven operation, and you
744should switch to the @samp{lpt} driver.
745
746@item device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
747@findex mcd
748@cindex Mitsumi CD-ROM
749@cindex CD-ROM
750This device provides support for the Mitsumi non-SCSI CD-ROM drive (or
751at least certain versions thereof).
752
753@c mse, anyone?
754
755@item device pc0 at isa? port "IO_KBD" tty irq 1 vector pcrint
756@itemx device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
757@itemx options NCONS=@var{value}
758@itemx options COMCONSOLE
759@findex pc
760@findex sc
761@findex NCONS
762@findex COMCONSOLE
763@cindex Console devices
764@cindex pccons
765@cindex Syscons
766@cindex Virtual consoles
767@cindex X Window System
768The @samp{pc} and @samp{sc} devices provide support for the system
769display and keyboard, which is the default console. There might
770actually be documentation somewhere for both of these. The @samp{sc}
771device requires the @samp{NCONS} option to be defined to some value; it
772represents the number of virtual consoles to be provided by the driver;
773a reasonable value is 8. One of @samp{pc} or @samp{sc} is presently
774required unless @samp{COMSONSOLE} is enabled, in which case a serial
775port is made into the console.
776
777@c sb, anyone?
778
779@item device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
780@itemx device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
781@itemx device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
782@itemx device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
783@findex sio
784@cindex Serial ports
785@cindex National 8250/16450/16550
786@cindex Bi-directional serial ports
787@cindex Multi-port serial boards
788The @samp{sio} driver provides support for high-speed serial
789communications using the standard 8250, 16450, and 16550 UART chips. It
790provides a standard tty interface for these devices as
791@file{/dev/tty@var{unit}}, and, when enabled with the @samp{comcontrol}
792program, a call-out capability as @file{/dev/cua@var{unit}} (@var{unit}
793is two digits, zero-padded in both cases). Certain multi-port systems
794are also supported.
795
796@item device uha0 at isa? port "IO_UHA0" bio irq 14 drq 5 vector uhaintr
797@findex uha
798@cindex Ultrastor 14F
799@cindex SCSI host adaptors
800This device supports the Ultrastor 14F and related SCSI controllers. It
801is included in the @samp{GENERICBT} distribution kernel, and requires
802@samp{scbus} (@pxref{SCSI}) as a prerequisite.
803
804@item controller wd0 at isa? port "IO_WD1" bio irq 14 vector wdintr
805@itemx disk wd0 at wd0 drive 0
806@itemx disk wd1 at wd0 drive 1
807@findex wd
808@cindex Western Digital WD100x
809@cindex ST-506 hard disks
810@cindex RLL hard disks
811@cindex ESDI hard disks
812@cindex IDE hard disks
813@cindex Disk drives
814The @samp{wd} device supports standard ST-506, RLL, ESDI, and IDE hard
815disks, as controlled by the Western Digital WD100x series of controllers
816(and compatible hardware). Otherwise, the comments for @samp{fd} apply
817here as well.
818
819@item device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr
820@findex wt
821@cindex Archive QIC-02
822@cindex Wangtek QIC-02
823@cindex Cartridge tape drives
824@cindex Tape drives
825@cindex Quarter-Inch-Cartridge (QIC) tape drives
826This driver supports Archive QIC-02 and Wangtek QIC-02 and QIC-36
827cartridge tape controllers.
828@end table
829
830@node EISA, MCA, ISA, Devices
831@section EISA-bus Devices and Options
832
833There is presently only one EISA-specific device driver.
834
835@table @code
836@item controller ahb0 at isa? bio irq 11 vector ahbintr
837@findex ahb
838@cindex Adaptec 174x
839@cindex SCSI host adaptors
840The @samp{ahb} driver provides support for the Adaptec AHA-174x series
841of SCSI controllers. This controller is included in the
842@samp{GENERICAH} distribution kernel, and requires the @samp{scbus}
843driver (@pxref{SCSI}) as a prerequisite.
844@end table
845
846@node MCA, PCI, EISA, Devices
847@section Micro Channel Devices and Options
848
849@cindex Micro Channel Architecture
850We don't support Micro Channel right now. Anyone interested in working
851on Micro Channel support should send mail to
852@samp{FreeBSD-Questions@@freefall.cdrom.com} for information on how to
853help.
854
855@node PCI, SCSI, MCA, Devices
856@section PCI Devices and Options
857
858@cindex PCI
859We don't support PCI, either. Anyone interested in working on PCI
860support should send mail to @samp{FreeBSD-Questions@@freefall.cdrom.com}
861for information on how to help.
862
863@node SCSI,, PCI, Devices
864@section The SCSI Subsystem
865
866The SCSI subsystem consists of a set of adaptor-specific driver
867routines, which were described in the previous sections, and the generic
868SCSI device drivers, which handle the standardized interactions with
869devices on the SCSI bus.
870
871Work is underway which will significantly change the way that device
872unit numbers are matched up with SCSI target numbers; stay tuned for
873details.
874
875@c devices: cd, ch, scbus, sd, sg, st
876
877@table @code
878@item device cd0
879@findex cd
880@cindex CD-ROM
881@cindex SCSI devices
882The @samp{cd} device provides support for CD-ROM drives. Only one
883@samp{cd} device need be configured, as the driver automatically
884allocates units for each CD-ROM drive found. Playing of audio CDs is
885also supported, on drives which support it, through @code{ioctl} calls.
886Support for retrieval of CD audio over the SCSI bus is not presently
887available.
888
889@item device ch0
890@findex ch
891@cindex Media changers
892@cindex SCSI devices
893The @samp{ch} driver supports SCSI media changers; this may include
894tape, removable disk, and CD changers. One @samp{ch} device should be
895configured for each changer you expect to support.
896
897@item device scbus0
898@findex scbus
899@cindex SCSI bus management
900This driver forms the core of the SCSI subsystem. It provides the
901device-independent routines that manage SCSI transactions, keep track of
902attached devices, and act as glue between SCSI-device-specific drivers
903and system-specific host adaptors. This device is @emph{mandatory} for
904all SCSI systems.
905
49d50d3a
GW
906@item device sd0
907@findex sd
908@cindex SCSI devices
909@cindex Disk drives
910The @samp{sd} driver provides access to non-removable SCSI disks. One
911@samp{sd} device should be defined for each disk you expect to have
912simultaneously connected to the system.
913
914@item device sg0
915@findex sg
916@cindex SCSI devices
917@cindex Generic SCSI
918@cindex Unsupported SCSI devices
919This driver provides support for development of user-mode drivers and
920other programs which access the SCSI bus directly. One @samp{sg} device
921should be defined for each @emph{host adaptor} you have installed in
922your system.
923
924@item device st0
925@findex st
926@cindex SCSI devices
927@cindex Tape drives
928@cindex Quarter-Inch-Cartridge (QIC) tape drives
929The @samp{st} driver supports generic SCSI tape drives. One @samp{st}
930device should be defined for each tape drive you wish to access. See
931the @samp{st} manual page for information about how to manipulate the
932parameters of this device.
933@end table
934
935@node Internals, Index, Devices, Top
936
937@chapter Internal Use Only
938
939Eventually, this chapter will document some of the kernel manifest
940constants which are not defines, but which can be tweaked in various
941header files.
942
943@node Index,, Internals, Top
944@appendix General Index
945
946Items in @code{typewriter} font are option or device names.
947
948@printindex cp
949
950@bye