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