Commit | Line | Data |
---|---|---|
81d3597c | 1 | $Id: options.texi,v 1.2 1994/04/03 18:38:48 wollman Exp $ |
00c2ba06 GW |
2 | |
3 | This file documents the configuration options available in the | |
4 | FreeBSD operating system. | |
5 | ||
6 | Copyright (C) 1993, 1994, Garrett A. Wollman. All rights reserved. | |
7 | ||
8 | Redistribution and use in source and printed forms, with or without | |
9 | modification, are permitted provided that the following conditions | |
10 | are met: | |
11 | 1. Redistributions of source code must retain the above copyright | |
12 | notice and this list of conditions. | |
13 | 2. Redistributions in printed form must reproduce the above copyright | |
14 | notice, this list of conditions and the following notice of | |
15 | authorship. | |
16 | ||
17 | Trademarks are property of their respective owners. | |
18 | ||
19 | FreeBSD Configuration Options | |
20 | ***************************** | |
21 | ||
22 | This document describes kernel configuration options relevant to the | |
23 | FreeBSD operating system between versions 1.1 and 1.2. It is intended | |
24 | for readers who already have a general understanding of the process of | |
25 | configuring a BSD kernel and wish to get a general overview of the | |
26 | meaning of various configuration options. This document covers | |
27 | configurable options and pseudo-devices; it is intended that devices may | |
28 | be added at a later date. | |
29 | ||
30 | Options for Subsystems | |
31 | ********************** | |
32 | ||
33 | This chapter discusses options controlling the inclusion of various | |
34 | subsystems in FreeBSD. These include things like filesystems, | |
35 | networking modules, and whatnot. Remember that options containing | |
36 | underscores must be quoted. | |
37 | ||
38 | `pseudo-device bpfilter NUMBER' | |
39 | The `bpfilter' pseudo-device is the Berkeley Packet Filter, | |
40 | developed by Lawrence Berkeley Labs and based on an earlier packet | |
41 | filter from Stanford. See the `bpf' manual page for more details. | |
42 | The NUMBER given is the maximum number of simultaneous users | |
43 | permitted. (NB: in previous version of BPF, the NUMBER had to be | |
44 | greater than the number of interfaces; this space is now | |
45 | dynamically allocated so this requirement is no longer present.) | |
46 | ||
47 | `options CCITT' | |
48 | The `CCITT' option enables support for the ITU-T X.25(1980) | |
49 | network-layer protocol. Nobody we know has a direct X.25 | |
50 | connection to anything, so this code has never been tested. | |
51 | ||
52 | This option will likely be removed in a future release of FreeBSD. | |
53 | ||
54 | `options "COMPAT_42"' | |
55 | This option is used to disable UDP checksumming. Under ordinary | |
56 | circumstances it should never ever ever be defined; however, if | |
57 | you are stuck trying to communicate with an old 4.2BSD machine, or | |
58 | one running something derived from 4.2 like SunOS 3.5 or Ultrix | |
59 | 2.0, this may be necessary in order to successfully receive UDP | |
60 | packets. | |
61 | ||
62 | This option will be replaced by run-time configuration in a future | |
63 | release of FreeBSD. | |
64 | ||
65 | `options "COMPAT_43"' | |
66 | This option controls a whole host of features, mostly relating to | |
67 | system-call compatibilty with 4.3BSD. At the present time, it | |
68 | should not be turned off, as many utilities and library routines | |
69 | still depend on these obsolescent system calls being present. At | |
70 | some future date, this will probably be split up into two separate | |
71 | options, one for binary compatibility and one for the old but | |
72 | useful system calls. | |
73 | ||
74 | `options "COMPAT_102"' | |
75 | This option, which is not yet implemented, will control whether | |
76 | certain entry points which were system calls in FreeBSD 1.0.2 but | |
77 | have been replaced with library routines, are supported in the | |
78 | kernel for backwards compatiblity. | |
79 | ||
80 | `options "DIRECTED_BROADCAST"' | |
81 | If this option is enabled, the kernel will support sending IP | |
82 | broadcast packets to subnets other than the one that the machine | |
83 | is on, and when forwarding will accept such packets. That is to | |
84 | say, if your host lives on subnets `132.198.3' and `132.198.4', | |
85 | and the `132.198.3' side receives a packet addressed to | |
86 | `132.198.4.255', it will forward the packet as a broadcast on that | |
87 | subnet. | |
88 | ||
89 | This option will likely be replaced by run-time configuration in a | |
90 | future release of FreeBSD. | |
91 | ||
92 | `pseudo-device ether' | |
93 | This pseudo-device provides link-layer support for Ethernet device | |
94 | drivers. It is mandatory for all systems which include Ethernet or | |
95 | Ethernet-like devices, such as `ed', `ie', and `is'. This code is | |
96 | due for a redesign. | |
97 | ||
98 | `options EON' | |
99 | `pseudo-device eon' | |
100 | The `eon' network interface supports the ISO 8473 | |
101 | Connectionless-Mode Network Protocol, tunnelled through IP version | |
102 | 4. `eon' interfaces are created automatically once initially | |
103 | configured by adding ISO routes with IP destinations. At present, | |
104 | both the pseudo-device and option declaration are necessary. | |
105 | ||
106 | This option will likely be removed in a future release of FreeBSD. | |
107 | ||
108 | `options FIFO' | |
109 | This option enables support for System V- and POSIX-style named | |
110 | pipes or fifos. | |
111 | ||
112 | `options GATEWAY' | |
113 | `options IPFORWARDING=VALUE' | |
114 | `options IPSENDREDIRECTS=VALUE' | |
115 | These three options control whether FreeBSD's IP forwarding | |
116 | functions are enabled. Technically speaking, because FreeBSD does | |
117 | not meet the standards set out in the "Router Requirements" | |
118 | document (RFC 1009), these should not be enabled, but sometimes it | |
119 | is necessary to enable this function. The `GATEWAY' option turns | |
120 | on `IPFORWARDING', and also controls the sizing of certain system | |
121 | tables. The `IPFORWARDING' option controls the initial value of | |
122 | the `ipforwarding' kernel variable (default 1 if `GATEWAY' | |
123 | defined, 0 otherwise), which controls whether packets are acutally | |
124 | forwarded or not; VALUE should be either `0' or `1'. | |
125 | `IPSENDREDIRECTS' controls the initial value of the | |
126 | `ipsendredirects' variable (default is one, but should be changed | |
127 | to zero); its VALUE should also be either `0' or `1'. | |
128 | ||
129 | This option will be replaced by run-time configuration in a future | |
130 | release of FreeBSD. | |
131 | ||
132 | `options INET' | |
133 | This option controls the inclusion of the Internet protocol suite, | |
134 | including IP version 4, TCP, UDP, and ICMP. Support for IP | |
135 | multicast, IP next generation, and IGMP will be provided at a | |
136 | future date. It is not recommended to even attempt to generate a | |
137 | system with this option turned off, as many parts of the system | |
138 | depend on Internet networking in important and subtle ways. | |
139 | ||
140 | `options ISO' | |
141 | `options TPIP' | |
142 | These options control the inclusion of ISO OSI networking | |
143 | protocols. The TPIP option includes just enough support to run | |
144 | ISO Transport Protocol class 4 over IP, supporing the | |
145 | `SOCK_SEQPACKET' abstraction. The ISO option includes support for | |
146 | CLNP, TP class 0, ISO 9542 ESIS, and IEEE 802.2 logical link | |
147 | control class 0 (for CLNP only). | |
148 | ||
149 | This option will likely be removed in a future release of FreeBSD. | |
150 | ||
151 | `options ISOFS' | |
152 | The `ISOFS' option enables kernel support for the ISO 9660 CD-ROM | |
153 | filesystem, including RockRidge extensions. | |
154 | ||
155 | `options "ISO_X25ESIS"' | |
156 | This option controls whether ISO 9542 ESIS is run over ITU-T X.25 | |
157 | link layers. This requires the `CCITT' option to be enabled as | |
158 | well. | |
159 | ||
160 | This option will likely be removed in a future release of FreeBSD. | |
161 | ||
162 | `options KTRACE' | |
163 | This option enables the tracing of several classes of internal | |
164 | kernel events. See the `ktrace' command for more details. | |
165 | Recommended. | |
166 | ||
167 | `pseudo-device log' | |
168 | The `log' pseudo-device provides kernel support to send kernel | |
169 | messages to `syslog'. It is mandatory. | |
170 | ||
171 | `pseudo-device loop' | |
172 | The `loop' pseudo-device provides the trivial network interface. | |
173 | It is required when any networking options are enabled. | |
174 | ||
175 | `options MACHVMCOMPAT' | |
176 | This option enables a Mach-compatible interface to the virtual | |
177 | memory subsystem, supporting system calls `vm_allocate', | |
178 | `vm_deallocate', `vm_inherit', and `vm_protect'. (Given the | |
179 | nature of the VM system, it is impossible to support a Mach-style | |
180 | `vm_region' call, and in every case the `map' argument is ignored | |
181 | and replaced with the calling process's own map.) | |
182 | ||
183 | `options MFS' | |
184 | This option enables support for the memory filesystem, an in-core | |
185 | filesystem which lives in the swap area. Using MFS as a `/tmp' | |
186 | filesystem can dramatically increase the speed of | |
187 | temporary-space-intensive operations such as compilations. See the | |
188 | `mount_mfs' manual page for more details. | |
189 | ||
190 | `options NFS' | |
191 | The `NFS' option enables support for Sun's Network File System. | |
192 | (Also called "Nightmare" or "Not a"....) This presently includes | |
193 | both client- and server-side kernelized NFS support; it may in the | |
194 | future be broken into separate options. This NFS implmentation | |
195 | comes to BSD courtesy of Rick Macklem of the University of Guelph, | |
196 | and is not derived from Sun licensed source code. As a result, | |
197 | there are sometimes interoperability problems where the published | |
198 | specification is vague, and this option supports several new and | |
199 | useful features compared to Sun's. See the `mount' manual page | |
200 | for more details. | |
201 | ||
202 | `options NS' | |
203 | `options NSIP' | |
204 | `NS' controls the inclusion of support for the Xerox Network | |
205 | Service protocol family. At the present time, it is not known | |
206 | whether this code even works; testers are welcome. The `NSIP' | |
207 | option enables encapsulation of XNS IDP over IP. | |
208 | ||
209 | These options will likely be removed in a future release of | |
210 | FreeBSD. | |
211 | ||
212 | `options "PANIC_REBOOT_WAIT_TIME=TIME"' | |
213 | This option controls how long the system waits after a panic | |
214 | before it reboots. If a TIME of zero is specified, it reboots | |
215 | immediately; otherwise, TIME is the number of seconds to wait | |
216 | before rebooting. If, during the waiting period, a key is hit on | |
217 | the console, the countdown stops and the system will wait for the | |
218 | user to copy down the panic message and hit another key before | |
219 | rebooting. | |
220 | ||
221 | `options PCFS' | |
222 | This option controls support for mounting MS-DOS disks and disk | |
223 | partitions under FreeBSD. The `pcfs' manual page is presently very | |
224 | bogus. | |
225 | ||
226 | `pseudo-device ppp NUMBER' | |
227 | The `ppp' pseudo-device provides support for the Internet | |
228 | Point-to-Point protocol (RFC 1351 et seq), implemented as a line | |
229 | discipline over standard serial links. NUMBER should be the | |
230 | number of simultaneous PPP interfaces which will be configured. | |
231 | ||
232 | `pseudo-device pty NUMBER' | |
233 | This pseudo-device provides support for pseudo-ttys, which are | |
234 | required for `rlogin', `telnet', and `xterm' to operate correctly; | |
235 | NUMBER should be set to the total number of these programs you | |
236 | expect to have running at any given time. Because pty's are not | |
237 | as yet dynamically allocated, and the underlying structures are | |
238 | large, it is best to keep this value as small as feasible, until | |
239 | this deficiency is remedied. | |
240 | ||
241 | `options QUOTA' | |
242 | The `QUOTA' option enables support for disk quotas. Note that NFS | |
243 | quota support is not available. | |
244 | ||
245 | `pseudo-device sl NUMBER' | |
246 | This pseudo-device provides support for the Serial Line Internet | |
247 | Protocol (RFC 1055), implemented as a line discipline over standard | |
248 | serial links. It includes support for Van Jacobson header | |
249 | compression. NUMBER should be the number of simultaneous SLIP | |
250 | interfaces which will be configured. See also the `slattach' | |
251 | manual page. | |
252 | ||
253 | `options SYSVSHM' | |
254 | `options SYSVSEM' | |
255 | `options SYSVMSG' | |
256 | `options SHMMAXPGS=VALUE' | |
257 | The `SYSVSHM' option enables kernel-side emulation of System | |
258 | V-compatible shared memory. The `SHMMAXPGS' option (default 64 | |
259 | pages or 256K) determines the maximum amount of shared memory | |
260 | available under this mechanism. The `SYSVSEM' option provides | |
261 | emulation of System V-compatible semaphores, and likewise | |
262 | `SYSVMSG' for message queues. | |
263 | ||
264 | `options "TCP_COMPAT_42"' | |
265 | This option controls the perpetuation of several bugs inherited | |
266 | from the 4.2BSD implementation of TCP. It should only be defined | |
267 | in the circumstances outlined for `COMPAT_42', above. | |
268 | ||
269 | This option will likely be replaced by run-time configuration in a | |
270 | future release of FreeBSD. | |
271 | ||
272 | `pseudo-device tun' | |
273 | The `tun' driver provides a network interface which is attached to | |
274 | a character device. In this way, a user-mode program can grab | |
275 | packets out of the networking system, fiddle with them or move | |
276 | them around, and pass stuff packets back up into the kernel. It | |
277 | is not known if this device either compiles or operates correctly, | |
278 | although it was believed to do both at some time in the past. | |
279 | ||
280 | `options UCONSOLE' | |
281 | This option allows any old user to grab kernel output away from the | |
282 | console and send it to the tty of their choice. It presents an | |
283 | incredile security hole for some systems, but is necessary in | |
284 | order to allow programs like `xconsole' to operate. | |
285 | ||
286 | `options XSERVER' | |
287 | This obsolescent option enables support in the `pc' console driver | |
288 | for certain operations required by the XFree86 server. | |
289 | ||
290 | Performace and Debugging Options | |
291 | ******************************** | |
292 | ||
293 | The following options are provided for system performace | |
294 | optimization. Note that kernel profiling is supported via the `-p' | |
295 | option to the `config' command; for more information see the `config' | |
296 | manual page. | |
297 | ||
298 | `psuedo-device ddb' | |
299 | This option enables the `ddb' debugger, taken from Mach. See the | |
300 | `ddb' and `dbsym' manual pages for more information on the use of | |
301 | this debugger. | |
302 | ||
303 | `options DIAGNOSTIC' | |
304 | `options NAMEI_DIAGNOSTIC' | |
305 | `options PARANOID' | |
306 | These debugging options reduce performace. They are intended to | |
307 | enable certain internal consistency checks which are not supposed | |
308 | to fail during correct operation, and so are normally disabled for | |
309 | performace reasons. | |
310 | ||
311 | `options FASTLINKS' | |
312 | The `FASTLINKS' option enables the creation of symbolic links whose | |
313 | target names reside entirely within the i-node of the link, when | |
314 | possible. This results in faster access for those links which are | |
315 | short enough (in practice, most of them). All kernels can read | |
316 | such links, but only `FASTLINKS' kernels will create them, for | |
317 | compatibility with older kernels lacking such support. | |
318 | ||
319 | `options ICMPPRINTFS' | |
320 | This option is defined to allow debugging of ICMP ("Internet | |
321 | Control Message Protocol") packets in the kernel. When defined | |
322 | and the `icmpprintfs' kernel variable (default false) is set to | |
323 | true, ICMP packets will be printed out to the console when | |
324 | received. Note that it is probably better to use `tcpdump' for | |
325 | this kind of debugging. | |
326 | ||
327 | `options KGDB' | |
328 | The `KGDB' option enables certain bits of kernel code which will | |
329 | eventually be able to talk to a remote copy of the `gdb' debugger | |
330 | over a serial connection. The present code does not work, but | |
331 | users are invited to hack on it and contribute the changes back to | |
332 | the FreeBSD team. | |
333 | ||
334 | `options MAXMEM=SIZE' | |
335 | The `MAXMEM' option controls how much memory the kernel will | |
336 | recognize on bootup, specified in kilobytes. This may be useful | |
337 | for dealing with certain broken attachment busses (or the adapters | |
338 | thereon) which are unable to deal with memory beyond a certain | |
339 | address. | |
340 | ||
341 | `options SUBNETSARELOCAL' | |
342 | This option controls whether the TCP system believes that machines | |
343 | on other subnets of your network are considered to be "local" to | |
344 | your host. For most systems, this option should be on (the | |
345 | default); if you are directly connected to a class A network, | |
346 | however, then it may need to be turned off. (This is true of | |
347 | networks like the MILNET.) | |
348 | ||
349 | `options "SYMTAB_SPACE=VALUE"' | |
350 | This obsolescent option controls the amount of space that will be | |
351 | statically allocated in the debugger source code to hold the kernel | |
352 | symbol table that `dbsym' sticks there. Eventually this will be | |
353 | dynamically allocated at load time. The default VALUE is 63000 | |
354 | bytes. | |
355 | ||
356 | `options "UPDATE_INTERVAL=VALUE"' | |
357 | This option controls the wait time between successive `sync' | |
358 | operations run by the `update' system process (pid 3). This option | |
359 | will be replaced by run-time configuration in a future release of | |
360 | FreeBSD. | |
361 | ||
362 | Device Options | |
363 | ************** | |
364 | ||
365 | There are different device selections available depending on the | |
366 | type of bus present in your computer. We will cover generic FreeBSD | |
367 | devices, ISA-bus devices, and EISA-bus devices. A separate section | |
368 | describes the devices available in the SCSI subsystem. | |
369 | ||
370 | Generic Devices and Options | |
371 | =========================== | |
372 | ||
373 | The following devices and options are available in all FreeBSD | |
374 | configurations. In addition to these devices, a selection of ISA | |
375 | devices (*note ISA::.) is required in order to generate a workable | |
376 | system. | |
377 | ||
378 | `machine "i386"' | |
379 | This mandatory declaration informs the `config' program that you | |
380 | are using an i386 or compatible CPU, and enables the selection of | |
381 | all the other devices listed here. | |
382 | ||
383 | `cpu "I386_CPU"' | |
384 | `cpu "I486_CPU"' | |
385 | These two options control which specific CPUs will be supported by | |
386 | the generated kernel. If the kernel detects that it is not | |
387 | running on a CPU for which support was enabled, it will panic | |
388 | quickly upon startup. If you do not expect to need to run your | |
389 | kernel on an i386 or similar CPU, leaving out that support can | |
390 | increase virtual memory system performance. | |
391 | ||
392 | `options "MATH_EMULATE"' | |
393 | When this option is defined, the math coprocessor emulator is | |
394 | compiled into the kernel. When it is not defined and the | |
395 | coprocessor is absent, programs which use floating-point | |
396 | operations are automatically killed. | |
397 | ||
398 | `device npx0 at isa? port "IO_NPX" irq 13 vector npxintr' | |
399 | The `npx' device provides support for the i387 numeric coprocessor | |
400 | and the floating-point portions of the i486 CPU. This will | |
401 | eventually be fixed to not require ISA to be configured. | |
402 | ||
403 | `pseudo-device speaker' | |
404 | The `speaker' pseudo-device provides support for rudimentary access | |
405 | to the PC's speaker via `/dev/spkr'. It provides a | |
406 | character-device interface which interprets `PLAY' strings similar | |
407 | to IBM PC Advanced BASIC, as well as an `ioctl' interface with more | |
408 | fine-grained control. See the `spkr' manual page for more | |
409 | information. | |
410 | ||
411 | ISA-bus Devices and Options | |
412 | =========================== | |
413 | ||
414 | The following options are specific to ISA-bus devices and systems. | |
415 | Since the EISA bus is backwards-compatible with the ISA bus, all these | |
416 | options also apply to EISA systems. The same goes for VESA Local Bus | |
417 | (VL-Bus) systems. | |
418 | ||
419 | `controller isa0' | |
420 | This *mandatory* declaration must precede any other devices listed | |
421 | in this section. It provides the basic support for the ISA-bus | |
422 | glue logic, including DMA and autoconfiguration. | |
423 | ||
424 | `controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr' | |
81d3597c | 425 | `options "TUNE_1542"' |
00c2ba06 GW |
426 | The `aha' device supports the Adaptec 154x series of SCSI |
427 | controllers, and attempts to support other vendors' controllers | |
428 | which claim compatibility with the Adaptec 1542, such as the | |
429 | BusLogic 545. This device is included in the `GENERICAH' | |
430 | distribution kernel. The `scbus' device (*note SCSI::.) is a | |
431 | prerequisite for this device. | |
432 | ||
81d3597c GW |
433 | Some older versions of this code would attempt to set the |
434 | controller's bus access speed to the fastest possible without | |
435 | losing data; we have found that this makes the driver unusable for | |
436 | some users. If you wish to enable this optimization, or if you | |
437 | suspect that your SCSI transfers are running slower than they | |
438 | should, then you can use the `TUNE_1542' option to enable | |
439 | bus-timing detection. | |
440 | ||
00c2ba06 GW |
441 | `controller bt0 at isa? port "IO_BT0" bio irq 12 vector btintr' |
442 | This device supports the Bustek 742 SCSI controller. It is | |
443 | included in the `GENERICBT' distribution kernel; the `scbus' device | |
444 | (*note SCSI::.) is a prerequisite. | |
445 | ||
446 | `options COM_BIDIR' | |
447 | This option enables bi-directional support in the `sio' serial | |
448 | driver. This option is slated for removal, at which time | |
449 | bi-directional support will always be enabled. See the | |
450 | `comcontrol' manual page for more information. | |
451 | ||
452 | `options COM_MULTIPORT' | |
453 | This option enables support in the `sio' serial driver for certain | |
454 | multi-port serial boards. | |
455 | ||
456 | `device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr' | |
457 | `device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr' | |
458 | The `ed' network interface driver provides support for the Western | |
459 | Digital/SMC 80x3 series, the 3Com 3c503, and Novell NE1000 and | |
460 | NE2000 series of Ethernet controllers. It automatically detects | |
461 | differences among the various versions of these controllers and | |
462 | adapts appropriately. The `ed1' line shown is for the Novell | |
463 | boards; the `ed0' line is appropriate for all other supported | |
464 | controllers. (The Novell controllers cannot be configured to use | |
465 | port 0x280.) | |
466 | ||
467 | `controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr' | |
468 | `disk fd0 at fdc0 drive 0' | |
469 | `disk fd1 at fdc0 drive 1' | |
470 | `tape ft0 at fdc0 drive 2' | |
471 | The `fdc' driver provides support for the standard PC floppy-disk | |
472 | controller. The `fd' sub-driver supports 3.5- and 5.25-inch | |
473 | floppy disks in the standard 360KB, 720KB, 1200KB, 1440KB, and | |
474 | 2880KB formats, as well as a number of other formats not supported | |
475 | by DOS. The `ft' driver is available for QIC-80 "floppy tape" | |
476 | support. The drivers support formatting of both tapes and disks. | |
477 | This driver is substantially improved from that shipped in | |
478 | previous releases of FreeBSD. | |
479 | ||
480 | `device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr' | |
481 | This network interface driver provides support for the AT&T | |
482 | StarLAN 10 and EN100 family of controllers. Note that the | |
483 | configuration specified here is not the default configuration, but | |
484 | one which attempts to deal with the conflicts that arise in more | |
485 | modern systems. (It is expected that this driver will be expanded | |
486 | in the future to support other similar cards in the manner of | |
487 | `ed'.) | |
488 | ||
489 | `device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr' | |
490 | The `is' network interface driver supports the Isolan 4141-0 and | |
491 | Isolink 4110 Ethernet controllers. | |
492 | ||
493 | `device lpa0 at isa? port "IO_LPT1" tty' | |
494 | `device lpt0 at isa? port "IO_LPT1" tty irq 7 vector lptintr' | |
495 | The `lpa' device provides support for the parallel printer driver | |
496 | accessed as `/dev/lp'. The `lpt' driver provides the same | |
497 | functionality, but only works with those printer controllers which | |
498 | support interrupt-driven operations. If you receive `ISA strayintr | |
499 | 7' messages correlated with the use of the `lpa' driver, chances | |
500 | are that your controller supports interrupt-driven operation, and | |
501 | you should switch to the `lpt' driver. | |
502 | ||
503 | The `lpa' driver is obsolete, and will be removed in release 1.2, | |
504 | to be replaced by special flags to the `lpt' driver. | |
505 | ||
506 | `device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr' | |
507 | This device provides support for the Mitsumi non-SCSI CD-ROM drive. | |
508 | Performance is known to be quite slow. | |
509 | ||
510 | `device pc0 at isa? port "IO_KBD" tty irq 1 vector pcrint' | |
511 | `device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr' | |
512 | `options NCONS=VALUE' | |
513 | `options COMCONSOLE' | |
514 | The `pc' and `sc' devices provide support for the system display | |
515 | and keyboard, which is the default console. There might actually | |
516 | be documentation somewhere for both of these. The `sc' device | |
517 | requires the `NCONS' option to be defined to some value; it | |
518 | represents the number of virtual consoles to be provided by the | |
519 | driver; a reasonable value is 8. One of `pc' or `sc' is presently | |
520 | required unless `COMCONSOLE' is enabled, in which case a serial | |
521 | port is made into the console. | |
522 | ||
523 | `device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr' | |
524 | `device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr' | |
525 | `device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr' | |
526 | `device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr' | |
527 | The `sio' driver provides support for high-speed serial | |
528 | communications using the standard 8250, 16450, and 16550 UART | |
529 | chips. It provides a standard tty interface for these devices as | |
530 | `/dev/ttyUNIT', and, when enabled with the `comcontrol' program, a | |
531 | call-out capability as `/dev/cuaUNIT' (UNIT is two digits, | |
532 | zero-padded in both cases). Certain multi-port systems are also | |
533 | supported. | |
534 | ||
535 | `device uha0 at isa? port "IO_UHA0" bio irq 14 drq 5 vector uhaintr' | |
536 | This device supports the Ultrastor 14F and related SCSI | |
537 | controllers. It is included in the `GENERICBT' distribution | |
538 | kernel, and requires `scbus' (*note SCSI::.) as a prerequisite. | |
539 | The Ultrastor 24F is not supported. | |
540 | ||
541 | `controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr' | |
542 | `disk wd0 at wdc0 drive 0' | |
543 | `disk wd1 at wdc0 drive 1' | |
544 | The `wd' device supports standard ST-506, RLL, ESDI, and IDE hard | |
545 | disks, as controlled by the Western Digital WD100x series of | |
546 | controllers (and compatible hardware). This version is | |
547 | substantially improved from that provided in FreeBSD 1.0. | |
548 | ||
549 | `device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr' | |
550 | This driver supports Archive QIC-02 and Wangtek QIC-02 and QIC-36 | |
551 | cartridge tape controllers. | |
552 | ||
553 | EISA-bus Devices and Options | |
554 | ============================ | |
555 | ||
556 | There is presently only one EISA-specific device driver. | |
557 | ||
558 | `controller ahb0 at isa? bio irq 11 vector ahbintr' | |
559 | The `ahb' driver provides support for the Adaptec AHA-174x series | |
560 | of SCSI controllers. This controller is included in the | |
561 | `GENERICAH' distribution kernel, and requires the `scbus' driver | |
562 | (*note SCSI::.) as a prerequisite. | |
563 | ||
564 | Micro Channel Devices and Options | |
565 | ================================= | |
566 | ||
567 | We don't support Micro Channel right now. Anyone interested in | |
568 | working on Micro Channel support should send mail to | |
569 | `FreeBSD-Questions@freefall.cdrom.com' for information on how to help. | |
570 | ||
571 | PCI Devices and Options | |
572 | ======================= | |
573 | ||
574 | We don't support PCI, either. Anyone interested in working on PCI | |
575 | support should send mail to `FreeBSD-Questions@freefall.cdrom.com' for | |
576 | information on how to help. | |
577 | ||
578 | The SCSI Subsystem | |
579 | ================== | |
580 | ||
581 | The SCSI subsystem consists of a set of adaptor-specific driver | |
582 | routines, which were described in the previous sections, and the generic | |
583 | SCSI device drivers, which handle the standardized interactions with | |
584 | devices on the SCSI bus. | |
585 | ||
586 | `device cd0' | |
587 | The `cd' device provides support for CD-ROM drives. Only one `cd' | |
588 | device need be configured, as the driver automatically allocates | |
589 | units for each CD-ROM drive found. Playing of audio CDs is also | |
590 | supported, on drives which support it, through `ioctl' calls. | |
591 | Support for retrieval of CD audio over the SCSI bus is not | |
592 | presently available. | |
593 | ||
594 | `device ch0' | |
595 | The `ch' driver supports SCSI media changers; this may include | |
596 | tape, removable disk, and CD changers. One `ch' device should be | |
597 | configured for each changer you expect to support. | |
598 | ||
599 | `device scbus0' | |
600 | This driver forms the core of the SCSI subsystem. It provides the | |
601 | device-independent routines that manage SCSI transactions, keep | |
602 | track of attached devices, and act as glue between | |
603 | SCSI-device-specific drivers and system-specific host adaptors. | |
604 | This device is *mandatory* for all SCSI systems. | |
605 | ||
606 | `device sd0' | |
607 | The `sd' driver provides access to non-removable SCSI disks. One | |
608 | `sd' device should be defined for each disk you expect to have | |
609 | simultaneously connected to the system. | |
610 | ||
611 | `device st0' | |
612 | The `st' driver supports generic SCSI tape drives. One `st' | |
613 | device should be defined for each tape drive you wish to access. | |
614 | See the `st' manual page for information about how to manipulate | |
615 | the parameters of this device. | |
616 | ||
617 | `device uk0' | |
618 | The `uk' driver provides an attachment point for all otherwise | |
619 | unrecognized SCSI devices. You can't actually do anything with | |
620 | such a device, except perhaps send it an inquiry command using the | |
621 | `scsi' program (q.v.). | |
622 | ||
623 | Internal Use Only | |
624 | ***************** | |
625 | ||
626 | Eventually, this chapter will document some of the kernel manifest | |
627 | constants which are not defines, but which can be tweaked in various | |
628 | header files. | |
629 |