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