]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/conf/NOTES
This commit was generated by cvs2svn to compensate for changes in r87866,
[FreeBSD/FreeBSD.git] / sys / conf / NOTES
1 #
2 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3 #
4 # Lines that begin with 'device', 'options', 'machine', 'ident', 'maxusers',
5 # 'makeoptions', 'hints' etc go into the kernel configuration that you
6 # run config(8) with.
7 #
8 # Lines that begin with 'hints.' are NOT for config(8), they go into your
9 # hints file.  See /boot/device.hints and/or the 'hints' config(8) directive.
10 #
11 # Please use ``make LINT'' to create an old-style LINT file if you want to
12 # do kernel test-builds.
13 #
14 # $FreeBSD$
15 #
16
17 #
18 # This directive is mandatory; it defines the architecture to be
19 # configured for; in this case, the 386 family based IBM-PC and
20 # compatibles.
21 #
22 machine         i386
23
24 #
25 # This is the ``identification'' of the kernel.  Usually this should
26 # be the same as the name of your kernel.
27 #
28 ident           LINT
29
30 #
31 # The `maxusers' parameter controls the static sizing of a number of
32 # internal system tables by a formula defined in subr_param.c.  Setting
33 # maxusers to 0 will cause the system to auto-size based on physical 
34 # memory.
35 #
36 maxusers        10
37
38 #
39 # We want LINT to cover profiling as well
40 profile         2
41
42 #
43 # The `makeoptions' parameter allows variables to be passed to the
44 # generated Makefile in the build area.
45 #
46 # CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
47 # after most other flags.  Here we use it to inhibit use of non-optimal
48 # gcc builtin functions (e.g., memcmp).
49 #
50 # DEBUG happens to be magic.
51 # The following is equivalent to 'config -g KERNELNAME' and creates
52 # 'kernel.debug' compiled with -g debugging as well as a normal
53 # 'kernel'.  Use 'make install.debug' to install the debug kernel
54 # but that isn't normally necessary as the debug symbols are not loaded
55 # by the kernel and are not useful there anyway.
56 #
57 # KERNEL can be overridden so that you can change the default name of your
58 # kernel.
59 #
60 # MODULES_OVERRIDE can be used to limit modules built to a specific list.
61 #
62 makeoptions     CONF_CFLAGS=-fno-builtin  #Don't allow use of memcmp, etc.
63 #makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols
64 #makeoptions    KERNEL=foo              #Build kernel "foo" and install "/foo"
65 # Only build Linux API modules and plus those parts of the sound system I need.
66 #makeoptions    MODULES_OVERRIDE="linux sound/snd sound/pcm sound/driver/maestro3"
67
68 #
69 # Certain applications can grow to be larger than the 512M limit
70 # that FreeBSD initially imposes.  Below are some options to
71 # allow that limit to grow to 1GB, and can be increased further
72 # with changing the parameters.  MAXDSIZ is the maximum that the
73 # limit can be set to, and the DFLDSIZ is the default value for
74 # the limit.  MAXSSIZ is the maximum that the stack limit can be
75 # set to.  You might want to set the default lower than the max, 
76 # and explicitly set the maximum with a shell command for processes
77 # that regularly exceed the limit like INND.
78 #
79 options         MAXDSIZ="(1024UL*1024*1024)"
80 options         MAXSSIZ="(128UL*1024*1024)"
81 options         DFLDSIZ="(1024UL*1024*1024)"
82
83 #
84 # BLKDEV_IOSIZE sets the default block size used in user block
85 # device I/O.  Note that this value will be overriden by the label
86 # when specifying a block device from a label with a non-0
87 # partition blocksize.  The default is PAGE_SIZE.
88 #
89 options         BLKDEV_IOSIZE=8192
90
91 # Options for the VM subsystem
92 options         PQ_CACHESIZE=512        # color for 512k/16k cache
93 options         KSTACK_PAGES=3          # number of 4k stack pages per process
94 # Deprecated options supported for backwards compatibility
95 #options        PQ_NOOPT                # No coloring
96 #options        PQ_LARGECACHE           # color for 512k/16k cache
97 #options        PQ_HUGECACHE            # color for 1024k/16k cache
98 #options        PQ_MEDIUMCACHE          # color for 256k/16k cache
99 #options        PQ_NORMALCACHE          # color for 64k/16k cache
100
101 # This allows you to actually store this configuration file into
102 # the kernel binary itself, where it may be later read by saying:
103 #    strings -n 3 /boot/kernel/kernel | sed -n 's/^___//p' > MYKERNEL
104 #
105 options         INCLUDE_CONFIG_FILE     # Include this file in kernel
106
107 #
108 # The root device and filesystem type can be compiled in;
109 # this provides a fallback option if the root device cannot
110 # be correctly guesst by the bootstrap code, or an override if
111 # the RB_DFLTROOT flag (-r) is specified when booting the kernel.
112 #
113 options         ROOTDEVNAME=\"ufs:da0s2e\"
114
115 \f
116 #####################################################################
117 # SMP OPTIONS:
118 #
119 # SMP enables building of a Symmetric MultiProcessor Kernel.
120 # APIC_IO enables the use of the IO APIC for Symmetric I/O.
121 #
122 # Notes:
123 #
124 #  An SMP kernel will ONLY run on an Intel MP spec. qualified motherboard.
125 #
126 #  Be sure to disable 'cpu I386_CPU' && 'cpu I486_CPU' for SMP kernels.
127 #
128 #  Check the 'Rogue SMP hardware' section to see if additional options
129 #   are required by your hardware.
130 #
131
132 # Mandatory:
133 options         SMP                     # Symmetric MultiProcessor Kernel
134 options         APIC_IO                 # Symmetric (APIC) I/O
135
136 #
137 # Rogue SMP hardware:
138 #
139
140 # Bridged PCI cards:
141 #
142 # The MP tables of most of the current generation MP motherboards
143 #  do NOT properly support bridged PCI cards.  To use one of these
144 #  cards you should refer to ???
145
146 # SMP Debugging Options:
147 #
148 # MUTEX_DEBUG enables various extra assertions in the mutex code.
149 # WITNESS enables the mutex witness code which detects deadlocks and cycles
150 #         during locking operations.
151 # WITNESS_DDB causes the witness code to drop into the kernel debugger if
152 #         a lock heirarchy violation occurs or if locks are held when going to
153 #         sleep.
154 # WITNESS_SKIPSPIN disables the witness checks on spin mutexes.
155 options         MUTEX_DEBUG
156 options         WITNESS
157 options         WITNESS_DDB
158 options         WITNESS_SKIPSPIN
159
160 \f
161 #####################################################################
162 # CPU OPTIONS
163
164 #
165 # You must specify at least one CPU (the one you intend to run on);
166 # deleting the specification for CPUs you don't need to use may make
167 # parts of the system run faster.
168 # I386_CPU is mutually exclusive with the other CPU types.
169 #
170 #cpu            I386_CPU                
171 cpu             I486_CPU
172 cpu             I586_CPU                # aka Pentium(tm)
173 cpu             I686_CPU                # aka Pentium Pro(tm)
174
175 #
176 # Options for CPU features.
177 #
178 # CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
179 # BlueLightning CPU.  It works only with Cyrix FPU, and this option
180 # should not be used with Intel FPU.
181 #
182 # CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
183 # CPU if CPU supports it. The default is double-clock mode on
184 # BlueLightning CPU box.
185 #
186 # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
187 #
188 # CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
189 # mapped mode.  Default is 2-way set associative mode.
190 #
191 # CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
192 # of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
193 # Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
194 #
195 # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
196 # reorder).  This option should not be used if you use memory mapped
197 # I/O device(s).
198 #
199 # CPU_ENABLE_SSE enables SSE/MMX2 instructions support.
200 #
201 # CPU_FASTER_5X86_FPU enables faster FPU exception handler.
202 #
203 # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
204 # for i386 machines.
205 #
206 # CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
207 # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
208 # (no clock delay).
209 #
210 # CPU_L2_LATENCY specifed the L2 cache latency value.  This option is used
211 # only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
212 # The default value is 5.
213 #
214 # CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
215 # of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
216 # 1).
217 #
218 # CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
219 # is useful when you use Socket 8 to Socket 370 converter, because most Pentium
220 # Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
221 #
222 # CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
223 #
224 # CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
225 # enters suspend mode following execution of HALT instruction.
226 #
227 # CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
228 #
229 # CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
230 # K5/K6/K6-2 cpus.
231 #
232 # CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
233 # flush at hold state.
234 #
235 # CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
236 # without cache flush at hold state, and (2) write-back CPU cache on
237 # Cyrix 6x86 whose revision < 2.7 (NOTE 2).
238 #
239 # NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
240 # Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
241 # executed.  This option is only needed if I586_CPU is also defined,
242 # and should be included for any non-Pentium CPU that defines it.
243 #
244 # NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
245 # which indicates that the 15-16MB range is *definitely* not being
246 # occupied by an ISA memory hole.
247 #
248 # NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
249 # CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
250 # These options may crash your system.
251 #
252 # NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
253 # in write-through mode when revision < 2.7.  If revision of Cyrix
254 # 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
255 #
256 # NOTE 3: This option may cause failures for software that requires
257 # locked cycles in order to operate correctly.
258 #
259 options         CPU_BLUELIGHTNING_FPU_OP_CACHE
260 options         CPU_BLUELIGHTNING_3X
261 options         CPU_BTB_EN
262 options         CPU_DIRECT_MAPPED_CACHE
263 options         CPU_DISABLE_5X86_LSSER
264 options         CPU_ENABLE_SSE
265 options         CPU_FASTER_5X86_FPU
266 options         CPU_I486_ON_386
267 options         CPU_IORT
268 options         CPU_L2_LATENCY=5
269 options         CPU_LOOP_EN
270 options         CPU_PPRO2CELERON
271 options         CPU_RSTK_EN
272 options         CPU_SUSP_HLT
273 options         CPU_UPGRADE_HW_CACHE
274 options         CPU_WT_ALLOC
275 options         CYRIX_CACHE_WORKS
276 options         CYRIX_CACHE_REALLY_WORKS
277 #options        NO_F00F_HACK
278
279 #
280 # A math emulator is mandatory if you wish to run on hardware which
281 # does not have a floating-point processor.  Pick either the original,
282 # bogus (but freely-distributable) math emulator, or a much more
283 # fully-featured but GPL-licensed emulator taken from Linux.
284 #
285 options         MATH_EMULATE            #Support for x87 emulation
286 # Don't enable both of these in a real config.
287 options         GPL_MATH_EMULATE        #Support for x87 emulation via
288                                         #new math emulator
289
290 \f
291 #####################################################################
292 # COMPATIBILITY OPTIONS                                             
293
294 #
295 # Implement system calls compatible with 4.3BSD and older versions of
296 # FreeBSD.  You probably do NOT want to remove this as much current code
297 # still relies on the 4.3 emulation.
298 #
299 options         COMPAT_43
300
301 #
302 # These three options provide support for System V Interface
303 # Definition-style interprocess communication, in the form of shared
304 # memory, semaphores, and message queues, respectively.
305 #
306 options         SYSVSHM
307 options         SYSVSEM
308 options         SYSVMSG
309
310 \f
311 #####################################################################
312 # DEBUGGING OPTIONS
313
314 #
315 # Enable the kernel debugger.
316 #
317 options         DDB
318
319 #
320 # Don't drop into DDB for a panic. Intended for unattended operation
321 # where you may want to drop to DDB from the console, but still want
322 # the machine to recover from a panic
323 #
324 options         DDB_UNATTENDED
325
326 #
327 # If using GDB remote mode to debug the kernel, there's a non-standard
328 # extension to the remote protocol that can be used to use the serial
329 # port as both the debugging port and the system console.  It's non-
330 # standard and you're on your own if you enable it.  See also the
331 # "remotechat" variables in the FreeBSD specific version of gdb.
332 #
333 options         GDB_REMOTE_CHAT
334
335 #
336 # KTRACE enables the system-call tracing facility ktrace(2).
337 #
338 options         KTRACE                  #kernel tracing
339
340 #
341 # KTR is a kernel tracing mechanism imported from BSD/OS.  Currently it
342 # has no userland interface aside from a few sysctl's.  It is enabled with
343 # the KTR option.  The KTR_EXTEND option causes trace events to be generated
344 # as a string from snprintf rather than as a string and up to 5 argument
345 # pointers.  KTR_ENTRIES defines the number of entries in the circular trace
346 # buffer.  KTR_COMPILE defines the mask of events to compile into the kernel
347 # as defined by the KTR_* constants in <sys/ktr.h>.  KTR_MASK defines the
348 # initial value of the ktr_mask variable which determines at runtime what
349 # events to trace.  KTR_CPUMASK determines which CPU's log events, with
350 # bit X corresponding to cpu X.  KTR_VERBOSE enables dumping of KTR events
351 # to the console by default.  This functionality can be toggled via the
352 # debug.ktr_verbose sysctl and defaults to off if KTR_VERBOSE is not defined.
353 #
354 options         KTR
355 options         KTR_EXTEND
356 options         KTR_ENTRIES=1024
357 options         KTR_COMPILE="(KTR_INTR|KTR_PROC)"
358 options         KTR_MASK=KTR_INTR
359 options         KTR_CPUMASK=0x3
360 options         KTR_VERBOSE
361
362 #
363 # The INVARIANTS option is used in a number of source files to enable
364 # extra sanity checking of internal structures.  This support is not
365 # enabled by default because of the extra time it would take to check
366 # for these conditions, which can only occur as a result of
367 # programming errors.
368 #
369 options         INVARIANTS
370
371 #
372 # The INVARIANT_SUPPORT option makes us compile in support for
373 # verifying some of the internal structures.  It is a prerequisite for
374 # 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
375 # called.  The intent is that you can set 'INVARIANTS' for single
376 # source files (by changing the source file or specifying it on the
377 # command line) if you have 'INVARIANT_SUPPORT' enabled.  Also, if you
378 # wish to build a kernel module with 'INVARIANTS', then adding
379 # 'INVARIANT_SUPPORT' to your kernel will provide all the necessary
380 # infrastructure without the added overhead.
381 #
382 options         INVARIANT_SUPPORT
383
384 #
385 # The DIAGNOSTIC option is used to enable extra debugging information
386 # from some parts of the kernel.  As this makes everything more noisy,
387 # it is disabled by default.
388 #
389 options         DIAGNOSTIC
390
391 #
392 # REGRESSION causes optional kernel interfaces necessary only for regression
393 # testing to be enabled.  These interfaces may consitute security risks
394 # when enabled, as they permit processes to easily modify aspects of the
395 # run-time environment to reproduce unlikely or unusual (possibly normally
396 # impossible) scenarios.
397 #
398 options         REGRESSION
399
400 #
401 # RESTARTABLE_PANICS allows one to continue from a panic as if it were
402 # a call to the debugger via the Debugger() function instead.  It is only
403 # useful if a kernel debugger is present.  To restart from a panic, reset
404 # the panicstr variable to NULL and continue execution.  This option is
405 # for development use only and should NOT be used in production systems
406 # to "workaround" a panic.
407 #
408 #options        RESTARTABLE_PANICS
409
410 #
411 # PERFMON causes the driver for Pentium/Pentium Pro performance counters
412 # to be compiled.  See perfmon(4) for more information.
413 #
414 options         PERFMON
415
416
417 #
418 # This option let some drivers co-exist that can't co-exist in a running
419 # system.  This is used to be able to compile all kernel code in one go for
420 # quality assurance purposes (like this file, which the option takes it name
421 # from.)
422 #
423 options         COMPILING_LINT
424
425
426 # XXX - this doesn't belong here.
427 # Allow ordinary users to take the console - this is useful for X.
428 options         UCONSOLE
429
430 # XXX - this doesn't belong here either
431 #options        USERCONFIG              #boot -c editor
432 #options        INTRO_USERCONFIG        #imply -c and show intro screen
433 #options        VISUAL_USERCONFIG       #visual boot -c editor
434 \f
435 #####################################################################
436 # NETWORKING OPTIONS
437
438 #
439 # Protocol families:
440 #  Only the INET (Internet) family is officially supported in FreeBSD.
441 #  Source code for the NS (Xerox Network Service) is provided for amusement
442 #  value.
443 #
444 options         INET                    #Internet communications protocols
445 options         INET6                   #IPv6 communications protocols
446 options         IPSEC                   #IP security
447 options         IPSEC_ESP               #IP security (crypto; define w/ IPSEC)
448 options         IPSEC_DEBUG             #debug for IP security
449
450 options         IPX                     #IPX/SPX communications protocols
451 options         IPXIP                   #IPX in IP encapsulation (not available)
452 options         IPTUNNEL                #IP in IPX encapsulation (not available)
453
454 #options        NCP                     #NetWare Core protocol
455
456 options         NETATALK                #Appletalk communications protocols
457 options         NETATALKDEBUG           #Appletalk debugging
458
459 # These are currently broken but are shipped due to interest.
460 #options        NS                      #Xerox NS protocols
461 #options        NSIP                    #XNS over IP
462
463 # mchain library. It can be either loaded as KLD or compiled into kernel
464 options         LIBMCHAIN
465
466 # netgraph(4). Enable the base netgraph code with the NETGRAPH option.
467 # Individual node types can be enabled with the corresponding option
468 # listed below; however, this is not strictly necessary as netgraph
469 # will automatically load the corresponding KLD module if the node type
470 # is not already compiled into the kernel. Each type below has a
471 # corresponding man page, e.g., ng_async(8).
472 options         NETGRAPH                #netgraph(4) system
473 options         NETGRAPH_ASYNC
474 options         NETGRAPH_BPF
475 options         NETGRAPH_CISCO
476 options         NETGRAPH_ECHO
477 options         NETGRAPH_ETHER
478 options         NETGRAPH_FRAME_RELAY
479 options         NETGRAPH_GIF
480 options         NETGRAPH_GIF_DEMUX
481 options         NETGRAPH_HOLE
482 options         NETGRAPH_IFACE
483 options         NETGRAPH_IP_INPUT
484 options         NETGRAPH_KSOCKET
485 options         NETGRAPH_LMI
486 # MPPC compression requires proprietary files (not included)
487 #options        NETGRAPH_MPPC_COMPRESSION
488 options         NETGRAPH_MPPC_ENCRYPTION
489 options         NETGRAPH_ONE2MANY
490 options         NETGRAPH_PPP
491 options         NETGRAPH_PPPOE
492 options         NETGRAPH_PPTPGRE
493 options         NETGRAPH_RFC1490
494 options         NETGRAPH_SOCKET
495 options         NETGRAPH_SPLIT
496 options         NETGRAPH_TEE
497 options         NETGRAPH_TTY
498 options         NETGRAPH_UI
499 options         NETGRAPH_VJC
500
501 device          mn      # Munich32x/Falc54 Nx64kbit/sec cards.
502 device          lmc     # tulip based LanMedia WAN cards
503 device          musycc  # LMC/SBE LMC1504 quad T1/E1
504
505 #
506 # Network interfaces:
507 #  The `loop' device is MANDATORY when networking is enabled.
508 #  The `ether' device provides generic code to handle
509 #  Ethernets; it is MANDATORY when a Ethernet device driver is
510 #  configured or token-ring is enabled.
511 #  The `fddi' device provides generic code to support FDDI.
512 #  The `sppp' device serves a similar role for certain types
513 #  of synchronous PPP links (like `cx', `ar').
514 #  The `sl' device implements the Serial Line IP (SLIP) service.
515 #  The `ppp' device implements the Point-to-Point Protocol.
516 #  The `bpf' device enables the Berkeley Packet Filter.  Be
517 #  aware of the legal and administrative consequences of enabling this
518 #  option.  The number of devices determines the maximum number of
519 #  simultaneous BPF clients programs runnable.
520 #  The `disc' device implements a minimal network interface,
521 #  which throws away all packets sent and never receives any.  It is
522 #  included for testing purposes.  This shows up as the `ds' interface.
523 #  The `tap' device is a pty-like virtual Ethernet interface
524 #  The `tun' device implements (user-)ppp and nos-tun
525 #  The `gif' device implements IPv6 over IP4 tunneling,
526 #  IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
527 #  IPv6 over IPv6 tunneling.
528 #  The XBONEHACK option allows the same pair of addresses to be configured on
529 #  multiple gif interfaces.
530 #  The `faith' device captures packets sent to it and diverts them
531 #  to the IPv4/IPv6 translation daemon.
532 #  The `stf' device implements 6to4 encapsulation.
533 #  The `ef' device provides support for multiple ethernet frame types
534 #  specified via ETHER_* options. See ef(4) for details.
535 #
536 # The PPP_BSDCOMP option enables support for compress(1) style entire
537 # packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
538 # PPP_FILTER enables code for filtering the ppp data stream and selecting
539 # events for resetting the demand dial activity timer - requires bpf.
540 # See pppd(8) for more details.
541 #
542 device          ether                   #Generic Ethernet
543 device          vlan                    #VLAN support
544 device          token                   #Generic TokenRing
545 device          fddi                    #Generic FDDI
546 device          sppp                    #Generic Synchronous PPP
547 device          loop    1               #Network loopback device
548 device          bpf                     #Berkeley packet filter
549 device          disc                    #Discard device (ds0, ds1, etc)
550 device          tap                     #Virtual Ethernet driver
551 device          tun                     #Tunnel driver (ppp(8), nos-tun(8))
552 device          sl                      #Serial Line IP
553 device          ppp     2               #Point-to-point protocol
554 options         PPP_BSDCOMP             #PPP BSD-compress support
555 options         PPP_DEFLATE             #PPP zlib/deflate/gzip support
556 options         PPP_FILTER              #enable bpf filtering (needs bpf)
557
558 device          ef                      # Multiple ethernet frames support
559 options         ETHER_II                # enable Ethernet_II frame
560 options         ETHER_8023              # enable Ethernet_802.3 (Novell) frame
561 options         ETHER_8022              # enable Ethernet_802.2 frame
562 options         ETHER_SNAP              # enable Ethernet_802.2/SNAP frame
563
564 # for IPv6
565 device          gif                     #IPv6 and IPv4 tunneling
566 options         XBONEHACK
567 device          faith                   #for IPv6 and IPv4 translation
568 device          stf                     #6to4 IPv6 over IPv4 encapsulation
569
570 #
571 # Internet family options:
572 #
573 # MROUTING enables the kernel multicast packet forwarder, which works
574 # with mrouted(8).
575 #
576 # IPFIREWALL enables support for IP firewall construction, in
577 # conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
578 # logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
579 # limits the number of times a matching entry can be logged.
580 #
581 # WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
582 # and if you do not add other rules during startup to allow access,
583 # YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall_type=open
584 # in /etc/rc.conf when first enabling this feature, then refining the
585 # firewall rules in /etc/rc.firewall after you've tested that the new kernel
586 # feature works properly.
587 #
588 # IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
589 # allow everything.  Use with care, if a cracker can crash your
590 # firewall machine, they can get to your protected machines.  However,
591 # if you are using it as an as-needed filter for specific problems as
592 # they arise, then this may be for you.  Changing the default to 'allow'
593 # means that you won't get stuck if the kernel and /sbin/ipfw binary get
594 # out of sync.
595 #
596 # IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
597 #
598 # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
599 # packets without touching the ttl).  This can be useful to hide firewalls
600 # from traceroute and similar tools.
601 #
602 # TCPDEBUG enables code which keeps traces of the TCP state machine
603 # for sockets with the SO_DEBUG option set, which can then be examined
604 # using the trpt(8) utility.
605 #
606 options         MROUTING                # Multicast routing
607 options         IPFIREWALL              #firewall
608 options         IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
609 options         IPFIREWALL_FORWARD      #enable transparent proxy support
610 options         IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
611 options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
612 options         IPV6FIREWALL            #firewall for IPv6
613 options         IPV6FIREWALL_VERBOSE
614 options         IPV6FIREWALL_VERBOSE_LIMIT=100
615 options         IPV6FIREWALL_DEFAULT_TO_ACCEPT
616 options         IPDIVERT                #divert sockets
617 options         IPFILTER                #ipfilter support
618 options         IPFILTER_LOG            #ipfilter logging
619 options         IPFILTER_DEFAULT_BLOCK  #block all packets by default
620 options         IPSTEALTH               #support for stealth forwarding
621 options         TCPDEBUG
622
623 # RANDOM_IP_ID causes the ID field in IP packets to be randomized
624 # instead of incremented by 1 with each packet generated.  This
625 # option closes a minor information leak which allows remote
626 # observers to determine the rate of packet generation on the
627 # machine by watching the counter.
628 options         RANDOM_IP_ID
629
630 # Statically Link in accept filters
631 options         ACCEPT_FILTER_DATA
632 options         ACCEPT_FILTER_HTTP
633
634 # TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
635 # prevents nmap et al. from identifying the TCP/IP stack, but breaks support
636 # for RFC1644 extensions and is not recommended for web servers.
637 #
638 options         TCP_DROP_SYNFIN         #drop TCP packets with SYN+FIN
639
640 # DUMMYNET enables the "dummynet" bandwidth limiter. You need
641 # IPFIREWALL as well. See the dummynet(4) manpage for more info.
642 # BRIDGE enables bridging between ethernet cards -- see bridge(4).
643 # You can use IPFIREWALL and dummynet together with bridging.
644 options         DUMMYNET
645 options         BRIDGE
646
647 #
648 # ATM (HARP version) options
649 #
650 # ATM_CORE includes the base ATM functionality code.  This must be included
651 #       for ATM support.
652 #
653 # ATM_IP includes support for running IP over ATM.
654 #
655 # At least one (and usually only one) of the following signalling managers
656 # must be included (note that all signalling managers include PVC support):
657 # ATM_SIGPVC includes support for the PVC-only signalling manager `sigpvc'.
658 # ATM_SPANS includes support for the `spans' signalling manager, which runs
659 #       the FORE Systems's proprietary SPANS signalling protocol.
660 # ATM_UNI includes support for the `uni30' and `uni31' signalling managers,
661 #       which run the ATM Forum UNI 3.x signalling protocols.
662 #
663 # The `hea' driver provides support for the Efficient Networks, Inc.
664 # ENI-155p ATM PCI Adapter.
665 #
666 # The `hfa' driver provides support for the FORE Systems, Inc.
667 # PCA-200E ATM PCI Adapter.
668 #
669 options         ATM_CORE                #core ATM protocol family
670 options         ATM_IP                  #IP over ATM support
671 options         ATM_SIGPVC              #SIGPVC signalling manager
672 options         ATM_SPANS               #SPANS signalling manager
673 options         ATM_UNI                 #UNI signalling manager
674 device          hea                     #Efficient ENI-155p ATM PCI
675 device          hfa                     #FORE PCA-200E ATM PCI
676
677 \f
678 #####################################################################
679 # FILESYSTEM OPTIONS
680
681 #
682 # Only the root, /usr, and /tmp filesystems need be statically
683 # compiled; everything else will be automatically loaded at mount
684 # time.  (Exception: the UFS family--- FFS --- cannot
685 # currently be demand-loaded.)  Some people still prefer to statically
686 # compile other filesystems as well.
687 #
688 # NB: The NULL, PORTAL, UMAP and UNION filesystems are known to be
689 # buggy, and WILL panic your system if you attempt to do anything with
690 # them.  They are included here as an incentive for some enterprising
691 # soul to sit down and fix them.
692 #
693
694 # One of these is mandatory:
695 options         FFS                     #Fast filesystem
696 options         NFSCLIENT               #Network File System
697 options         NFSSERVER               #Network File System
698
699 # The rest are optional:
700 options         CD9660                  #ISO 9660 filesystem
701 options         FDESCFS                 #File descriptor filesystem
702 options         HPFS                    #OS/2 File system
703 options         MSDOSFS                 #MS DOS File System (FAT, FAT32)
704 options         NTFS                    #NT File System
705 options         NULLFS                  #NULL filesystem
706 #options        NWFS                    #NetWare filesystem
707 options         PORTALFS                #Portal filesystem
708 options         PROCFS                  #Process filesystem (requires PSEUDOFS)
709 options         PSEUDOFS                #Pseudo-filesystem framework
710 options         UMAPFS                  #UID map filesystem
711 options         UNIONFS                 #Union filesystem
712 # options       NODEVFS                 #disable devices filesystem
713 # The xFS_ROOT options REQUIRE the associated ``options xFS''
714 options         NFS_ROOT                #NFS usable as root device
715 # This code enables IFS, an FFS which exports inodes as the namespace.
716 # You can find details in src/sys/ufs/ifs/README .
717 options         IFS
718
719 # Soft updates is a technique for improving file system speed and
720 # making abrupt shutdown less risky.
721 #
722 options         SOFTUPDATES
723
724 # Extended attributes allow additional data to be associated with files,
725 # and is used for ACLs, Capabilities, and MAC labels.
726 # See src/sys/ufs/ufs/README.extattr for more information.
727 options         UFS_EXTATTR
728 options         UFS_EXTATTR_AUTOSTART
729
730 # Access Control List support for UFS filesystems.  The current ACL
731 # implementation requires extended attribute support, UFS_EXTATTR,
732 # for the underlying filesystem.
733 # See src/sys/ufs/ufs/README.acls for more information.
734 options         UFS_ACL
735
736 # Directory hashing improves the speed of operations on very large
737 # directories at the expense of some memory.
738 options         UFS_DIRHASH
739
740 # Make space in the kernel for a root filesystem on a md device.
741 # Define to the number of kilobytes to reserve for the filesystem.
742 options         MD_ROOT_SIZE=10
743
744 # Make the md device a potential root device, either with preloaded
745 # images of type mfs_root or md_root.
746 options         MD_ROOT
747
748 # Allow this many swap-devices.
749 #
750 # In order to manage swap, the system must reserve bitmap space that
751 # scales with the largest mounted swap device multiplied by NSWAPDEV, 
752 # irregardless of whether other swap devices exist or not.  So it
753 # is not a good idea to make this value too large.
754 options         NSWAPDEV=5
755
756 # Disk quotas are supported when this option is enabled.
757 options         QUOTA                   #enable disk quotas
758
759 # If you are running a machine just as a fileserver for PC and MAC
760 # users, using SAMBA or Netatalk, you may consider setting this option
761 # and keeping all those users' directories on a filesystem that is
762 # mounted with the suiddir option. This gives new files the same
763 # ownership as the directory (similar to group). It's a security hole
764 # if you let these users run programs, so confine it to file-servers
765 # (but it'll save you lots of headaches in those cases). Root owned
766 # directories are exempt and X bits are cleared. The suid bit must be
767 # set on the directory as well; see chmod(1) PC owners can't see/set
768 # ownerships so they keep getting their toes trodden on. This saves
769 # you all the support calls as the filesystem it's used on will act as
770 # they expect: "It's my dir so it must be my file".
771 #
772 options         SUIDDIR
773
774 # NFS options:
775 options         NFS_MINATTRTIMO=3       # VREG attrib cache timeout in sec
776 options         NFS_MAXATTRTIMO=60
777 options         NFS_MINDIRATTRTIMO=30   # VDIR attrib cache timeout in sec
778 options         NFS_MAXDIRATTRTIMO=60
779 options         NFS_GATHERDELAY=10      # Default write gather delay (msec)
780 options         NFS_UIDHASHSIZ=29       # Tune the size of nfssvc_sock with this
781 options         NFS_WDELAYHASHSIZ=16    # and with this
782 options         NFS_MUIDHASHSIZ=63      # Tune the size of nfsmount with this
783 options         NFS_DEBUG               # Enable NFS Debugging
784
785 # Coda stuff:
786 options         CODA                    #CODA filesystem.
787 device          vcoda   4               #coda minicache <-> venus comm.
788
789 #
790 # Add support for the EXT2FS filesystem of Linux fame.  Be a bit
791 # careful with this - the ext2fs code has a tendency to lag behind
792 # changes and not be exercised very much, so mounting read/write could
793 # be dangerous (and even mounting read only could result in panics.)
794 #
795 options         EXT2FS
796
797 # Use real implementations of the aio_* system calls.  There are numerous
798 # stability issues in the current aio code that make it unsuitable for
799 # inclusion on shell boxes.
800 options         VFS_AIO
801
802 # Enable the code UFS IO optimization through the VM system.  This allows
803 # use VM operations instead of copying operations when possible.
804
805 # Even with this enabled, actual use of the code is still controlled by the
806 # sysctl vfs.ioopt.  0 gives no optimization, 1 gives normal (use VM
807 # operations if a request happens to fit), 2 gives agressive optimization
808 # (the operations are split to do as much as possible through the VM system.)
809 #
810 # Enabling this will probably not give an overall speedup except for
811 # special workloads.
812 options         ENABLE_VFS_IOOPT
813
814 # Cryptographically secure random number generator; /dev/[u]random
815 device          random
816
817 \f
818 #####################################################################
819 # POSIX P1003.1B
820
821 # Real time extensions added in the 1993 Posix
822 # P1003_1B: Infrastructure
823 # _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
824 # _KPOSIX_VERSION:             Version kernel is built for
825
826 options         P1003_1B
827 options         _KPOSIX_PRIORITY_SCHEDULING
828 options         _KPOSIX_VERSION=199309L
829
830 \f
831 #####################################################################
832 # CLOCK OPTIONS
833
834 # The granularity of operation is controlled by the kernel option HZ whose
835 # default value (100) means a granularity of 10ms.  For an accurate simulation
836 # of high data rates it might be necessary to reduce the timer granularity to
837 # 1ms or less.  Consider, however, that some interfaces using programmed I/O
838 # may require a considerable time to output packets.  So, reducing the
839 # granularity too much might actually cause ticks to be missed thus reducing
840 # the accuracy of operation.
841
842 options         HZ=100
843
844 # Other clock options
845
846 options         CLK_CALIBRATION_LOOP
847 options         CLK_USE_I8254_CALIBRATION
848 options         CLK_USE_TSC_CALIBRATION
849
850 \f
851 #####################################################################
852 # SCSI DEVICES
853
854 # SCSI DEVICE CONFIGURATION
855
856 # The SCSI subsystem consists of the `base' SCSI code, a number of
857 # high-level SCSI device `type' drivers, and the low-level host-adapter
858 # device drivers.  The host adapters are listed in the ISA and PCI
859 # device configuration sections below.
860 #
861 # Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so
862 # that a given bus, target, and LUN always come on line as the same
863 # device unit.  In earlier versions the unit numbers were assigned
864 # in the order that the devices were probed on the SCSI bus.  This
865 # means that if you removed a disk drive, you may have had to rewrite
866 # your /etc/fstab file, and also that you had to be careful when adding
867 # a new disk as it may have been probed earlier and moved your device
868 # configuration around.
869
870 # This old behavior is maintained as the default behavior.  The unit
871 # assignment begins with the first non-wired down unit for a device
872 # type.  For example, if you wire a disk as "da3" then the first
873 # non-wired disk will be assigned da4.
874
875 # The syntax for wiring down devices is:
876
877 hint.scbus.0.at="ahc0"
878 hint.scbus.1.at="ahc1"
879 hint.scbus.1.bus="0"
880 hint.scbus.3.at="ahc2"
881 hint.scbus.3.bus="0"
882 hint.scbus.2.at="ahc2"
883 hint.scbus.2.bus="1"
884 hint.da.0.at="scbus0"
885 hint.da.0.target="0"
886 hint.da.0.unit="0"
887 hint.da.1.at="scbus3"
888 hint.da.1.target="1"
889 hint.da.2.at="scbus2"
890 hint.da.2.target="3"
891 hint.sa.1.at="scbus1"
892 hint.sa.1.target="6"
893
894 # "units" (SCSI logical unit number) that are not specified are
895 # treated as if specified as LUN 0.
896
897 # All SCSI devices allocate as many units as are required.
898
899 # The ch driver drives SCSI Media Changer ("jukebox") devices.
900 #
901 # The da driver drives SCSI Direct Access ("disk") and Optical Media
902 # ("WORM") devices.
903 #
904 # The sa driver drives SCSI Sequential Access ("tape") devices.
905 #
906 # The cd driver drives SCSI Read Only Direct Access ("cd") devices.
907 #
908 # The ses driver drives SCSI Envinronment Services ("ses") and
909 # SAF-TE ("SCSI Accessable Fault-Tolerant Enclosure") devices.
910 #
911 # The pt driver drives SCSI Processor devices.
912 #
913
914 # Target Mode support is provided here but also requires that a SIM
915 # (SCSI Host Adapter Driver) provide support as well.
916 #
917 # The targ driver provides target mode support as a Processor type device.
918 # It exists to give the minimal context necessary to respond to Inquiry
919 # commands. There is a sample user application that shows how the rest
920 # of the command support might be done in /usr/share/examples/scsi_target.
921 #
922 # The targbh driver provides target mode support and exists to respond
923 # to incoming commands that do not otherwise have a logical unit assigned
924 # to them.
925
926 # The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI
927 # configuration as the "pass" driver.
928
929 device          scbus           #base SCSI code
930 device          ch              #SCSI media changers
931 device          da              #SCSI direct access devices (aka disks)
932 device          sa              #SCSI tapes
933 device          cd              #SCSI CD-ROMs
934 device          ses             #SCSI Environmental Services (and SAF-TE)
935 device          pt              #SCSI processor 
936 device          targ            #SCSI Target Mode Code
937 device          targbh          #SCSI Target Mode Blackhole Device
938 device          pass            #CAM passthrough driver
939
940 # CAM OPTIONS:
941 # debugging options:
942 # -- NOTE --  If you specify one of the bus/target/lun options, you must
943 #             specify them all!
944 # CAMDEBUG: When defined enables debugging macros
945 # CAM_DEBUG_BUS:  Debug the given bus.  Use -1 to debug all busses.
946 # CAM_DEBUG_TARGET:  Debug the given target.  Use -1 to debug all targets.
947 # CAM_DEBUG_LUN:  Debug the given lun.  Use -1 to debug all luns.
948 # CAM_DEBUG_FLAGS:  OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE,
949 #                   CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB
950 #
951 # CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds
952 # CAM_NEW_TRAN_CODE: this is the new transport layer code that will be switched
953 #                       to soon
954 # SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions
955 # SCSI_NO_OP_STRINGS: When defined disables opcode descriptions
956 # SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter)
957 #             queue after a bus reset, and the number of milliseconds to
958 #             freeze the device queue after a bus device reset.
959 options         CAMDEBUG
960 options         CAM_DEBUG_BUS=-1
961 options         CAM_DEBUG_TARGET=-1
962 options         CAM_DEBUG_LUN=-1
963 options         CAM_DEBUG_FLAGS="CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB"
964 options         CAM_MAX_HIGHPOWER=4
965 options         SCSI_NO_SENSE_STRINGS
966 options         SCSI_NO_OP_STRINGS
967 options         SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device
968
969 # Options for the CAM CDROM driver:
970 # CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN
971 # CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only
972 #                           enforced if there is I/O waiting for another LUN
973 # The compiled in defaults for these variables are 2 and 10 seconds,
974 # respectively.
975 #
976 # These can also be changed on the fly with the following sysctl variables:
977 # kern.cam.cd.changer.min_busy_seconds
978 # kern.cam.cd.changer.max_busy_seconds
979 #
980 options         CHANGER_MIN_BUSY_SECONDS=2
981 options         CHANGER_MAX_BUSY_SECONDS=10
982
983 # Options for the CAM sequential access driver:
984 # SA_IO_TIMEOUT: Timeout for read/write/wfm  operations, in minutes
985 # SA_SPACE_TIMEOUT: Timeout for space operations, in minutes
986 # SA_REWIND_TIMEOUT: Timeout for rewind operations, in minutes
987 # SA_ERASE_TIMEOUT: Timeout for erase operations, in minutes
988 # SA_1FM_AT_EOD: Default to model which only has a default one filemark at EOT.
989 options         SA_IO_TIMEOUT="(4)"
990 options         SA_SPACE_TIMEOUT="(60)"
991 options         SA_REWIND_TIMEOUT="(2*60)"
992 options         SA_ERASE_TIMEOUT="(4*60)"
993 options         SA_1FM_AT_EOD
994
995 # Optional timeout for the CAM processor target (pt) device
996 # This is specified in seconds.  The default is 60 seconds.
997 options         SCSI_PT_DEFAULT_TIMEOUT="60"
998
999 # Optional enable of doing SES passthrough on other devices (e.g., disks)
1000 #
1001 # Normally disabled because a lot of newer SCSI disks report themselves
1002 # as having SES capabilities, but this can then clot up attempts to build
1003 # build a topology with the SES device that's on the box these drives
1004 # are in....
1005 options         SES_ENABLE_PASSTHROUGH
1006
1007 \f
1008 #####################################################################
1009 # MISCELLANEOUS DEVICES AND OPTIONS
1010
1011 # The `pty' device usually turns out to be ``effectively mandatory'',
1012 # as it is required for `telnetd', `rlogind', `screen', `emacs', and
1013 # `xterm', among others.
1014
1015 device          pty             #Pseudo ttys
1016 device          speaker         #Play IBM BASIC-style noises out your speaker
1017 device          gzip            #Exec gzipped a.out's
1018 device          md              #Memory/malloc disk
1019 device          snp             #Snoop device - to look at pty/vty/etc..
1020 device          ccd             #Concatenated disk driver
1021
1022 # Configuring Vinum into the kernel is not necessary, since the kld
1023 # module gets started automatically when vinum(8) starts.  This
1024 # device is also untested.  Use at your own risk.
1025 #
1026 # The option VINUMDEBUG must match the value set in CFLAGS
1027 # in src/sbin/vinum/Makefile.  Failure to do so will result in
1028 # the following message from vinum(8):
1029 #
1030 # Can't get vinum config: Invalid argument
1031 #
1032 # see vinum(4) for more reasons not to use these options.
1033 device          vinum           #Vinum concat/mirror/raid driver
1034 options         VINUMDEBUG      #enable Vinum debugging hooks
1035
1036 # Kernel side iconv library
1037 options         LIBICONV
1038
1039 # Size of the kernel message buffer.  Should be N * pagesize.
1040 options         MSGBUF_SIZE=40960
1041
1042 \f
1043 #####################################################################
1044 # HARDWARE BUS CONFIGURATION
1045
1046 # ISA, EISA, MCA and PCI bus:
1047
1048 #
1049 # Mandatory ISA devices: isa, npx
1050 #
1051 device          isa
1052
1053 #
1054 # Options for `isa':
1055 #
1056 # AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
1057 # interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
1058 # This option breaks suspend/resume on some portables.
1059 #
1060 # AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
1061 # interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
1062 # Automatic EOI is documented not to work for for the slave with the
1063 # original i8259A, but it works for some clones and some integrated
1064 # versions.
1065 #
1066 # MAXMEM specifies the amount of RAM on the machine; if this is not
1067 # specified, FreeBSD will first read the amount of memory from the CMOS
1068 # RAM, so the amount of memory will initially be limited to 64MB or 16MB
1069 # depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
1070 # then attempt to detect the installed amount of RAM.  If this probe
1071 # fails to detect >64MB RAM you will have to use the MAXMEM option.
1072 # The amount is in kilobytes, so for a machine with 128MB of RAM, it would
1073 # be 131072 (128 * 1024).
1074 #
1075 # BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
1076 # reset the CPU for reboot.  This is needed on some systems with broken
1077 # keyboard controllers.
1078
1079 options         COMPAT_OLDISA   #Use ISA shims and glue for old drivers
1080 options         AUTO_EOI_1
1081 #options        AUTO_EOI_2
1082
1083 options         MAXMEM="(128*1024)"
1084 #options        BROKEN_KEYBOARD_RESET
1085
1086 # Enable support for the kernel PLL to use an external PPS signal,
1087 # under supervision of [x]ntpd(8)
1088 # More info in ntpd documentation: http://www.eecis.udel.edu/~ntp
1089
1090 options         PPS_SYNC
1091
1092 # If you see the "calcru: negative time of %ld usec for pid %d (%s)\n"
1093 # message you probably have some broken sw/hw which disables interrupts
1094 # for too long.  You can make the system more resistant to this by
1095 # choosing a high value for NTIMECOUNTER.  The default is 5, there
1096 # is no upper limit but more than a couple of hundred are not productive.
1097 # A better strategy may be to sysctl -w kern.timecounter.method=1
1098
1099 options         NTIMECOUNTER=20
1100
1101
1102 # EISA bus
1103 #
1104 # The EISA bus device is `eisa'.  It provides auto-detection and
1105 # configuration support for all devices on the EISA bus.
1106
1107 device          eisa
1108
1109 # By default, only 10 EISA slots are probed, since the slot numbers
1110 # above clash with the configuration address space of the PCI subsystem,
1111 # and the EISA probe is not very smart about this.  This is sufficient
1112 # for most machines, but in particular the HP NetServer LC series comes
1113 # with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
1114 # thus you need to bump this figure to 12 for them.
1115 options         EISA_SLOTS=12
1116
1117 #
1118 # MCA bus:
1119 #
1120 # The MCA bus device is `mca'.  It provides auto-detection and
1121 # configuration support for all devices on the MCA bus.
1122 # No hints are required for MCA.
1123
1124 device          mca
1125
1126 #
1127 # PCI bus & PCI options:
1128 #
1129 # The main PCI bus device is `pci'.  It provides auto-detection and
1130 # configuration support for all devices on the PCI bus, using either
1131 # configuration mode defined in the PCI specification.
1132
1133 device          pci
1134
1135 #
1136 # AGP GART support
1137 device          agp
1138
1139 # PCI options
1140 #
1141 #Enable pci resources left off by a "lazy" BIOS:
1142 options         PCI_ENABLE_IO_MODES
1143 #options        PCI_QUIET       #quiets PCI code on chipset settings
1144
1145 \f
1146 #####################################################################
1147 # HARDWARE DEVICE CONFIGURATION
1148
1149 # EISA support is available for some device, so they can be auto-probed.
1150 # MicroChannel (MCA) support is available for some devices.
1151 # For ISA the required hints are listed.
1152 # EISA, MCA, PCI and pccard are self identifying buses, so no hints
1153 # are needed.
1154
1155 #
1156 # Mandatory devices:
1157 #
1158
1159 # The keyboard controller; it controls the keyboard and the PS/2 mouse.
1160 device          atkbdc  1
1161 hint.atkbdc.0.at="isa"
1162 hint.atkbdc.0.port="0x060"
1163
1164 # The AT keyboard
1165 device          atkbd
1166 hint.atkbd.0.at="atkbdc"
1167 hint.atkbd.0.irq="1"
1168
1169 # Options for atkbd:
1170 options         ATKBD_DFLT_KEYMAP       # specify the built-in keymap
1171 makeoptions     ATKBD_DFLT_KEYMAP="jp.106"
1172
1173 # These options are valid for other keyboard drivers as well.
1174 options         KBD_DISABLE_KEYMAP_LOAD # refuse to load a keymap
1175 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
1176
1177 # `flags' for atkbd:
1178 #       0x01    Force detection of keyboard, else we always assume a keyboard
1179 #       0x02    Don't reset keyboard, useful for some newer ThinkPads
1180 #       0x03    Force detection and avoid reset, might help with certain
1181 #               dockingstations
1182 #       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
1183
1184 # PS/2 mouse
1185 device          psm
1186 hint.psm.0.at="atkbdc"
1187 hint.psm.0.irq="12"
1188
1189 # Options for psm:
1190 options         PSM_HOOKRESUME          #hook the system resume event, useful
1191                                         #for some laptops
1192 options         PSM_RESETAFTERSUSPEND   #reset the device at the resume event
1193
1194 # The video card driver.
1195 device          vga
1196 hint.vga.0.at="isa"
1197
1198 # Options for vga:
1199 # Try the following option if the mouse pointer is not drawn correctly
1200 # or font does not seem to be loaded properly.  May cause flicker on
1201 # some systems.
1202 options         VGA_ALT_SEQACCESS
1203
1204 # If you can dispense with some vga driver features, you may want to
1205 # use the following options to save some memory.
1206 #options        VGA_NO_FONT_LOADING     # don't save/load font
1207 #options        VGA_NO_MODE_CHANGE      # don't change video modes
1208
1209 # Older video cards may require this option for proper operation.
1210 options         VGA_SLOW_IOACCESS       # do byte-wide i/o's to TS and GDC regs
1211
1212 # The following option probably won't work with the LCD displays.
1213 options         VGA_WIDTH90             # support 90 column modes
1214
1215 # To include support for VESA video modes
1216 options         VESA
1217
1218 options         FB_DEBUG                # Frame buffer debugging
1219 options         FB_INSTALL_CDEV         # install a CDEV entry in /dev
1220
1221 # Splash screen at start up!  Screen savers require this too.
1222 device          splash
1223
1224 # Various screen savers.
1225 device          apm_saver               # Requires APM
1226 device          blank_saver
1227 device          daemon_saver
1228 device          fade_saver
1229 device          fire_saver
1230 device          green_saver
1231 device          logo_saver
1232 device          rain_saver
1233 device          star_saver
1234 device          warp_saver
1235
1236 # The pcvt console driver (vt220 compatible).
1237 device          vt
1238 hint.vt.0.at="isa"
1239 options         XSERVER                 # support for running an X server on vt
1240 options         FAT_CURSOR              # start with block cursor
1241 # This PCVT option is for keyboards such as those used on really old ThinkPads
1242 options         PCVT_SCANSET=2
1243 # Other PCVT options are documented in pcvt(4).
1244 options         PCVT_24LINESDEF
1245 options         PCVT_CTRL_ALT_DEL
1246 options         PCVT_META_ESC
1247 options         PCVT_NSCREENS=9
1248 options         PCVT_PRETTYSCRNS
1249 options         PCVT_SCREENSAVER
1250 options         PCVT_USEKBDSEC
1251 options         PCVT_VT220KEYB
1252 options         PCVT_GREENSAVER
1253
1254 # The syscons console driver (sco color console compatible).
1255 device          sc      1
1256 hint.sc.0.at="isa"
1257 options         MAXCONS=16              # number of virtual consoles
1258 options         SC_ALT_MOUSE_IMAGE      # simplified mouse cursor in text mode
1259 options         SC_DFLT_FONT            # compile font in
1260 makeoptions     SC_DFLT_FONT=cp850
1261 options         SC_DISABLE_DDBKEY       # disable `debug' key
1262 options         SC_DISABLE_REBOOT       # disable reboot key sequence
1263 options         SC_HISTORY_SIZE=200     # number of history buffer lines
1264 options         SC_MOUSE_CHAR=0x3       # char code for text mode mouse cursor
1265 options         SC_PIXEL_MODE           # add support for the raster text mode
1266
1267 # The following options will let you change the default colors of syscons.
1268 options         SC_NORM_ATTR="(FG_GREEN|BG_BLACK)"
1269 options         SC_NORM_REV_ATTR="(FG_YELLOW|BG_GREEN)"
1270 options         SC_KERNEL_CONS_ATTR="(FG_RED|BG_BLACK)"
1271 options         SC_KERNEL_CONS_REV_ATTR="(FG_BLACK|BG_RED)"
1272
1273 # The following options will let you change the default behaviour of
1274 # cut-n-paste feature
1275 options         SC_CUT_SPACES2TABS      # convert leading spaces into tabs
1276 options         SC_CUT_SEPCHARS="\x20"  # set of characters that delimit words
1277                                         # (default is single space - "\x20")
1278
1279 # If you have a two button mouse, you may want to add the following option
1280 # to use the right button of the mouse to paste text.
1281 options         SC_TWOBUTTON_MOUSE
1282
1283 # You can selectively disable features in syscons.
1284 options         SC_NO_CUTPASTE
1285 options         SC_NO_FONT_LOADING
1286 options         SC_NO_HISTORY
1287 options         SC_NO_SYSMOUSE
1288
1289 # `flags' for sc
1290 #       0x80    Put the video card in the VESA 800x600 dots, 16 color mode
1291 #       0x100   Probe for a keyboard device periodically if one is not present
1292
1293 # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
1294 # the /dev/3dfx0 device to work with glide implementations. This should get
1295 # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
1296 # the tdfx DRI module from XFree86 and is completely unrelated.
1297 #
1298 # To enable Linuxulator support, one must also include COMPAT_LINUX in the
1299 # config as well, or you will not have the dependencies. The other option
1300 # is to load both as modules.
1301
1302 device          tdfx                    # Enable 3Dfx Voodoo support
1303 options         TDFX_LINUX              # Enable Linuxulator support
1304
1305 #
1306 # The Numeric Processing eXtension driver.  In addition to this, you
1307 # may configure a math emulator (see above).  If your machine has a
1308 # hardware FPU and the kernel configuration includes the npx device
1309 # *and* a math emulator compiled into the kernel, the hardware FPU
1310 # will be used, unless it is found to be broken or unless "flags" to
1311 # npx0 includes "0x08", which requests preference for the emulator.
1312 device          npx
1313 hint.npx.0.at="nexus"
1314 hint.npx.0.port="0x0F0"
1315 hint.npx.0.flags="0x0"
1316 hint.npx.0.irq="13"
1317
1318 #
1319 # `flags' for npx0:
1320 #       0x01    don't use the npx registers to optimize bcopy.
1321 #       0x02    don't use the npx registers to optimize bzero.
1322 #       0x04    don't use the npx registers to optimize copyin or copyout.
1323 #       0x08    use emulator even if hardware FPU is available.
1324 # The npx registers are normally used to optimize copying and zeroing when
1325 # all of the following conditions are satisfied:
1326 #       I586_CPU is an option
1327 #       the cpu is an i586 (perhaps not a Pentium)
1328 #       the probe for npx0 succeeds
1329 #       INT 16 exception handling works.
1330 # Then copying and zeroing using the npx registers is normally 30-100% faster.
1331 # The flags can be used to control cases where it doesn't work or is slower.
1332 # Setting them at boot time using userconfig works right (the optimizations
1333 # are not used until later in the bootstrap when npx0 is attached).
1334 # Flag 0x08 automatically disables the i586 optimized routines.
1335 #
1336
1337 #
1338 # ACPI support using the Intel ACPI Component Architecture reference
1339 # implementation.
1340 #
1341 # ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
1342 # kernel environment variables to select initial debugging levels for the
1343 # Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
1344 # defined when it is built).
1345 #
1346 # Note that building ACPI into the kernel is deprecated; the module is
1347 # normally loaded automatically by the loader.
1348 #
1349 device          acpica
1350 options         ACPI_DEBUG
1351
1352 #
1353 # Optional devices:
1354 #
1355
1356 #
1357 # SCSI host adapters:
1358 #
1359 # adv: All Narrow SCSI bus AdvanSys controllers.
1360 # adw: Second Generation AdvanSys controllers including the ADV940UW.
1361 # aha: Adaptec 154x/1535/1640
1362 # ahb: Adaptec 174x EISA controllers
1363 # ahc: Adaptec 274x/284x/2910/293x/294x/394x/3950x/3960x/398X/4944/
1364 #      19160x/29160x, aic7770/aic78xx
1365 # aic: Adaptec 6260/6360, APA-1460 (PC Card), NEC PC9801-100 (C-BUS)
1366 # amd: Support for the AMD 53C974 SCSI host adapter chip as found on devices
1367 #      such as the Tekram DC-390(T).
1368 # bt:  Most Buslogic controllers: including BT-445, BT-54x, BT-64x, BT-74x,
1369 #      BT-75x, BT-946, BT-948, BT-956, BT-958, SDC3211B, SDC3211F, SDC3222F
1370 # isp: Qlogic ISP 1020, 1040 and 1040B PCI SCSI host adapters,
1371 #      ISP 1240 Dual Ultra SCSI, ISP 1080 and 1280 (Dual) Ultra2,
1372 #      ISP 12160 Ultra3 SCSI,
1373 #      Qlogic ISP 2100 and ISP 2200 1Gb Fibre Channel host adapters.
1374 #      Qlogic ISP 2300 and ISP 2312 2Gb Fibre Channel host adapters.
1375 # ispfw: Firmware module for Qlogic host adapters
1376 # ncr: NCR 53C810, 53C825 self-contained SCSI host adapters.
1377 # ncv: NCR 53C500 based SCSI host adapters.
1378 # nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
1379 # sym: Symbios/Logic 53C8XX family of PCI-SCSI I/O processors:
1380 #      53C810, 53C810A, 53C815, 53C825,  53C825A, 53C860, 53C875, 
1381 #      53C876, 53C885,  53C895, 53C895A, 53C896,  53C897, 53C1510D, 
1382 #      53C1010-33, 53C1010-66.
1383 # stg: TMC 18C30, 18C50 based SCSI host adapters.
1384 # wds: WD7000
1385
1386 #
1387 # Note that the order is important in order for Buslogic ISA/EISA cards to be
1388 # probed correctly.
1389 #
1390 device          bt
1391 hint.bt.0.at="isa"
1392 hint.bt.0.port="0x330"
1393 device          adv
1394 hint.adv.0.at="isa"
1395 device          adw
1396 device          aha
1397 hint.aha.0.at="isa"
1398 device          aic
1399 hint.aic.0.at="isa"
1400 device          ahb
1401 device          ahc
1402 device          amd
1403 device          isp
1404 hint.isp.0.disable="1"
1405 hint.isp.0.role="3"
1406 hint.isp.0.prefer_iomap="1"
1407 hint.isp.0.prefer_memmap="1"
1408 hint.isp.0.fwload_disable="1"
1409 hint.isp.0.ignore_nvram="1"
1410 hint.isp.0.fullduplex="1"
1411 hint.isp.0.topology="lport"
1412 hint.isp.0.topology="nport"
1413 hint.isp.0.topology="lport-only"
1414 hint.isp.0.topology="nport-only"
1415 # we can't get u_int64_t types, nor can we get strings if it's got
1416 # a leading 0x, hence this silly dodge.
1417 hint.isp.0.portwnn="w50000000aaaa0000"
1418 hint.isp.0.nodewnn="w50000000aaaa0001"
1419 device          ispfw
1420 device          ncr
1421 device          ncv
1422 device          nsp
1423 device          sym
1424 device          stg
1425 hint.stg.0.at="isa"
1426 hint.stg.0.port="0x140"
1427 hint.stg.0.port="11"
1428 device          wds
1429 hint.wds.0.at="isa"
1430 hint.wds.0.port="0x350"
1431 hint.wds.0.irq="11"
1432 hint.wds.0.drq="6"
1433
1434 # The aic7xxx driver will attempt to use memory mapped I/O for all PCI
1435 # controllers that have it configured only if this option is set. Unfortunately,
1436 # this doesn't work on some motherboards, which prevents it from being the
1437 # default.
1438 options         AHC_ALLOW_MEMIO
1439
1440 # Enable diagnostic sequencer code.
1441 options         AHC_DEBUG_SEQUENCER
1442
1443 # Dump the contents of the ahc controller configuration PROM.
1444 options         AHC_DUMP_EEPROM
1445
1446 # Bitmap of units to enable targetmode operations.
1447 options         AHC_TMODE_ENABLE
1448
1449 # The adw driver will attempt to use memory mapped I/O for all PCI
1450 # controllers that have it configured only if this option is set.
1451 options         ADW_ALLOW_MEMIO
1452
1453 # Options used in dev/isp/ (Qlogic SCSI/FC driver).
1454 #
1455 #       ISP_TARGET_MODE         -       enable target mode operation
1456 #
1457 #options        ISP_TARGET_MODE=1
1458
1459 # Options used in dev/sym/ (Symbios SCSI driver).
1460 #options        SYM_SETUP_LP_PROBE_MAP  #-Low Priority Probe Map (bits)
1461                                         # Allows the ncr to take precedence
1462                                         # 1 (1<<0) -> 810a, 860
1463                                         # 2 (1<<1) -> 825a, 875, 885, 895
1464                                         # 4 (1<<2) -> 895a, 896, 1510d 
1465 #options        SYM_SETUP_SCSI_DIFF     #-HVD support for 825a, 875, 885
1466                                         # disabled:0 (default), enabled:1
1467 #options        SYM_SETUP_PCI_PARITY    #-PCI parity checking
1468                                         # disabled:0, enabled:1 (default)
1469 #options        SYM_SETUP_MAX_LUN       #-Number of LUNs supported
1470                                         # default:8, range:[1..64]
1471
1472 # The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
1473 # controllers (SmartRAID V and VI and later).
1474 # These controllers require the CAM infrastructure.
1475 #
1476 device          asr
1477
1478 # The 'dpt' driver provides support for old DPT controllers (http://www.dpt.com/).
1479 # These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
1480 # The DPT controllers are commonly re-licensed under other brand-names -
1481 # some controllers by Olivetti, Dec, HP, AT&T, SNI, AST, Alphatronic, NEC and
1482 # Compaq are actually DPT controllers.
1483 #
1484 # See src/sys/dev/dpt for debugging and other subtle options.
1485 #   DPT_MEASURE_PERFORMANCE Enables a set of (semi)invasive metrics. Various
1486 #                           instruments are enabled.  The tools in
1487 #                           /usr/sbin/dpt_* assume these to be enabled.
1488 #   DPT_HANDLE_TIMEOUTS     Normally device timeouts are handled by the DPT.
1489 #                           If you ant the driver to handle timeouts, enable
1490 #                           this option.  If your system is very busy, this
1491 #                           option will create more trouble than solve.
1492 #   DPT_TIMEOUT_FACTOR      Used to compute the excessive amount of time to
1493 #                           wait when timing out with the above option.
1494 #  DPT_DEBUG_xxxx           These are controllable from sys/dev/dpt/dpt.h
1495 #  DPT_LOST_IRQ             When enabled, will try, once per second, to catch
1496 #                           any interrupt that got lost.  Seems to help in some
1497 #                           DPT-firmware/Motherboard combinations.  Minimal
1498 #                           cost, great benefit.
1499 #  DPT_RESET_HBA            Make "reset" actually reset the controller
1500 #                           instead of fudging it.  Only enable this if you
1501 #                           are 100% certain you need it.
1502
1503 device          dpt
1504
1505 # DPT options
1506 #!CAM# options  DPT_MEASURE_PERFORMANCE
1507 #!CAM# options  DPT_HANDLE_TIMEOUTS
1508 options         DPT_TIMEOUT_FACTOR=4
1509 options         DPT_LOST_IRQ
1510 options         DPT_RESET_HBA
1511 options         DPT_ALLOW_MEMIO
1512
1513 #
1514 # Compaq "CISS" RAID controllers (SmartRAID 5* series)
1515 # These controllers have a SCSI-like interface, and require the
1516 # CAM infrastructure.
1517 #
1518 device          ciss
1519
1520 #
1521 # Mylex AcceleRAID and eXtremeRAID controllers with v6 and later
1522 # firmware.  These controllers have a SCSI-like interface, and require
1523 # the CAM infrastructure.
1524 #
1525 device          mly
1526
1527 #
1528 # Adaptec FSA RAID controllers, including integrated DELL controllers,
1529 # the Dell PERC 2/QC and the HP NetRAID-4M
1530 #
1531 # AAC_COMPAT_LINUX      Include code to support Linux-binary management
1532 #                       utilities (requires Linux compatibility
1533 #                       support).
1534 #
1535 device          aac
1536
1537 #
1538 # Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers.  Only
1539 # one entry is needed; the code will find and configure all supported
1540 # controllers.
1541 #
1542 device          ida             # Compaq Smart RAID
1543 device          mlx             # Mylex DAC960
1544 device          amr             # AMI MegaRAID
1545
1546 #
1547 # 3ware ATA RAID
1548 #
1549 device          twe             # 3ware ATA RAID
1550
1551 #
1552 # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card
1553 # devices. You only need one "device ata" for it to find all
1554 # PCI and PC Card ATA/ATAPI devices on modern machines.
1555 device          ata
1556 device          atadisk         # ATA disk drives
1557 device          atapicd         # ATAPI CDROM drives
1558 device          atapifd         # ATAPI floppy drives
1559 device          atapist         # ATAPI tape drives
1560
1561 #
1562 # For older non-PCI, non-PnPBIOS systems, these are the hints lines to add:
1563 hint.ata.0.at="isa"
1564 hint.ata.0.port="0x1f0"
1565 hint.ata.0.irq="14"
1566 hint.ata.1.at="isa"
1567 hint.ata.1.port="0x170"
1568 hint.ata.1.irq="15"
1569
1570 #
1571 # The following options are valid on the ATA driver:
1572 #
1573 # ATA_STATIC_ID:        controller numbering is static ie depends on location
1574 #                       else the device numbers are dynamically allocated.
1575
1576 options         ATA_STATIC_ID
1577
1578 #
1579 # Standard floppy disk controllers and floppy tapes, supports
1580 # the Y-E DATA External FDD (PC Card)
1581 #
1582 device          fdc
1583 hint.fdc.0.at="isa"
1584 hint.fdc.0.port="0x3F0"
1585 hint.fdc.0.irq="6"
1586 hint.fdc.0.drq="2"
1587 #
1588 # FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
1589 # gotta turn it actually on by setting the variable fd_debug with DDB,
1590 # however.
1591 options         FDC_DEBUG
1592 #
1593 # Activate this line if you happen to have an Insight floppy tape.
1594 # Probing them proved to be dangerous for people with floppy disks only,
1595 # so it's "hidden" behind a flag:
1596 #hint.fdc.0.flags="1"
1597
1598 # Specify floppy devices
1599 hint.fd.0.at="fdc0"
1600 hint.fd.0.drive="0"
1601 hint.fd.1.at="fdc0"
1602 hint.fd.1.drive="1"
1603
1604 # M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
1605 device          fla
1606 hint.fla.0.at="isa"
1607
1608 #
1609 # Other standard PC hardware:
1610 #
1611 # mse: Logitech and ATI InPort bus mouse ports
1612 # sio: serial ports (see sio(4)), including support for various
1613 #      PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
1614
1615 device          mse
1616 hint.mse.0.at="isa"
1617 hint.mse.0.port="0x23c"
1618 hint.mse.0.irq="5"
1619
1620 device          sio
1621 hint.sio.0.at="isa"
1622 hint.sio.0.port="0x3F8"
1623 hint.sio.0.flags="0x10"
1624 hint.sio.0.irq="4"
1625
1626 #
1627 # `flags' for serial drivers that support consoles (only for sio now):
1628 #       0x10    enable console support for this unit.  The other console flags
1629 #               are ignored unless this is set.  Enabling console support does
1630 #               not make the unit the preferred console - boot with -h or set
1631 #               the 0x20 flag for that.  Currently, at most one unit can have
1632 #               console support; the first one (in config file order) with
1633 #               this flag set is preferred.  Setting this flag for sio0 gives
1634 #               the old behaviour.
1635 #       0x20    force this unit to be the console (unless there is another
1636 #               higher priority console).  This replaces the COMCONSOLE option.
1637 #       0x40    reserve this unit for low level console operations.  Do not
1638 #               access the device in any normal way.
1639 #       0x80    use this port for serial line gdb support in ddb.
1640 #
1641 # PnP `flags' (set via userconfig using pnp x flags y)
1642 #       0x1     disable probing of this device.  Used to prevent your modem
1643 #               from being attached as a PnP modem.
1644 #
1645
1646 # Options for serial drivers that support consoles (only for sio now):
1647 options         BREAK_TO_DEBUGGER       #a BREAK on a comconsole goes to
1648                                         #DDB, if available.
1649 options         CONSPEED=115200         # speed for serial console
1650                                         # (default 9600)
1651
1652 # Solaris implements a new BREAK which is initiated by a character
1653 # sequence CR ~ ^b which is similar to a familiar pattern used on
1654 # Sun servers by the Remote Console.
1655 options         ALT_BREAK_TO_DEBUGGER
1656
1657 # Options for sio:
1658 options         COM_ESP                 #code for Hayes ESP
1659 options         COM_MULTIPORT           #code for some cards with shared IRQs
1660
1661 # Other flags for sio that aren't documented in the man page.
1662 #       0x20000 enable hardware RTS/CTS and larger FIFOs.  Only works for
1663 #               ST16650A-compatible UARTs.
1664
1665 #
1666 # Network interfaces:
1667 #
1668 # MII bus support is required for some PCI 10/100 ethernet NICs,
1669 # namely those which use MII-compliant transceivers or implement
1670 # tranceiver control interfaces that operate like an MII. Adding
1671 # "device miibus0" to the kernel config pulls in support for
1672 # the generic miibus API and all of the PHY drivers, including a
1673 # generic one for PHYs that aren't specifically handled by an
1674 # individual driver.
1675 device          miibus
1676
1677 # an:   Aironet 4500/4800 802.11 wireless adapters. Supports the PCMCIA,
1678 #       PCI and ISA varieties.
1679 # ar:   Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
1680 #       (requires sppp)
1681 # awi:  Support for IEEE 802.11 PC Card devices using the AMD Am79C930 and
1682 #       Harris (Intersil) Chipset with PCnetMobile firmware by AMD.
1683 # bge:  Support for gigabit ethernet adapters based on the Broadcom
1684 #       BCM570x familiy of controllers, including the 3Com 3c996-T,
1685 #       the SysKonnect SK-9D21 and SK-9D41, and the embedded gigE NICs
1686 #       on Dell PowerEdge 2550 servers.
1687 # cnw:  Xircom CNW/Netware Airsurfer PC Card adapter
1688 # cs:   IBM Etherjet and other Crystal Semi CS89x0-based adapters
1689 # cx:   Cronyx/Sigma multiport sync/async (with Cisco or PPP framing)
1690 # dc:   Support for PCI fast ethernet adapters based on the DEC/Intel 21143
1691 #       and various workalikes including:
1692 #       the ADMtek AL981 Comet and AN985 Centaur, the ASIX Electronics
1693 #       AX88140A and AX88141, the Davicom DM9100 and DM9102, the Lite-On
1694 #       82c168 and 82c169 PNIC, the Lite-On/Macronix LC82C115 PNIC II
1695 #       and the Macronix 98713/98713A/98715/98715A/98725 PMAC. This driver
1696 #       replaces the old al, ax, dm, pn and mx drivers.  List of brands:
1697 #       Digital DE500-BA, Kingston KNE100TX, D-Link DFE-570TX, SOHOware SFA110, 
1698 #       SVEC PN102-TX, CNet Pro110B, 120A, and 120B, Compex RL100-TX, 
1699 #       LinkSys LNE100TX, LNE100TX V2.0, Jaton XpressNet, Alfa Inc GFC2204,
1700 #       KNE110TX.
1701 # de:   Digital Equipment DC21040
1702 # ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
1703 #       HP PC Lan+, various PC Card devices (refer to etc/defauls/pccard.conf)
1704 #       (requires miibus)
1705 # el:   3Com 3C501 (slow!)
1706 # ep:   3Com 3C509, 3C529, 3C556, 3C562D, 3C563D, 3C572, 3C574X, 3C579, 3C589
1707 #       and PC Card devices using these chipsets.
1708 # ex:   Intel EtherExpress Pro/10 and other i82595-based adapters,
1709 #       Olicom Ethernet PC Card devices.
1710 # fe:   Fujitsu MB86960A/MB86965A Ethernet
1711 # fea:  DEC DEFEA EISA FDDI adapter
1712 # fpa:  Support for the Digital DEFPA PCI FDDI. `device fddi' is also needed.
1713 # fxp:  Intel EtherExpress Pro/100B
1714 #       (hint of prefer_iomap can be done to prefer I/O instead of Mem mapping)
1715 # gx:   Intel Pro/1000 Gigabit Ethernet (82542, 82543-F, 82543-T)
1716 # ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
1717 #       Intel EtherExpress
1718 # le:   Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
1719 #       DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
1720 # lnc:  Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
1721 #       Am79C960)
1722 # lge:  Support for PCI gigabit ethernet adapters based on the Level 1
1723 #       LXT1001 NetCellerator chipset. This includes the D-Link DGE-500SX,
1724 #       SMC TigerCard 1000 (SMC9462SX), and some Addtron cards.
1725 # nge:  Support for PCI gigabit ethernet adapters based on the National
1726 #       Semiconductor DP83820 and DP83821 chipset. This includes the
1727 #       SMC EZ Card 1000 (SMC9462TX), D-Link DGE-500T, Asante FriendlyNet
1728 #       GigaNIX 1000TA and 1000TPC, the Addtron AEG320T, the LinkSys
1729 #       EG1032 and EG1064, the Surecom EP-320G-TX and the Netgear GA622T.
1730 # oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
1731 #       (no hints needed).
1732 #       Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
1733 #       OC-3141, OC-3540, OC-3250
1734 # rdp:  RealTek RTL 8002-based pocket ethernet adapters
1735 # sbni: Granch SBNI12-xx ISA and PCI adapters
1736 # pcn:  Support for PCI fast ethernet adapters based on the AMD Am79c97x
1737 #       chipsets, including the PCnet/FAST, PCnet/FAST+, PCnet/PRO and
1738 #       PCnet/Home. These were previously handled by the lnc driver (and
1739 #       still will be if you leave this driver out of the kernel).
1740 # rl:   Support for PCI fast ethernet adapters based on the RealTek 8129/8139
1741 #       chipset.  Note that the RealTek driver defaults to using programmed
1742 #       I/O to do register accesses because memory mapped mode seems to cause
1743 #       severe lockups on SMP hardware.  This driver also supports the
1744 #       Accton EN1207D `Cheetah' adapter, which uses a chip called
1745 #       the MPX 5030/5038, which is either a RealTek in disguise or a
1746 #       RealTek workalike.  Note that the D-Link DFE-530TX+ uses the RealTek
1747 #       chipset and is supported by this driver, not the 'vr' driver.
1748 # sf:   Support for Adaptec Duralink PCI fast ethernet adapters based on the
1749 #       Adaptec AIC-6915 "starfire" controller.
1750 #       This includes dual and quad port cards, as well as one 100baseFX card.
1751 #       Most of these are 64-bit PCI devices, except for one single port
1752 #       card which is 32-bit.
1753 # sis:  Support for NICs based on the Silicon Integrated Systems SiS 900,
1754 #       SiS 7016 and NS DP83815 PCI fast ethernet controller chips.
1755 # sk:   Support for the SysKonnect SK-984x series PCI gigabit ethernet NICs.
1756 #       This includes the SK-9841 and SK-9842 single port cards (single mode
1757 #       and multimode fiber) and the SK-9843 and SK-9844 dual port cards
1758 #       (also single mode and multimode).
1759 #       The driver will autodetect the number of ports on the card and
1760 #       attach each one as a separate network interface.
1761 # sn:   Support for ISA and PC Card Ethernet devices using the
1762 #       SMC91C90/92/94/95 chips.
1763 # sr:   RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
1764 # ste:  Sundance Technologies ST201 PCI fast ethernet controller, includes
1765 #       the D-Link DFE-550TX.
1766 # ti:   Support for PCI gigabit ethernet NICs based on the Alteon Networks
1767 #       Tigon 1 and Tigon 2 chipsets.  This includes the Alteon AceNIC, the
1768 #       3Com 3c985, the Netgear GA620 and various others.  Note that you will
1769 #       probably want to bump up NMBCLUSTERS a lot to use this driver.
1770 # tl:   Support for the Texas Instruments TNETE100 series 'ThunderLAN'
1771 #       cards and integrated ethernet controllers.  This includes several
1772 #       Compaq Netelligent 10/100 cards and the built-in ethernet controllers
1773 #       in several Compaq Prosignia, Proliant and Deskpro systems.  It also
1774 #       supports several Olicom 10Mbps and 10/100 boards.
1775 # tx:   SMC 9432 TX, BTX and FTX cards. (SMC EtherPower II serie)
1776 # txp:  Support for 3Com 3cR990 cards with the "Typhoon" chipset
1777 # vr:   Support for various fast ethernet adapters based on the VIA
1778 #       Technologies VT3043 `Rhine I' and VT86C100A `Rhine II' chips,
1779 #       including the D-Link DFE530TX (see 'rl' for DFE530TX+), the Hawking 
1780 #       Technologies PN102TX, and the AOpen/Acer ALN-320.
1781 # vx:   3Com 3C590 and 3C595
1782 # wb:   Support for fast ethernet adapters based on the Winbond W89C840F chip.
1783 #       Note: this is not the same as the Winbond W89C940F, which is a
1784 #       NE2000 clone.
1785 # wl:   Lucent Wavelan (ISA card only).
1786 # wi:   Lucent WaveLAN/IEEE 802.11 PCMCIA adapters. Note: this supports both
1787 #       the PCMCIA and ISA cards: the ISA card is really a PCMCIA to ISA
1788 #       bridge with a PCMCIA adapter plugged into it.
1789 # xe:   Xircom/Intel EtherExpress Pro100/16 PC Card ethernet controller,
1790 #       Accton Fast EtherCard-16, Compaq Netelligent 10/100 PC Card,
1791 #       Toshiba 10/100 Ethernet PC Card, Xircom 16-bit Ethernet + Modem 56
1792 # xl:   Support for the 3Com 3c900, 3c905, 3c905B and 3c905C (Fast)
1793 #       Etherlink XL cards and integrated controllers.  This includes the
1794 #       integrated 3c905B-TX chips in certain Dell Optiplex and Dell
1795 #       Precision desktop machines and the integrated 3c905-TX chips
1796 #       in Dell Latitude laptop docking stations.
1797 #       Also supported: 3Com 3c980(C)-TX, 3Com 3cSOHO100-TX, 3Com 3c450-TX
1798
1799 # Order for ISA/EISA devices is important here
1800
1801 device          ar      1
1802 hint.ar.0.at="isa"
1803 hint.ar.0.port="0x300"
1804 hint.ar.0.irq="10"
1805 hint.ar.0.maddr="0xd0000"
1806 device          cs
1807 hint.cs.0.at="isa"
1808 hint.cs.0.port="0x300"
1809 device          cx      1
1810 hint.cx.0.at="isa"
1811 hint.cx.0.port="0x240"
1812 hint.cx.0.irq="15"
1813 hint.cx.0.drq="7"
1814 device          ed
1815 #options        ED_NO_MIIBUS            # Disable ed miibus support
1816 hint.ed.0.at="isa"
1817 hint.ed.0.port="0x280"
1818 hint.ed.0.irq="5"
1819 hint.ed.0.maddr="0xd8000"
1820 device          el      1
1821 hint.el.0.at="isa"
1822 hint.el.0.port="0x300"
1823 hint.el.0.irq="9"
1824 device          ep
1825 device          ex
1826 device          fe      1
1827 hint.fe.0.at="isa"
1828 hint.fe.0.port="0x300"
1829 device          fea
1830 device          ie      2
1831 hint.ie.0.at="isa"
1832 hint.ie.0.port="0x300"
1833 hint.ie.0.irq="5"
1834 hint.ie.0.maddr="0xd0000"
1835 hint.ie.1.at="isa"
1836 hint.ie.1.port="0x360"
1837 hint.ie.1.irq="7"
1838 hint.ie.1.maddr="0xd0000"
1839 device          le      1
1840 hint.le.0.at="isa"
1841 hint.le.0.port="0x300"
1842 hint.le.0.irq="5"
1843 hint.le.0.maddr="0xd0000"
1844 device          lnc     1
1845 hint.lnc.0.at="isa"
1846 hint.lnc.0.port="0x280"
1847 hint.lnc.0.irq="10"
1848 hint.lnc.0.drq="0"
1849 device          rdp     1
1850 hint.rdp.0.at="isa"
1851 hint.rdp.0.port="0x378"
1852 hint.rdp.0.irq="7"
1853 hint.rdp.0.flags="2"
1854 device          sbni    1
1855 hint.sbni.0.at="isa"
1856 hint.sbni.0.port="0x210"
1857 hint.sbni.0.irq="0xefdead"
1858 hint.sbni.0.flags="0"
1859 device          sr      1
1860 hint.sr.0.at="isa"
1861 hint.sr.0.port="0x300"
1862 hint.sr.0.irq="5"
1863 hint.sr.0.maddr="0xd0000"
1864 device          sn
1865 hint.sn.0.at="isa"
1866 hint.sn.0.port="0x300"
1867 hint.sn.0.irq="10"
1868 device          an
1869 device          awi
1870 device          cnw
1871 device          wi
1872 options         WLCACHE         # enables the signal-strength cache
1873 options         WLDEBUG         # enables verbose debugging output
1874 device          wl      1
1875 hint.wl.0.at="isa"
1876 hint.wl.0.port="0x300"
1877 device          xe
1878
1879 device          oltr
1880 options         OLTR_NO_BULLSEYE_MAC
1881 options         OLTR_NO_HAWKEYE_MAC
1882 options         OLTR_NO_TMS_MAC
1883 hint.oltr.0.at="isa"
1884
1885 # PCI Ethernet NICs that use the common MII bus controller code.
1886 device          dc              # DEC/Intel 21143 and various workalikes
1887 device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
1888 hint.fxp.0.prefer_iomap="0"
1889 device          rl              # RealTek 8129/8139
1890 device          pcn             # AMD Am79C97x PCI 10/100 NICs
1891 device          sf              # Adaptec AIC-6915 (``Starfire'')
1892 device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
1893 device          ste             # Sundance ST201 (D-Link DFE-550TX)
1894 device          tl              # Texas Instruments ThunderLAN
1895 device          tx              # SMC EtherPower II (83c170 ``EPIC'')
1896 device          vr              # VIA Rhine, Rhine II
1897 device          wb              # Winbond W89C840F
1898 device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')
1899
1900 # PCI Ethernet NICs.
1901 device          de              # DEC/Intel DC21x4x (``Tulip'')
1902 device          txp             # 3Com 3cR990 (``Typhoon'')
1903 device          vx              # 3Com 3c590, 3c595 (``Vortex'')
1904
1905 # PCI Gigabit & FDDI NICs.
1906 device          bge
1907 device          gx
1908 device          lge
1909 device          nge
1910 device          sk
1911 device          ti
1912 device          fpa     1
1913
1914 #
1915 # ATM related options (Cranor version)
1916 # (note: this driver cannot be used with the HARP ATM stack)
1917 #
1918 # The `en' device provides support for Efficient Networks (ENI)
1919 # ENI-155 PCI midway cards, and the Adaptec 155Mbps PCI ATM cards (ANA-59x0).
1920 #
1921 # atm device provides generic atm functions and is required for
1922 # atm devices.
1923 # NATM enables the netnatm protocol family that can be used to
1924 # bypass TCP/IP.
1925 #
1926 # the current driver supports only PVC operations (no atm-arp, no multicast).
1927 # for more details, please read the original documents at
1928 # http://www.ccrc.wustl.edu/pub/chuck/tech/bsdatm/bsdatm.html
1929 #
1930 device          atm
1931 device          en
1932 options         NATM                    #native ATM
1933
1934 #
1935 # Audio drivers: `pcm', `sbc', `gusc', `pca'
1936 #
1937 # pcm: PCM audio through various sound cards.
1938 #
1939 # This has support for a large number of new audio cards, based on
1940 # CS423x, OPTi931, Yamaha OPL-SAx, and also for SB16, GusPnP.
1941 # For more information about this driver and supported cards,
1942 # see the pcm.4 man page.
1943 #
1944 # The flags of the device tells the device a bit more info about the
1945 # device that normally is obtained through the PnP interface.
1946 #       bit  2..0   secondary DMA channel;
1947 #       bit  4      set if the board uses two dma channels;
1948 #       bit 15..8   board type, overrides autodetection; leave it
1949 #                   zero if don't know what to put in (and you don't,
1950 #                   since this is unsupported at the moment...).
1951 #
1952 # This driver will use the new PnP code if it's available.
1953 #
1954 # pca: PCM audio through your PC speaker
1955 #
1956 # Supported cards include:
1957 # Creative SoundBlaster ISA PnP/non-PnP
1958 # Supports ESS and Avance ISA chips as well.
1959 # Gravis UltraSound ISA PnP/non-PnP
1960 # Crystal Semiconductor CS461x/428x PCI
1961 # Neomagic 256AV (ac97)
1962 # Most of the more common ISA/PnP sb/mss/ess compatable cards.
1963
1964 device          pcm
1965
1966 # For non-pnp sound cards with no bridge drivers only:
1967 hint.pcm.0.at="isa"
1968 hint.pcm.0.irq="10"
1969 hint.pcm.0.drq="1"
1970 hint.pcm.0.flags="0x0"
1971
1972 # For PnP/PCI sound cards, no hints are required.
1973
1974 #
1975 # midi: MIDI interfaces and synthesizers
1976 #
1977
1978 device          midi
1979
1980 # For non-pnp sound cards with no bridge drivers:
1981 hint.midi.0.at="isa"
1982 hint.midi.0.irq="5"
1983 hint.midi.0.flags="0x0"
1984
1985 # For serial ports (this example configures port 2):
1986 # TODO: implement generic tty-midi interface so that we can use
1987 #       other uarts.
1988 hint.midi.0.at="isa"
1989 hint.midi.0.port="0x2F8"
1990 hint.midi.0.irq="3"
1991
1992 #
1993 # seq: MIDI sequencer
1994 #
1995
1996 device          seq
1997
1998 # The bridge drivers for sound cards.  These can be separately configured
1999 # for providing services to the likes of new-midi.
2000 # When used with 'device pcm' they also provide pcm sound services.
2001 #
2002 # sbc:  Creative SoundBlaster ISA PnP/non-PnP
2003 #       Supports ESS and Avance ISA chips as well.
2004 # gusc: Gravis UltraSound ISA PnP/non-PnP
2005 # csa:  Crystal Semiconductor CS461x/428x PCI
2006
2007 # For non-PnP cards:
2008 device          sbc
2009 hint.sbc.0.at="isa"
2010 hint.sbc.0.port="0x220"
2011 hint.sbc.0.irq="5"
2012 hint.sbc.0.drq="1"
2013 hint.sbc.0.flags="0x15"
2014 device          gusc
2015 hint.gusc.0.at="isa"
2016 hint.gusc.0.port="0x220"
2017 hint.gusc.0.irq="5"
2018 hint.gusc.0.drq="1"
2019 hint.gusc.0.flags="0x13"
2020
2021 device          pca
2022 hint.pca.0.at="isa"
2023 hint.pca.0.port="0x040"
2024
2025 #
2026 # Miscellaneous hardware:
2027 #
2028 # mcd: Mitsumi CD-ROM using proprietary (non-ATAPI) interface
2029 # scd: Sony CD-ROM using proprietary (non-ATAPI) interface
2030 # matcd: Matsushita/Panasonic CD-ROM using proprietary (non-ATAPI) interface
2031 # wt: Wangtek and Archive QIC-02/QIC-36 tape drives
2032 # ctx: Cortex-I frame grabber
2033 # apm: Laptop Advanced Power Management (experimental)
2034 # pmtimer: Timer device driver for power management events (APM or ACPI)
2035 # spigot: The Creative Labs Video Spigot video-acquisition board
2036 # meteor: Matrox Meteor video capture board
2037 # bktr: Brooktree bt848/848a/849a/878/879 video capture and TV Tuner board
2038 # cy: Cyclades serial driver
2039 # dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!)
2040 # digi: Digiboard driver
2041 # gp:  National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB
2042 # asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey
2043 # gsc: Genius GS-4500 hand scanner.
2044 # joy: joystick (including IO DATA PCJOY PC Card joystick)
2045 # The LOUTB option specifies a slower outb() for debugging purposes. 
2046 # rc: RISCom/8 multiport card
2047 # rp: Comtrol Rocketport(ISA) - single card
2048 # tw: TW-523 power line interface for use with X-10 home control products
2049 # si: Specialix SI/XIO 4-32 port terminal multiplexor
2050 # spic: Sony Programmable I/O controller (VAIO notebooks)
2051 # stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
2052 # stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
2053 # nmdm: nullmodem terminal driver (see nmdm(4))
2054
2055 # Notes on APM
2056 #  The flags takes the following meaning for apm0:
2057 #    0x0020  Statclock is broken.
2058 #  If apm is omitted, some systems require sysctl -w kern.timecounter.method=1
2059 #  for correct timekeeping.
2060
2061 # Notes on the spigot:
2062 #  The video spigot is at 0xad6.  This port address can not be changed.
2063 #  The irq values may only be 10, 11, or 15
2064 #  I/O memory is an 8kb region.  Possible values are:
2065 #    0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff
2066 #    The start address must be on an even boundary.
2067 #  Add the following option if you want to allow non-root users to be able
2068 #  to access the spigot.  This option is not secure because it allows users
2069 #  direct access to the I/O page.
2070 #       options SPIGOT_UNSECURE
2071
2072 # Notes on the Comtrol Rocketport driver:
2073 #
2074 # The exact values used for rp0 depend on how many boards you have
2075 # in the system.  The manufacturer's sample configs are listed as:
2076 #
2077 #               device  rp      # core driver support
2078 #
2079 #   Comtrol Rocketport ISA single card
2080 #               hints.rp.0.at="isa"
2081 #               hints.rp.0.port="0x280"
2082 #
2083 #   If instead you have two ISA cards, one installed at 0x100 and the
2084 #   second installed at 0x180, then you should add the following to
2085 #   your kernel probe hints:
2086 #               hints.rp.0.at="isa"
2087 #               hints.rp.0.port="0x100"
2088 #               hints.rp.1.at="isa"
2089 #               hints.rp.1.port="0x180"
2090 #
2091 #   For 4 ISA cards, it might be something like this:
2092 #               hints.rp.0.at="isa"
2093 #               hints.rp.0.port="0x180"
2094 #               hints.rp.1.at="isa"
2095 #               hints.rp.1.port="0x100"
2096 #               hints.rp.2.at="isa"
2097 #               hints.rp.2.port="0x340"
2098 #               hints.rp.3.at="isa"
2099 #               hints.rp.3.port="0x240"
2100 #
2101 #   And for PCI cards, you need no hints.
2102
2103 # Notes on the Digiboard driver:
2104 #
2105 # The following flag values have special meanings in dgb:
2106 #       0x01 - alternate layout of pins
2107 #       0x02 - use the windowed PC/Xe in 64K mode
2108
2109 # Notes on the Specialix SI/XIO driver:
2110 #  The host card is memory, not IO mapped.
2111 #  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
2112 #  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
2113 #  The cards can use an IRQ of 11, 12 or 15.
2114
2115 # Notes on the Sony Programmable I/O controller
2116 #  This is a temporary driver that should someday be replaced by something
2117 #  that hooks into the ACPI layer. The device is hooked to the PIIX4's
2118 #  General Device 10 decoder, which means you have to fiddle with PCI
2119 #  registers to map it in, even though it is otherwise treated here as
2120 #  an ISA device. At the moment, the driver polls, although the device
2121 #  is capable of generating interrupts. It largely undocumented.
2122 #  The port location in the hint is where you WANT the device to be
2123 #  mapped. 0x10a0 seems to be traditional. At the moment the jogdial
2124 #  is the only thing truly supported, but aparently a fair percentage
2125 #  of the Vaio extra features are controlled by this device.
2126
2127 # Notes on the Stallion stl and stli drivers:
2128 #  See src/i386/isa/README.stl for complete instructions.
2129 #  This is version 0.0.5alpha, unsupported by Stallion.
2130 #  The stl driver has a secondary IO port hard coded at 0x280.  You need
2131 #     to change src/i386/isa/stallion.c if you reconfigure this on the boards.
2132 #  The "flags" and "msize" settings on the stli driver depend on the board:
2133 #       EasyConnection 8/64 ISA:     flags 23         msize 0x1000
2134 #       EasyConnection 8/64 EISA:    flags 24         msize 0x10000
2135 #       EasyConnection 8/64 MCA:     flags 25         msize 0x1000
2136 #       ONboard ISA:                 flags 4          msize 0x10000
2137 #       ONboard EISA:                flags 7          msize 0x10000
2138 #       ONboard MCA:                 flags 3          msize 0x10000
2139 #       Brumby:                      flags 2          msize 0x4000
2140 #       Stallion:                    flags 1          msize 0x10000
2141
2142 device          mcd     1
2143 hint.mcd.0.at="isa"
2144 hint.mcd.0.port="0x300"
2145 hint.mcd.0.irq="10"
2146 # for the Sony CDU31/33A CDROM
2147 device          scd     1
2148 hint.scd.0.at="isa"
2149 hint.scd.0.port="0x230"
2150 # for the SoundBlaster 16 multicd - up to 4 devices
2151 device          matcd   1
2152 hint.matcd.0.at="isa"
2153 hint.matcd.0.port="0x230"
2154 device          wt      1
2155 hint.wt.0.at="isa"
2156 hint.wt.0.port="0x300"
2157 hint.wt.0.irq="5"
2158 hint.wt.0.drq="1"
2159 device          ctx     1
2160 hint.ctx.0.at="isa"
2161 hint.ctx.0.port="0x230"
2162 hint.ctx.0.maddr="0xd0000"
2163 device          spigot  1
2164 hint.spigot.0.at="isa"
2165 hint.spigot.0.port="0xad6"
2166 hint.spigot.0.irq="15"
2167 hint.spigot.0.maddr="0xee000"
2168 device          apm
2169 hint.apm.0.flags="0x20"
2170 device          pmtimer                 # Adjust system timer at wakeup time
2171 hint.pmtimer.0.at="isa"
2172 device          gp
2173 hint.gp.0.at="isa"
2174 hint.gp.0.port="0x2c0"
2175 device          gsc     1
2176 hint.gsc.0.at="isa"
2177 hint.gsc.0.port="0x270"
2178 hint.gsc.0.drq="3"
2179 device          joy                     # PnP aware, hints for nonpnp only
2180 hint.joy.0.at="isa"
2181 hint.joy.0.port="0x201"
2182 device          cy      1
2183 options         CY_PCI_FASTINTR         # Use with cy_pci unless irq is shared
2184 hint.cy.0.at="isa"
2185 hint.cy.0.irq="10"
2186 hint.cy.0.maddr="0xd4000"
2187 hint.cy.0.msize="0x2000"
2188 device          dgb     1
2189 options         NDGBPORTS=16            # Defaults to 16*NDGB
2190 hint.dgb.0.at="isa"
2191 hint.dgb.0.port="0x220"
2192 hint.dgb.0.maddr="0xfc000"
2193 device          digi
2194 hint.digi.0.at="isa"
2195 hint.digi.0.port="0x104"
2196 hint.digi.0.maddr="0xd0000"
2197 # BIOS & FEP/OS components of device digi.  Normally left as modules
2198 device          digi_CX
2199 device          digi_CX_PCI
2200 device          digi_EPCX
2201 device          digi_EPCX_PCI
2202 device          digi_Xe
2203 device          digi_Xem
2204 device          digi_Xr
2205 device          rc      1
2206 hint.rc.0.at="isa"
2207 hint.rc.0.port="0x220"
2208 hint.rc.0.irq="12"
2209 device          rp
2210 hint.rp.0.at="isa"
2211 hint.rp.0.port="0x280"
2212 # the port and irq for tw0 are fictitious
2213 device          tw      1
2214 hint.tw.0.at="isa"
2215 hint.tw.0.port="0x380"
2216 hint.tw.0.irq="11"
2217 device          si
2218 options         SI_DEBUG
2219 hint.si.0.at="isa"
2220 hint.si.0.maddr="0xd0000"
2221 hint.si.0.irq="12"
2222 device          asc     1
2223 hint.asc.0.at="isa"
2224 hint.asc.0.port="0x3EB"
2225 hint.asc.0.drq="3"
2226 hint.asc.0.irq="10"
2227 device          spic
2228 hint.spic.0.at="isa"
2229 hint.spic.0.port="0x10a0"
2230 device          stl
2231 hint.stl.0.at="isa"
2232 hint.stl.0.port="0x2a0"
2233 hint.stl.0.irq="10"
2234 device          stli
2235 hint.stli.0.at="isa"
2236 hint.stli.0.port="0x2a0"
2237 hint.stli.0.maddr="0xcc000"
2238 hint.stli.0.flags="23"
2239 hint.stli.0.msize="0x1000"
2240 # You are unlikely to have the hardware for loran <phk@FreeBSD.org>
2241 device          loran
2242 hint.loran.0.at="isa"
2243 hint.loran.0.irq="5"
2244 # HOT1 Xilinx 6200 card (http://www.vcc.com/)
2245 device          xrpu
2246 # nullmodem terminal driver
2247 device          nmdm
2248
2249 #
2250 # The `meteor' device is a PCI video capture board. It can also have the
2251 # following options:
2252 #   options METEOR_ALLOC_PAGES=xxx      preallocate kernel pages for data entry
2253 #       figure (ROWS*COLUMN*BYTES_PER_PIXEL*FRAME+PAGE_SIZE-1)/PAGE_SIZE
2254 #   options METEOR_DEALLOC_PAGES        remove all allocated pages on close(2)
2255 #   options METEOR_DEALLOC_ABOVE=xxx    remove all allocated pages above the
2256 #       specified amount. If this value is below the allocated amount no action
2257 #       taken
2258 #   options METEOR_SYSTEM_DEFAULT={METEOR_PAL|METEOR_NTSC|METEOR_SECAM}, used
2259 #       for initialization of fps routine when a signal is not present.
2260 #
2261 # The 'bktr' device is a PCI video capture device using the Brooktree
2262 # bt848/bt848a/bt849a/bt878/bt879 chipset. When used with a TV Tuner it forms a
2263 # TV card, eg Miro PC/TV, Hauppauge WinCast/TV WinTV, VideoLogic Captivator,
2264 # Intel Smart Video III, AverMedia, IMS Turbo, FlyVideo.
2265 #
2266 # options       OVERRIDE_CARD=xxx
2267 # options       OVERRIDE_TUNER=xxx
2268 # options       OVERRIDE_MSP=1
2269 # options       OVERRIDE_DBX=1
2270 # These options can be used to override the auto detection
2271 # The current values for xxx are found in src/sys/dev/bktr/bktr_card.h
2272 # Using sysctl(8) run-time overrides on a per-card basis can be made
2273 #
2274 # options       BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL
2275 # or
2276 # options       BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_NTSC
2277 # Specifes the default video capture mode.
2278 # This is required for Dual Crystal (28&35Mhz) boards where PAL is used
2279 # to prevent hangs during initialisation.  eg VideoLogic Captivator PCI.
2280 #
2281 # options       BKTR_USE_PLL
2282 # PAL or SECAM users who have a 28Mhz crystal (and no 35Mhz crystal)
2283 # must enable PLL mode with this option. eg some new Bt878 cards.
2284 #
2285 # options       BKTR_GPIO_ACCESS
2286 # This enable IOCTLs which give user level access to the GPIO port.
2287 #
2288 # options       BKTR_NO_MSP_RESET
2289 # Prevents the MSP34xx reset. Good if you initialise the MSP in another OS first
2290 #
2291 # options       BKTR_430_FX_MODE
2292 # Switch Bt878/879 cards into Intel 430FX chipset compatibility mode.
2293 #
2294 # options       BKTR_SIS_VIA_MODE
2295 # Switch Bt878/879 cards into SIS/VIA chipset compatibility mode which is
2296 # needed for some old SiS and VIA chipset motherboards.
2297 # This also allows Bt878/879 chips to work on old OPTi (<1997) chipset
2298 # motherboards and motherboards with bad or incomplete PCI 2.1 support.
2299 # As a rough guess, old = before 1998
2300 #
2301
2302 device          meteor  1
2303
2304 # Brooktree driver has been ported to the new I2C framework. Thus,
2305 # you'll need to have the following 3 lines in the kernel config.
2306 #     device smbus
2307 #     device iicbus
2308 #     device iicbb
2309 # The iic and smb devices are only needed if you want to control other
2310 # I2C slaves connected to the external connector of some cards.
2311 #
2312 device          bktr    1
2313
2314 #
2315 # PC Card/PCMCIA
2316 # (OLDCARD)
2317 #
2318 # card: pccard slots
2319 # pcic: isa/pccard bridge
2320 device          pcic
2321 hint.pcic.0.at="isa"
2322 hint.pcic.1.at="isa"
2323 device          card
2324
2325 #
2326 # PC Card/PCMCIA and Cardbus
2327 # (NEWCARD)
2328 #
2329 # Note that NEWCARD and OLDCARD are incompatible.  Do not use both at the same
2330 # time.
2331 #
2332 # pccbb: isa/pccard and pci/cardbus bridge
2333 # pccard: pccard slots
2334 # cardbus: cardbus slots
2335 #device         pccbb
2336 #device         pccard
2337 #device         cardbus
2338
2339 # You may need to reset all pccards after resuming
2340 options         PCIC_RESUME_RESET       # reset after resume
2341
2342 #
2343 # Laptop/Notebook options:
2344 #
2345 # See also:
2346 #  apm under `Miscellaneous hardware'
2347 # above.
2348
2349 # For older notebooks that signal a powerfail condition (external
2350 # power supply dropped, or battery state low) by issuing an NMI:
2351
2352 options         POWERFAIL_NMI   # make it beep instead of panicing
2353
2354 #
2355 # SMB bus
2356 #
2357 # System Management Bus support is provided by the 'smbus' device.
2358 # Access to the SMBus device is via the 'smb' device (/dev/smb*),
2359 # which is a child of the 'smbus' device.
2360 #
2361 # Supported devices:
2362 # smb           standard io through /dev/smb*
2363 #
2364 # Supported SMB interfaces:
2365 # iicsmb        I2C to SMB bridge with any iicbus interface
2366 # bktr          brooktree848 I2C hardware interface
2367 # intpm         Intel PIIX4 Power Management Unit
2368 # alpm          Acer Aladdin-IV/V/Pro2 Power Management Unit
2369 # ichsmb        Intel ICH SMBus controller chips (82801AA, 82801AB, 82801BA)
2370 #
2371 device          smbus           # Bus support, required for smb below.
2372
2373 device          intpm
2374 device          alpm
2375 device          ichsmb
2376
2377 device          smb
2378
2379 #
2380 # I2C Bus
2381 #
2382 # Philips i2c bus support is provided by the `iicbus' device.
2383 #
2384 # Supported devices:
2385 # ic    i2c network interface
2386 # iic   i2c standard io
2387 # iicsmb i2c to smb bridge. Allow i2c i/o with smb commands.
2388 #
2389 # Supported interfaces:
2390 # pcf   Philips PCF8584 ISA-bus controller
2391 # bktr  brooktree848 I2C software interface
2392 #
2393 # Other:
2394 # iicbb generic I2C bit-banging code (needed by lpbb, bktr)
2395 #
2396 device          iicbus          # Bus support, required for ic/iic/iicsmb below.
2397 device          iicbb
2398
2399 device          ic
2400 device          iic
2401 device          iicsmb          # smb over i2c bridge
2402
2403 device          pcf
2404 hint.pcf.0.at="isa"
2405 hint.pcf.0.port="0x320"
2406 hint.pcf.0.irq="5"
2407
2408 #---------------------------------------------------------------------------
2409 # ISDN4BSD
2410 #
2411 # See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
2412 #
2413 # i4b passive ISDN cards support contains the following hardware drivers:
2414 #
2415 #       isic  - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
2416 #       iwic  - Winbond W6692 PCI bus ISDN S/T interface controller
2417 #       ifpi  - AVM Fritz!Card PCI driver
2418 #       ihfc  - Cologne Chip HFC ISA/ISA-PnP chipset driver
2419 #       ifpnp - AVM Fritz!Card PnP driver 
2420 #       itjc  - Siemens ISAC / TJNet Tiger300/320 chipset
2421 #
2422 # i4b active ISDN cards support contains the following hardware drivers:
2423 #
2424 #       iavc  - AVM B1 PCI, AVM B1 ISA, AVM T1
2425 #
2426 # Note that the ``options'' (if given) and ``device'' lines must BOTH
2427 # be uncommented to enable support for a given card !
2428 #
2429 # In addition to a hardware driver (and probably an option) the mandatory
2430 # ISDN protocol stack devices and the mandatory support device must be 
2431 # enabled as well as one or more devices from the optional devices section.
2432 #
2433 #---------------------------------------------------------------------------
2434 #       isic driver (Siemens/Infineon chipsets)
2435 #
2436 device  isic
2437 #
2438 # ISA bus non-PnP Cards:
2439 # ----------------------
2440 #
2441 # Teles S0/8 or Niccy 1008
2442 options         TEL_S0_8
2443 hint.isic.0.at="isa"
2444 hint.isic.0.maddr="0xd0000"
2445 hint.isic.0.irq="5"
2446 hint.isic.0.flags="1"
2447 #
2448 # Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
2449 options         TEL_S0_16
2450 hint.isic.0.at="isa"
2451 hint.isic.0.port="0xd80"
2452 hint.isic.0.maddr="0xd0000"
2453 hint.isic.0.irq="5"
2454 hint.isic.0.flags="2"
2455 #
2456 # Teles S0/16.3
2457 options         TEL_S0_16_3
2458 hint.isic.0.at="isa"
2459 hint.isic.0.port="0xd80"
2460 hint.isic.0.irq="5"
2461 hint.isic.0.flags="3"
2462 #
2463 # AVM A1 or AVM Fritz!Card
2464 options         AVM_A1
2465 hint.isic.0.at="isa"
2466 hint.isic.0.port="0x340"
2467 hint.isic.0.irq="5"
2468 hint.isic.0.flags="4"
2469 #
2470 # USRobotics Sportster ISDN TA intern
2471 options         USR_STI
2472 hint.isic.0.at="isa"
2473 hint.isic.0.port="0x268"
2474 hint.isic.0.irq="5"
2475 hint.isic.0.flags="7"
2476 #
2477 # ITK ix1 Micro ( < V.3, non-PnP version )
2478 options         ITKIX1
2479 hint.isic.0.at="isa"
2480 hint.isic.0.port="0x398"
2481 hint.isic.0.irq="10"
2482 hint.isic.0.flags="18"
2483 #
2484 # ELSA PCC-16
2485 options         ELSA_PCC16
2486 hint.isic.0.at="isa"
2487 hint.isic.0.port="0x360"
2488 hint.isic.0.irq="10"
2489 hint.isic.0.flags="20"
2490 #
2491 # ISA bus PnP Cards:
2492 # ------------------
2493 #
2494 # Teles S0/16.3 PnP
2495 options         TEL_S0_16_3_P
2496 #
2497 # Creatix ISDN-S0 P&P
2498 options         CRTX_S0_P
2499 #
2500 # Dr. Neuhaus Niccy Go@
2501 options         DRN_NGO
2502 #
2503 # Sedlbauer Win Speed
2504 options         SEDLBAUER
2505 #
2506 # Dynalink IS64PH
2507 options         DYNALINK 
2508 #
2509 # ELSA QuickStep 1000pro ISA
2510 options         ELSA_QS1ISA
2511 #
2512 # Siemens I-Surf 2.0
2513 options         SIEMENS_ISURF2
2514 #
2515 # Asuscom ISDNlink 128K ISA
2516 options         ASUSCOM_IPAC
2517 #
2518 # Eicon Diehl DIVA 2.0 and 2.02
2519 options         EICON_DIVA
2520 #
2521 # Compaq Microcom 610 ISDN card (Compaq series PSB2222I)
2522 options         COMPAQ_M610
2523 #
2524 # PCI bus Cards:
2525 # --------------
2526 #
2527 # ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
2528 options         ELSA_QS1PCI
2529 #
2530 #
2531 #---------------------------------------------------------------------------
2532 #       ifpnp driver for AVM Fritz!Card PnP
2533 #
2534 # AVM Fritz!Card PnP
2535 device ifpnp
2536 #
2537 #---------------------------------------------------------------------------
2538 #       ihfc driver for Cologne Chip ISA chipsets (experimental!)
2539 #
2540 # Teles 16.3c ISA PnP
2541 # AcerISDN P10 ISA PnP
2542 # TELEINT ISDN SPEED No.1
2543 device ihfc
2544 #
2545 #---------------------------------------------------------------------------
2546 #       ifpi driver for AVM Fritz!Card PCI
2547 #
2548 # AVM Fritz!Card PCI
2549 device  ifpi
2550 #
2551 #---------------------------------------------------------------------------
2552 #       iwic driver for Winbond W6692 chipset
2553 #
2554 # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
2555 device  iwic
2556 #
2557 #---------------------------------------------------------------------------
2558 #       itjc driver for Simens ISAC / TJNet Tiger300/320 chipset
2559 #
2560 # Traverse Technologies NETjet-S
2561 # Teles PCI-TJ
2562 device  itjc
2563 #
2564 #---------------------------------------------------------------------------
2565 #       iavc driver (AVM active cards, needs i4bcapi driver!)
2566 #
2567 device  iavc
2568 #
2569 # AVM B1 ISA bus (PnP mode not supported!)
2570 # ----------------------------------------
2571 hint.iavc.0.at="isa"
2572 hint.iavc.0.port="0x150"
2573 hint.iavc.0.irq="5"
2574 #
2575 #---------------------------------------------------------------------------
2576 #       ISDN Protocol Stack - mandatory for all hardware drivers
2577 #
2578 # Q.921 / layer 2 - i4b passive cards D channel handling
2579 device          "i4bq921"
2580 #
2581 # Q.931 / layer 3 - i4b passive cards D channel handling
2582 device          "i4bq931"
2583 #
2584 # layer 4 - i4b common passive and active card handling
2585 device          "i4b"
2586 #
2587 #---------------------------------------------------------------------------
2588 #       ISDN devices - mandatory for all hardware drivers
2589 #
2590 # userland driver to do ISDN tracing (for passive cards only)
2591 device          "i4btrc"        4
2592 #
2593 # userland driver to control the whole thing
2594 device          "i4bctl"
2595 #
2596 #---------------------------------------------------------------------------
2597 #       ISDN devices - optional
2598 #
2599 # userland driver for access to raw B channel
2600 device          "i4brbch"       4
2601 #
2602 # userland driver for telephony
2603 device          "i4btel"        2
2604 #
2605 # network driver for IP over raw HDLC ISDN
2606 device          "i4bipr"        4
2607 # enable VJ header compression detection for ipr i/f
2608 options         IPR_VJ
2609 # enable logging of the first n IP packets to isdnd (n=32 here)
2610 options         IPR_LOG=32
2611 #
2612 # network driver for sync PPP over ISDN; requires an equivalent
2613 # number of sppp device to be configured
2614 device          "i4bisppp"      4
2615 #
2616 # B-channel interface to the netgraph subsystem
2617 device          "i4bing"        2
2618 #
2619 # CAPI driver needed for active ISDN cards (see iavc driver above)
2620 device          "i4bcapi"
2621 #
2622 #---------------------------------------------------------------------------
2623
2624 # Parallel-Port Bus
2625 #
2626 # Parallel port bus support is provided by the `ppbus' device.
2627 # Multiple devices may be attached to the parallel port, devices
2628 # are automatically probed and attached when found.
2629 #
2630 # Supported devices:
2631 # vpo   Iomega Zip Drive
2632 #       Requires SCSI disk support ('scbus' and 'da'), best
2633 #       performance is achieved with ports in EPP 1.9 mode.
2634 # lpt   Parallel Printer
2635 # plip  Parallel network interface
2636 # ppi   General-purpose I/O ("Geek Port") + IEEE1284 I/O
2637 # pps   Pulse per second Timing Interface
2638 # lpbb  Philips official parallel port I2C bit-banging interface
2639 #
2640 # Supported interfaces:
2641 # ppc   ISA-bus parallel port interfaces.
2642 #
2643
2644 options         PPC_PROBE_CHIPSET # Enable chipset specific detection
2645                                   # (see flags in ppc(4))
2646 options         DEBUG_1284      # IEEE1284 signaling protocol debug
2647 options         PERIPH_1284     # Makes your computer act as a IEEE1284
2648                                 # compliant peripheral
2649 options         DONTPROBE_1284  # Avoid boot detection of PnP parallel devices
2650 options         VP0_DEBUG       # ZIP/ZIP+ debug
2651 options         LPT_DEBUG       # Printer driver debug
2652 options         PPC_DEBUG       # Parallel chipset level debug
2653 options         PLIP_DEBUG      # Parallel network IP interface debug
2654 options         PCFCLOCK_VERBOSE         # Verbose pcfclock driver
2655 options         PCFCLOCK_MAX_RETRIES=5   # Maximum read tries (default 10)
2656
2657 device          ppc
2658 hint.ppc.0.at="isa"
2659 hint.ppc.0.irq="7"
2660 device          ppbus
2661 device          vpo
2662 device          lpt
2663 device          plip
2664 device          ppi
2665 device          pps
2666 device          lpbb
2667 device          pcfclock
2668
2669 # Kernel BOOTP support
2670
2671 options         BOOTP           # Use BOOTP to obtain IP address/hostname
2672 options         BOOTP_NFSROOT   # NFS mount root filesystem using BOOTP info
2673 options         BOOTP_NFSV3     # Use NFS v3 to NFS mount root
2674 options         BOOTP_COMPAT    # Workaround for broken bootp daemons.
2675 options         BOOTP_WIRED_TO=fxp0 # Use interface fxp0 for BOOTP
2676
2677 #
2678 # Add tie-ins for a hardware watchdog.  This only enable the hooks;
2679 # the user must still supply the actual driver.
2680 #
2681 options         HW_WDOG
2682
2683 #
2684 # Set the number of PV entries per process.  Increasing this can
2685 # stop panics related to heavy use of shared memory. However, that can
2686 # (combined with large amounts of physical memory) cause panics at
2687 # boot time due the kernel running out of VM space.
2688 #
2689 # If you're tweaking this, you might also want to increase the sysctls
2690 # "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
2691 #
2692 # The value below is the one more than the default.
2693 #
2694 options         PMAP_SHPGPERPROC=201
2695
2696 #
2697 # Change the size of the kernel virtual address space.  Due to
2698 # constraints in loader(8) on i386, this must be a multiple of 4.
2699 # 256 = 1 GB of kernel address space.  Increasing this also causes
2700 # a reduction of the address space in user processes.  512 splits
2701 # the 4GB cpu address space in half (2GB user, 2GB kernel).
2702 #
2703 options         KVA_PAGES=260
2704
2705 #
2706 # Disable swapping. This option removes all code which actually performs
2707 # swapping, so it's not possible to turn it back on at run-time.
2708 #
2709 # This is sometimes usable for systems which don't have any swap space
2710 # (see also sysctls "vm.defer_swapspace_pageouts" and
2711 # "vm.disable_swapspace_pageouts")
2712 #
2713 #options        NO_SWAPPING
2714
2715 # Set the number of sf_bufs to allocate. sf_bufs are virtual buffers
2716 # for sendfile(2) that are used to map file VM pages, and normally
2717 # default to a quantity that is roughly 16*MAXUSERS+512. You would
2718 # typically want about 4 of these for each simultaneous file send.
2719 #
2720 options         NSFBUFS=1024
2721
2722 #
2723 # Enable extra debugging code for locks.  This stores the filename and
2724 # line of whatever acquired the lock in the lock itself, and change a
2725 # number of function calls to pass around the relevant data.  This is
2726 # not at all useful unless you are debugging lock code.  Also note
2727 # that it is likely to break e.g. fstat(1) unless you recompile your
2728 # userland with -DDEBUG_LOCKS as well.
2729 #
2730 options         DEBUG_LOCKS
2731
2732 \f
2733 #####################################################################
2734 # ABI Emulation
2735
2736 # Enable iBCS2 runtime support for SCO and ISC binaries
2737 options         IBCS2
2738
2739 # Emulate spx device for client side of SVR3 local X interface
2740 options         SPX_HACK
2741
2742 # Enable Linux ABI emulation
2743 options         COMPAT_LINUX
2744
2745 # Enable the linux-like proc filesystem support (requires COMPAT_LINUX
2746 # and PSEUDOFS)
2747 options         LINPROCFS
2748
2749 # Linux debugging
2750 options         DEBUG_LINUX
2751
2752 #
2753 # SysVR4 ABI emulation
2754 #
2755 # The svr4 ABI emulator can be statically compiled into the kernel or loaded as
2756 # a KLD module.  
2757 # The STREAMS network emulation code can also be compiled statically or as a 
2758 # module.  If loaded as a module, it must be loaded before the svr4 module
2759 # (the /usr/sbin/svr4 script does this for you).  If compiling statically,
2760 # the `streams' device must be configured into any kernel which also
2761 # specifies COMPAT_SVR4.  It is possible to have a statically-configured 
2762 # STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
2763 # script understands that it doesn't need to load the `streams' module under
2764 # those circumstances.
2765 # Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
2766 # (whether static or dynamic).  
2767
2768 options         COMPAT_SVR4     # build emulator statically
2769 options         DEBUG_SVR4      # enable verbose debugging
2770 device          streams         # STREAMS network driver (required for svr4).
2771
2772 \f
2773 #####################################################################
2774 # USB support
2775 # UHCI controller
2776 device          uhci
2777 # OHCI controller
2778 device          ohci
2779 # General USB code (mandatory for USB)
2780 device          usb
2781 #
2782 # USB Double Bulk Pipe devices
2783 device          udbp
2784 # Generic USB device driver
2785 device          ugen
2786 # Human Interface Device (anything with buttons and dials)
2787 device          uhid
2788 # USB keyboard
2789 device          ukbd
2790 # USB printer
2791 device          ulpt
2792 # USB Iomega Zip 100 Drive (Requires scbus and da)
2793 device          umass
2794 # USB modem support
2795 device          umodem
2796 # USB mouse
2797 device          ums
2798 # Diamond Rio 500 Mp3 player
2799 device          urio
2800 # USB scanners
2801 device          uscanner
2802 #
2803 # ADMtek USB ethernet. Supports the LinkSys USB100TX,
2804 # the Billionton USB100, the Melco LU-ATX, the D-Link DSB-650TX
2805 # and the SMC 2202USB. Also works with the ADMtek AN986 Pegasus
2806 # eval board.
2807 device          aue
2808 #
2809 # CATC USB-EL1201A USB ethernet. Supports the CATC Netmate
2810 # and Netmate II, and the Belkin F5U111.
2811 device          cue
2812 #
2813 # Kawasaki LSI ethernet. Supports the LinkSys USB10T,
2814 # Entrega USB-NET-E45, Peracom Ethernet Adapter, the
2815 # 3Com 3c19250, the ADS Technologies USB-10BT, the ATen UC10T,
2816 # the Netgear EA101, the D-Link DSB-650, the SMC 2102USB
2817 # and 2104USB, and the Corega USB-T.
2818 device          kue
2819
2820 # debugging options for the USB subsystem
2821 #
2822 options         UHCI_DEBUG
2823 options         OHCI_DEBUG
2824 options         USB_DEBUG
2825
2826 options         UGEN_DEBUG
2827 options         UHID_DEBUG
2828 options         UHUB_DEBUG
2829 options         UKBD_DEBUG
2830 options         ULPT_DEBUG
2831 options         UMASS_DEBUG
2832 options         UMS_DEBUG
2833 options         URIO_DEBUG
2834
2835 # options for ukbd:
2836 options         UKBD_DFLT_KEYMAP        # specify the built-in keymap
2837 makeoptions     UKBD_DFLT_KEYMAP=it.iso
2838
2839 #
2840 # Embedded system options:
2841 #
2842 # An embedded system might want to run something other than init.
2843 options         INIT_PATH="/sbin/init:/stand/sysinstall"
2844
2845 # Debug options
2846 options         BUS_DEBUG       # enable newbus debugging
2847 options         DEBUG_VFS_LOCKS # enable vfs lock debugging
2848 options         NPX_DEBUG       # enable npx debugging (FPU/math emu)
2849
2850 #####################################################################
2851 # SYSV IPC KERNEL PARAMETERS
2852 #
2853 # Maximum number of entries in a semaphore map.
2854 options         SEMMAP=31
2855
2856 # Maximum number of System V semaphores that can be used on the system at
2857 # one time. 
2858 options         SEMMNI=11
2859
2860 # Total number of semaphores system wide
2861 options         SEMMNS=61
2862
2863 # Total number of undo structures in system
2864 options         SEMMNU=31
2865
2866 # Maximum number of System V semaphores that can be used by a single process
2867 # at one time. 
2868 options         SEMMSL=61
2869
2870 # Maximum number of operations that can be outstanding on a single System V
2871 # semaphore at one time. 
2872 options         SEMOPM=101
2873
2874 # Maximum number of undo operations that can be outstanding on a single
2875 # System V semaphore at one time. 
2876 options         SEMUME=11
2877
2878 # Maximum number of shared memory pages system wide.
2879 options         SHMALL=1025
2880
2881 # Maximum size, in bytes, of a single System V shared memory region. 
2882 options         SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
2883 options         SHMMAXPGS=1025
2884
2885 # Minimum size, in bytes, of a single System V shared memory region. 
2886 options         SHMMIN=2
2887
2888 # Maximum number of shared memory regions that can be used on the system
2889 # at one time. 
2890 options         SHMMNI=33
2891
2892 # Maximum number of System V shared memory regions that can be attached to
2893 # a single process at one time. 
2894 options         SHMSEG=9
2895
2896 # Set the amount of time (in seconds) the system will wait before
2897 # rebooting automatically when a kernel panic occurs.  If set to (-1),
2898 # the system will wait indefinitely until a key is pressed on the
2899 # console.
2900 options         PANIC_REBOOT_WAIT_TIME=16
2901
2902 #####################################################################
2903
2904 # More undocumented options for linting.
2905 # Note that documenting these are not considered an affront.
2906
2907 options         CAM_DEBUG_DELAY
2908
2909 # VFS cluster debugging.
2910 options         CLUSTERDEBUG
2911
2912 options         DEBUG
2913
2914 # PECOFF module (Win32 Execution Format)
2915 options         PECOFF_SUPPORT
2916 options         PECOFF_DEBUG
2917
2918 # Disable the 4 MByte PSE CPU feature.
2919 #options        DISABLE_PSE
2920
2921 options         ENABLE_ALART
2922 options         I4B_SMP_WORKAROUND
2923 options         I586_PMC_GUPROF=0x70000
2924 options         KBDIO_DEBUG=2
2925 options         KBD_MAXRETRY=4
2926 options         KBD_MAXWAIT=6
2927 options         KBD_RESETDELAY=201
2928
2929 # Enable the PF_KEY Key Management API.
2930 options         KEY
2931
2932 # Kernel filelock debugging.
2933 options         LOCKF_DEBUG
2934
2935 # System V compatible message queues
2936 # Please note that the values provided here are used to test kernel
2937 # building.  The defaults in the sources provide almost the same numbers.
2938 # MSGSSZ must be a power of 2 between 8 and 1024.
2939 options         MSGMNB=2049     # Max number of chars in queue
2940 options         MSGMNI=41       # Max number of message queue identifiers
2941 options         MSGSEG=2049     # Max number of message segments
2942 options         MSGSSZ=16       # Size of a message segment
2943 options         MSGTQL=41       # Max number of messages in system
2944
2945 options         NBUF=512        # Number of buffer headers
2946
2947 options         NMBCLUSTERS=1024        # Number of mbuf clusters
2948
2949 options         PSM_DEBUG=1
2950
2951 options         SCSI_NCR_DEBUG
2952 options         SCSI_NCR_MAX_SYNC=10000
2953 options         SCSI_NCR_MAX_WIDE=1
2954 options         SCSI_NCR_MYADDR=7
2955
2956 options         SC_DEBUG_LEVEL=5        # Syscons debug level
2957 options         SC_RENDER_DEBUG # syscons rendering debugging
2958
2959 options         SHOW_BUSYBUFS   # List buffers that prevent root unmount
2960 options         SIMPLELOCK_DEBUG
2961 options         SLIP_IFF_OPTS
2962 options         TIMER_FREQ="((14318182+6)/12)"
2963 options         VFS_BIO_DEBUG   # VFS buffer I/O debugging
2964
2965 options         VM_KMEM_SIZE
2966 options         VM_KMEM_SIZE_MAX
2967 options         VM_KMEM_SIZE_SCALE