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