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