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