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