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