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