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