xref: /dragonfly/sys/config/LINT64 (revision eff15082)
1745b8439SSascha Wildner#
2745b8439SSascha Wildner# X86_64_LINT -- config file for checking all the sources, tries to pull in
3745b8439SSascha Wildner#	as much of the source tree as it can.
4745b8439SSascha Wildner#
5745b8439SSascha Wildner# $FreeBSD: src/sys/i386/conf/LINT,v 1.749.2.144 2003/06/04 17:56:59 sam Exp $
6745b8439SSascha Wildner#
7745b8439SSascha Wildner# See the kernconf(5) manual page for more information on the format of
8745b8439SSascha Wildner# this file.
9745b8439SSascha Wildner#
10745b8439SSascha Wildner# NB: You probably don't want to try running a kernel built from this
11745b8439SSascha Wildner# file.  Instead, you should start from X86_64_GENERIC, and add options
12745b8439SSascha Wildner# from this file as required.
13745b8439SSascha Wildner#
14745b8439SSascha Wildner
15745b8439SSascha Wildner# These directives are mandatory.  The machine directive specifies the
16745b8439SSascha Wildner# platform and the machine_arch directive specifies the cpu architecture.
17745b8439SSascha Wildner#
18745b8439SSascha Wildnerplatform	pc64
19745b8439SSascha Wildnermachine		x86_64
20745b8439SSascha Wildnermachine_arch	x86_64
21745b8439SSascha Wildner
22745b8439SSascha Wildner#
23745b8439SSascha Wildner# This is the ``identification'' of the kernel.  Usually this should
24745b8439SSascha Wildner# be the same as the name of your kernel.
25745b8439SSascha Wildner#
26745b8439SSascha Wildnerident		X86_64_LINT
27745b8439SSascha Wildner
28745b8439SSascha Wildner#
29745b8439SSascha Wildner# The `maxusers' parameter controls the static sizing of a number of
30745b8439SSascha Wildner# internal system tables by a formula defined in subr_param.c.  Setting
31745b8439SSascha Wildner# maxusers to 0 will cause the system to auto-size based on physical
32745b8439SSascha Wildner# memory.
33745b8439SSascha Wildner#
34745b8439SSascha Wildnermaxusers	10
35745b8439SSascha Wildner
36745b8439SSascha Wildner#
37745b8439SSascha Wildner# The `makeoptions' parameter allows variables to be passed to the
38745b8439SSascha Wildner# generated Makefile in the build area.
39745b8439SSascha Wildner#
40745b8439SSascha Wildner# CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
41745b8439SSascha Wildner# after most other flags.  Here we use it to inhibit use of non-optimal
42745b8439SSascha Wildner# gcc builtin functions (e.g., memcmp).
43745b8439SSascha Wildner#
44745b8439SSascha Wildner# DEBUG happens to be magic.
45745b8439SSascha Wildner# The following is equivalent to 'config -g KERNELNAME' and creates
46745b8439SSascha Wildner# 'kernel.debug' compiled with -g debugging as well as a normal
47745b8439SSascha Wildner# 'kernel'.  Use 'make install.debug' to install the debug kernel
48745b8439SSascha Wildner# but that isn't normally necessary as the debug symbols are not loaded
49745b8439SSascha Wildner# by the kernel and are not useful there anyway.
50745b8439SSascha Wildner#
51745b8439SSascha Wildner# KERNEL can be overridden so that you can change the default name of your
52745b8439SSascha Wildner# kernel.
53745b8439SSascha Wildner#
54745b8439SSascha Wildner# MODULES_OVERRIDE can be used to limit modules built to a specific list.
55745b8439SSascha Wildner#
56745b8439SSascha Wildner# INSTALLSTRIPPED can be set to cause installkernel to install stripped
57745b8439SSascha Wildner# kernels and modules rather than a kernel and modules with debug symbols.
58745b8439SSascha Wildner#
59745b8439SSascha Wildner# INSTALLSTRIPPEDMODULES can be set to allow a full debug kernel to be
60745b8439SSascha Wildner# installed, but to strip the installed modules.
61745b8439SSascha Wildner#
62745b8439SSascha Wildnermakeoptions	CONF_CFLAGS=-fno-builtin  #Don't allow use of memcmp, etc.
63745b8439SSascha Wildner#makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
64745b8439SSascha Wildner#makeoptions	KERNEL=foo		#Build kernel "foo" and install "/foo"
656737a4ffSSascha Wildner# Only build those parts of the sound system I need.
666737a4ffSSascha Wildner#makeoptions	MODULES_OVERRIDE="sound/snd sound/pcm"
67745b8439SSascha Wildner#makeoptions	INSTALLSTRIPPED=1
68745b8439SSascha Wildner#makeoptions	INSTALLSTRIPPEDMODULES=1
69745b8439SSascha Wildner
70745b8439SSascha Wildner#
71745b8439SSascha Wildner# Certain applications can grow to be larger than the 128M limit
72745b8439SSascha Wildner# that DragonFly initially imposes.  Below are some options to
73745b8439SSascha Wildner# allow that limit to grow to 256MB, and can be increased further
74745b8439SSascha Wildner# with changing the parameters.  MAXDSIZ is the maximum that the
75745b8439SSascha Wildner# limit can be set to, and the DFLDSIZ is the default value for
76745b8439SSascha Wildner# the limit.  MAXSSIZ is the maximum that the stack limit can be
77745b8439SSascha Wildner# set to.  You might want to set the default lower than the max,
78745b8439SSascha Wildner# and explicitly set the maximum with a shell command for processes
79745b8439SSascha Wildner# that regularly exceed the limit like INND.
80745b8439SSascha Wildner#
81745b8439SSascha Wildneroptions 	MAXDSIZ="(256*1024*1024)"
82745b8439SSascha Wildneroptions 	MAXSSIZ="(256*1024*1024)"
83745b8439SSascha Wildneroptions 	DFLDSIZ="(256*1024*1024)"
84745b8439SSascha Wildner
85745b8439SSascha Wildner#
86745b8439SSascha Wildner# BLKDEV_IOSIZE sets the default block size used in user block
87745b8439SSascha Wildner# device I/O.  Note that this value will be overridden by the label
88745b8439SSascha Wildner# when specifying a block device from a label with a non-0
89745b8439SSascha Wildner# partition blocksize.  The default is PAGE_SIZE.
90745b8439SSascha Wildner#
91745b8439SSascha Wildneroptions 	BLKDEV_IOSIZE=8192
92745b8439SSascha Wildner
93745b8439SSascha Wildner# This allows you to actually store this configuration file into
94745b8439SSascha Wildner# the kernel binary itself, where it may be later read by saying:
95745b8439SSascha Wildner#    strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
96745b8439SSascha Wildner#
97745b8439SSascha Wildneroptions 	INCLUDE_CONFIG_FILE     # Include this file in kernel
98745b8439SSascha Wildner
99745b8439SSascha Wildner#
100745b8439SSascha Wildner# The root device and filesystem type can be compiled in;
101745b8439SSascha Wildner# this provides a fallback option if the root device cannot
102745b8439SSascha Wildner# be correctly guessed by the bootstrap code, or an override if
103745b8439SSascha Wildner# the RB_DFLTROOT flag (-r) is specified when booting the kernel.
104745b8439SSascha Wildner#
105745b8439SSascha Wildneroptions 	ROOTDEVNAME=\"ufs:da0s2e\"
106745b8439SSascha Wildner
107745b8439SSascha Wildner#####################################################################
108745b8439SSascha Wildner# CPU OPTIONS
109745b8439SSascha Wildner
110745b8439SSascha Wildnercpu		HAMMER_CPU
111745b8439SSascha Wildner
112745b8439SSascha Wildner#
113745b8439SSascha Wildner# Options for CPU features.
114745b8439SSascha Wildner#
1155cf56a8dSAlex Hornung# CPU_DISABLE_AVX disables AVX instruction set.
1165cf56a8dSAlex Hornung#
1175cf56a8dSAlex Hornungoptions 	CPU_DISABLE_AVX
118ebea24c3SSascha Wildner
119745b8439SSascha Wildner#####################################################################
120745b8439SSascha Wildner# COMPATIBILITY OPTIONS
121745b8439SSascha Wildner
122efba76b4SSascha Wildner# Enable NDIS binary driver support
123efba76b4SSascha Wildneroptions 	NDISAPI
124efba76b4SSascha Wildnerdevice		ndis
125efba76b4SSascha Wildner
126745b8439SSascha Wildner#
127745b8439SSascha Wildner# These three options provide support for System V Interface
128745b8439SSascha Wildner# Definition-style interprocess communication, in the form of shared
129745b8439SSascha Wildner# memory, semaphores, and message queues, respectively.
130745b8439SSascha Wildner#
131745b8439SSascha Wildner# System V shared memory and tunable parameters
132745b8439SSascha Wildneroptions 	SHMMIN=2	# min shared memory segment size (bytes)
133745b8439SSascha Wildneroptions 	SHMMNI=33	# max number of shared memory identifiers
134745b8439SSascha Wildneroptions 	SHMSEG=9	# max shared memory segments per process
135745b8439SSascha Wildner
136745b8439SSascha Wildner# System V semaphores and tunable parameters
137745b8439SSascha Wildneroptions 	SEMMAP=31	# amount of entries in semaphore map
138745b8439SSascha Wildneroptions 	SEMMNI=11	# number of semaphore identifiers in the system
139745b8439SSascha Wildneroptions 	SEMMNS=61	# number of semaphores in the system
140745b8439SSascha Wildneroptions 	SEMMNU=31	# number of undo structures in the system
141745b8439SSascha Wildneroptions 	SEMMSL=61	# max number of semaphores per id
142745b8439SSascha Wildneroptions 	SEMOPM=101	# max number of operations per semop call
143745b8439SSascha Wildneroptions 	SEMUME=11	# max number of undo entries per process
144745b8439SSascha Wildner
145745b8439SSascha Wildner# System V message queues and tunable parameters
146745b8439SSascha Wildneroptions 	MSGMNB=2049	# max characters per message queue
147745b8439SSascha Wildneroptions 	MSGMNI=41	# max number of message queue identifiers
148745b8439SSascha Wildneroptions 	MSGSEG=2049	# max number of message segments in the system
149745b8439SSascha Wildneroptions 	MSGSSZ=16	# size of a message segment MUST be power of 2
150745b8439SSascha Wildneroptions 	MSGTQL=41	# max amount of messages in the system
151745b8439SSascha Wildner
152745b8439SSascha Wildner#####################################################################
153745b8439SSascha Wildner# DEBUGGING OPTIONS
154745b8439SSascha Wildner
155745b8439SSascha Wildner#
156745b8439SSascha Wildner# Enable the kernel debugger.
157745b8439SSascha Wildner#
158745b8439SSascha Wildneroptions 	DDB
159745b8439SSascha Wildner
160745b8439SSascha Wildner#
161745b8439SSascha Wildner# Print a stack trace on kernel panic.
162745b8439SSascha Wildner#
163745b8439SSascha Wildneroptions 	DDB_TRACE
164745b8439SSascha Wildner
165745b8439SSascha Wildner#
166745b8439SSascha Wildner# Don't drop into DDB for a panic. Intended for unattended operation
167745b8439SSascha Wildner# where you may want to drop to DDB from the console, but still want
168745b8439SSascha Wildner# the machine to recover from a panic
169745b8439SSascha Wildner#
170745b8439SSascha Wildneroptions 	DDB_UNATTENDED
171745b8439SSascha Wildner
172745b8439SSascha Wildner#
173745b8439SSascha Wildner# If using GDB remote mode to debug the kernel, there's a non-standard
174745b8439SSascha Wildner# extension to the remote protocol that can be used to use the serial
175745b8439SSascha Wildner# port as both the debugging port and the system console.  It's non-
176745b8439SSascha Wildner# standard and you're on your own if you enable it.  See also the
177745b8439SSascha Wildner# "remotechat" variables in the DragonFly specific version of gdb.
178745b8439SSascha Wildner#
179745b8439SSascha Wildneroptions 	GDB_REMOTE_CHAT
180745b8439SSascha Wildner
181745b8439SSascha Wildner#
182745b8439SSascha Wildner# KTRACE enables the system-call tracing facility ktrace(2).
183745b8439SSascha Wildner#
184745b8439SSascha Wildneroptions 	KTRACE			#kernel tracing
185745b8439SSascha Wildner
186745b8439SSascha Wildner#
187745b8439SSascha Wildner# The INVARIANTS option is used in a number of source files to enable
188745b8439SSascha Wildner# extra sanity checking of internal structures.  This support is not
189745b8439SSascha Wildner# enabled by default because of the extra time it would take to check
190745b8439SSascha Wildner# for these conditions, which can only occur as a result of
191745b8439SSascha Wildner# programming errors.
192745b8439SSascha Wildner#
193745b8439SSascha Wildneroptions 	INVARIANTS
194745b8439SSascha Wildner
195745b8439SSascha Wildner#
196745b8439SSascha Wildner# The DIAGNOSTIC option is used to enable extra debugging information
197745b8439SSascha Wildner# from some parts of the kernel.  As this makes everything more noisy,
198745b8439SSascha Wildner# it is disabled by default.
199745b8439SSascha Wildner#
200745b8439SSascha Wildneroptions 	DIAGNOSTIC
201745b8439SSascha Wildner
202745b8439SSascha Wildner#
203745b8439SSascha Wildner# This option let some drivers co-exist that can't co-exist in a running
204745b8439SSascha Wildner# system.  This is used to be able to compile all kernel code in one go for
205745b8439SSascha Wildner# quality assurance purposes (like this file, which the option takes it name
206745b8439SSascha Wildner# from.)
207745b8439SSascha Wildner#
208745b8439SSascha Wildneroptions 	COMPILING_LINT
209745b8439SSascha Wildner
210745b8439SSascha Wildner
211745b8439SSascha Wildner# XXX - this doesn't belong here.
212745b8439SSascha Wildner# Allow ordinary users to take the console - this is useful for X.
213745b8439SSascha Wildneroptions 	UCONSOLE
214745b8439SSascha Wildner
215745b8439SSascha Wildner#####################################################################
216745b8439SSascha Wildner# NETWORKING OPTIONS
217745b8439SSascha Wildner
218745b8439SSascha Wildner#
219745b8439SSascha Wildner# Protocol families:
220745b8439SSascha Wildner#  Only the INET (Internet) family is officially supported in DragonFly.
221745b8439SSascha Wildner#  Source code for the NS (Xerox Network Service) is provided for amusement
222745b8439SSascha Wildner#  value.
223745b8439SSascha Wildner#
224745b8439SSascha Wildneroptions 	INET			#Internet communications protocols
225745b8439SSascha Wildneroptions 	INET6			#IPv6 communications protocols
226745b8439SSascha Wildneroptions 	IPSEC			#IP security
227745b8439SSascha Wildneroptions 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)
228745b8439SSascha Wildneroptions 	IPSEC_DEBUG		#debug for IP security
229745b8439SSascha Wildner#
230745b8439SSascha Wildner# Set IPSEC_FILTERGIF to force packets coming through a gif tunnel
231d912a10eSSascha Wildner# to be processed by any configured packet filtering (ipfw).
232745b8439SSascha Wildner# The default is that packets coming from a tunnel are _not_ processed;
233745b8439SSascha Wildner# they are assumed trusted.
234745b8439SSascha Wildner#
235745b8439SSascha Wildner# Note that enabling this can be problematic as there are no mechanisms
236745b8439SSascha Wildner# in place for distinguishing packets coming out of a tunnel (e.g. no
237745b8439SSascha Wildner# encX devices as found on openbsd).
238745b8439SSascha Wildner#
239745b8439SSascha Wildner#options 	IPSEC_FILTERGIF		#filter ipsec packets from a tunnel
240745b8439SSascha Wildner
241745b8439SSascha Wildner#
242745b8439SSascha Wildner# Experimental IPsec implementation that uses the kernel crypto
243745b8439SSascha Wildner# framework.  This cannot be configured together with IPSEC and
244745b8439SSascha Wildner# (currently) supports only IPv4.  To use this you must also
245745b8439SSascha Wildner# configure the crypto device (see below).  Note that with this
246745b8439SSascha Wildner# you get all the IPsec protocols (e.g. there is no FAST_IPSEC_ESP).
247745b8439SSascha Wildner# IPSEC_DEBUG is used, as above, to configure debugging support
248745b8439SSascha Wildner# within the IPsec protocols.
249745b8439SSascha Wildner#
250745b8439SSascha Wildner#options 	FAST_IPSEC		#new IPsec
251745b8439SSascha Wildner
252745b8439SSascha Wildneroptions 	MPLS			#Multi-Protocol Label Switching
253745b8439SSascha Wildner
2547902ca8cSSascha Wildner#
2557902ca8cSSascha Wildner# SMB/CIFS requester
2567902ca8cSSascha Wildner# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
2577902ca8cSSascha Wildner# options.
2587902ca8cSSascha Wildneroptions 	NETSMB			#SMB/CIFS requester
2597902ca8cSSascha Wildner
260745b8439SSascha Wildner# mchain library. It can be either loaded as KLD or compiled into kernel
261745b8439SSascha Wildneroptions 	LIBMCHAIN		#mbuf management library
262745b8439SSascha Wildner
263745b8439SSascha Wildner# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
264745b8439SSascha Wildner# Individual node types can be enabled with the corresponding option
265745b8439SSascha Wildner# listed below; however, this is not strictly necessary as netgraph
266745b8439SSascha Wildner# will automatically load the corresponding KLD module if the node type
267745b8439SSascha Wildner# is not already compiled into the kernel. Each type below has a
268745b8439SSascha Wildner# corresponding man page, e.g., ng_async(4).
269745b8439SSascha Wildneroptions 	NETGRAPH		#netgraph(4) system
270745b8439SSascha Wildneroptions 	NETGRAPH_ASYNC
271745b8439SSascha Wildneroptions 	NETGRAPH_BPF
272745b8439SSascha Wildneroptions 	NETGRAPH_BRIDGE
273745b8439SSascha Wildneroptions 	NETGRAPH_CISCO
274745b8439SSascha Wildneroptions 	NETGRAPH_ECHO
275745b8439SSascha Wildneroptions		NETGRAPH_EIFACE
276745b8439SSascha Wildneroptions 	NETGRAPH_ETHER
277e288257eSSascha Wildneroptions		NETGRAPH_FEC
278745b8439SSascha Wildneroptions 	NETGRAPH_FRAME_RELAY
279745b8439SSascha Wildneroptions 	NETGRAPH_HOLE
280745b8439SSascha Wildneroptions 	NETGRAPH_IFACE
281745b8439SSascha Wildneroptions 	NETGRAPH_KSOCKET
282745b8439SSascha Wildneroptions 	NETGRAPH_L2TP
283745b8439SSascha Wildneroptions 	NETGRAPH_LMI
284745b8439SSascha Wildner# MPPC compression requires proprietary files (not included)
285745b8439SSascha Wildner#options 	NETGRAPH_MPPC_COMPRESSION
286745b8439SSascha Wildneroptions 	NETGRAPH_MPPC_ENCRYPTION
287745b8439SSascha Wildneroptions 	NETGRAPH_ONE2MANY
288745b8439SSascha Wildneroptions 	NETGRAPH_PPP
289745b8439SSascha Wildneroptions 	NETGRAPH_PPPOE
290745b8439SSascha Wildneroptions 	NETGRAPH_PPTPGRE
291745b8439SSascha Wildneroptions 	NETGRAPH_RFC1490
292745b8439SSascha Wildneroptions 	NETGRAPH_SOCKET
293745b8439SSascha Wildneroptions 	NETGRAPH_TEE
294745b8439SSascha Wildneroptions 	NETGRAPH_TTY
295745b8439SSascha Wildneroptions 	NETGRAPH_UI
296745b8439SSascha Wildneroptions 	NETGRAPH_VJC
297745b8439SSascha Wildner
298745b8439SSascha Wildnerdevice		mn	# Munich32x/Falc54 Nx64kbit/sec cards.
299745b8439SSascha Wildner
300745b8439SSascha Wildner#
301745b8439SSascha Wildner# Network interfaces:
302745b8439SSascha Wildner#  The `loop' pseudo-device is MANDATORY when networking is enabled.
303745b8439SSascha Wildner#  The `ether' pseudo-device provides generic code to handle
304745b8439SSascha Wildner#  Ethernets; it is MANDATORY when a Ethernet device driver is
305745b8439SSascha Wildner#  configured.
306745b8439SSascha Wildner#  The `sppp' pseudo-device serves a similar role for certain types
30709ab7e4eSSascha Wildner#  of synchronous PPP links.
308745b8439SSascha Wildner#  The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
309745b8439SSascha Wildner#  The `ppp' pseudo-device implements the Point-to-Point Protocol.
310745b8439SSascha Wildner#  The `bpf' pseudo-device enables the Berkeley Packet Filter.  Be
311745b8439SSascha Wildner#  aware of the legal and administrative consequences of enabling this
312745b8439SSascha Wildner#  option.  The number of devices determines the maximum number of
313745b8439SSascha Wildner#  simultaneous BPF clients programs runnable.
314745b8439SSascha Wildner#  The `disc' pseudo-device implements a minimal network interface,
315745b8439SSascha Wildner#  which throws away all packets sent and never receives any.  It is
316745b8439SSascha Wildner#  included for testing purposes.  This shows up as the 'ds' interface.
317745b8439SSascha Wildner#  The `tun' pseudo-device implements (user-)ppp and nos-tun
318745b8439SSascha Wildner#  The `gif' pseudo-device implements IPv6 over IP4 tunneling,
319745b8439SSascha Wildner#  IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
320745b8439SSascha Wildner#  IPv6 over IPv6 tunneling.
321745b8439SSascha Wildner#  The `gre' device implements two types of IP4 over IP4 tunneling:
322745b8439SSascha Wildner#  GRE and MOBILE, as specified in the RFC1701 and RFC2004.
323745b8439SSascha Wildner#  The `faith' pseudo-device captures packets sent to it and diverts them
324745b8439SSascha Wildner#  to the IPv4/IPv6 translation daemon.
325745b8439SSascha Wildner#  The `stf' device implements 6to4 encapsulation.
326745b8439SSascha Wildner#  The `ef' pseudo-device provides support for multiple ethernet frame types
327745b8439SSascha Wildner#  specified via ETHER_* options. See ef(4) for details.
328745b8439SSascha Wildner#
329745b8439SSascha Wildner# The PPP_BSDCOMP option enables support for compress(1) style entire
330745b8439SSascha Wildner# packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
331745b8439SSascha Wildner# PPP_FILTER enables code for filtering the ppp data stream and selecting
332745b8439SSascha Wildner# events for resetting the demand dial activity timer - requires bpf.
333745b8439SSascha Wildner# See pppd(8) for more details.
334745b8439SSascha Wildner#
335745b8439SSascha Wildnerpseudo-device	ether			#Generic Ethernet
336745b8439SSascha Wildnerpseudo-device	vlan	1		#VLAN support
337745b8439SSascha Wildnerpseudo-device	bridge			#Bridging support
338745b8439SSascha Wildnerpseudo-device	sppp			#Generic Synchronous PPP
339745b8439SSascha Wildnerpseudo-device	loop			#Network loopback device
340745b8439SSascha Wildnerpseudo-device	bpf			#Berkeley packet filter
341745b8439SSascha Wildnerpseudo-device	disc			#Discard device (ds0, ds1, etc)
342ded7543cSSascha Wildnerpseudo-device	tap			#Ethernet tunnel network interface
343745b8439SSascha Wildnerpseudo-device	tun			#Tunnel driver (ppp(8), nos-tun(8))
344745b8439SSascha Wildnerpseudo-device	sl	2		#Serial Line IP
345745b8439SSascha Wildnerpseudo-device	gre			#IP over IP tunneling
346745b8439SSascha Wildnerpseudo-device	ppp	2		#Point-to-point protocol
347745b8439SSascha Wildneroptions 	PPP_BSDCOMP		#PPP BSD-compress support
348745b8439SSascha Wildneroptions 	PPP_DEFLATE		#PPP zlib/deflate/gzip support
349745b8439SSascha Wildneroptions 	PPP_FILTER		#enable bpf filtering (needs bpf)
350745b8439SSascha Wildner
351745b8439SSascha Wildner# for IPv6
352745b8439SSascha Wildnerpseudo-device	gif			#IPv6 and IPv4 tunneling
353745b8439SSascha Wildnerpseudo-device	faith	1		#for IPv6 and IPv4 translation
354745b8439SSascha Wildnerpseudo-device	stf			#6to4 IPv6 over IPv4 encapsulation
355745b8439SSascha Wildner
356745b8439SSascha Wildner#
357745b8439SSascha Wildner# Internet family options:
358745b8439SSascha Wildner#
359745b8439SSascha Wildner# MROUTING enables the kernel multicast packet forwarder, which works
360745b8439SSascha Wildner# with mrouted(8).
361745b8439SSascha Wildner#
362745b8439SSascha Wildner# PIM enables Protocol Independent Multicast in the kernel.
363745b8439SSascha Wildner# Requires MROUTING enabled.
364745b8439SSascha Wildner#
365745b8439SSascha Wildner# IPFIREWALL enables support for IP firewall construction, in
366745b8439SSascha Wildner# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
367745b8439SSascha Wildner# logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
368745b8439SSascha Wildner# limits the number of times a matching entry can be logged.
369745b8439SSascha Wildner#
370745b8439SSascha Wildner# WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
371745b8439SSascha Wildner# and if you do not add other rules during startup to allow access,
372745b8439SSascha Wildner# YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall_type=open
373745b8439SSascha Wildner# in /etc/rc.conf when first enabling this feature, then refining the
374745b8439SSascha Wildner# firewall rules in /etc/rc.firewall after you've tested that the new kernel
375745b8439SSascha Wildner# feature works properly.
376745b8439SSascha Wildner#
3773e9602ecSSascha Wildner# IPFIREWALL3 is based on a newer version of FreeBSD's ipfw2, along with
3783e9602ecSSascha Wildner# some enhancements. See ipfw3(4).
3793e9602ecSSascha Wildner#
380745b8439SSascha Wildner# IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
381745b8439SSascha Wildner# allow everything.  Use with care, if a cracker can crash your
382745b8439SSascha Wildner# firewall machine, they can get to your protected machines.  However,
383745b8439SSascha Wildner# if you are using it as an as-needed filter for specific problems as
384745b8439SSascha Wildner# they arise, then this may be for you.  Changing the default to 'allow'
385745b8439SSascha Wildner# means that you won't get stuck if the kernel and /sbin/ipfw binary get
386745b8439SSascha Wildner# out of sync.
387745b8439SSascha Wildner#
388745b8439SSascha Wildner# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
389745b8439SSascha Wildner#
390745b8439SSascha Wildner# IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
391745b8439SSascha Wildner# packets without touching the ttl).  This can be useful to hide firewalls
392745b8439SSascha Wildner# from traceroute and similar tools.
393745b8439SSascha Wildner#
394745b8439SSascha Wildner# TCPDEBUG is undocumented.
395745b8439SSascha Wildner#
3966bedbebcSSepherosa Ziehau# ICMPPRINTFS enables ICMP to do extra debug prints.
3976bedbebcSSepherosa Ziehau#
398745b8439SSascha Wildneroptions 	MROUTING		# Multicast routing
399745b8439SSascha Wildneroptions 	PIM			# Protocol Independent Multicast
400745b8439SSascha Wildneroptions 	IPFIREWALL		#firewall
401745b8439SSascha Wildneroptions		IPFIREWALL_DEBUG	#debug prints
402745b8439SSascha Wildneroptions 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
403745b8439SSascha Wildneroptions 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
404745b8439SSascha Wildneroptions 	IPFIREWALL_DEFAULT_TO_ACCEPT	#allow everything by default
405745b8439SSascha Wildneroptions 	IPV6FIREWALL		#firewall for IPv6
406745b8439SSascha Wildneroptions 	IPV6FIREWALL_VERBOSE
407745b8439SSascha Wildneroptions 	IPV6FIREWALL_VERBOSE_LIMIT=100
408745b8439SSascha Wildneroptions 	IPV6FIREWALL_DEFAULT_TO_ACCEPT
409745b8439SSascha Wildneroptions 	IPDIVERT		#divert sockets
410745b8439SSascha Wildneroptions 	IPSTEALTH		#support for stealth forwarding
411745b8439SSascha Wildneroptions 	TCPDEBUG
4126bedbebcSSepherosa Ziehauoptions		ICMPPRINTFS
413745b8439SSascha Wildner
4143e9602ecSSascha Wildneroptions		IPFIREWALL3
4153e9602ecSSascha Wildner
416745b8439SSascha Wildnerdevice		pf
417745b8439SSascha Wildnerdevice		pflog
418745b8439SSascha Wildner
419745b8439SSascha Wildner#CARP
420745b8439SSascha Wildnerpseudo-device carp
421745b8439SSascha Wildneroptions CARP
422745b8439SSascha Wildner
423745b8439SSascha Wildner# The MBUF_STRESS_TEST option enables options which create
424745b8439SSascha Wildner# various random failures / extreme cases related to mbuf
425745b8439SSascha Wildner# functions.  See the mbuf(9) manpage for a list of available
426745b8439SSascha Wildner# test cases.
427745b8439SSascha Wildneroptions         MBUF_STRESS_TEST
428745b8439SSascha Wildner
429745b8439SSascha Wildner# Statically link in accept filters
430745b8439SSascha Wildneroptions                ACCEPT_FILTER_DATA
431745b8439SSascha Wildneroptions                ACCEPT_FILTER_HTTP
432745b8439SSascha Wildner
433745b8439SSascha Wildner# TCP_SIGNATURE adds support for RFC 2385 (TCP-MD5) digests. These are
434745b8439SSascha Wildner# carried in TCP option 19. This option is commonly used to protect
435745b8439SSascha Wildner# TCP sessions (e.g. BGP) where IPSEC is not available nor desirable.
4360defa1cfSSepherosa Ziehau# This is enabled on a per-socket basis using the TCP_SIGNATURE_ENABLE
4370defa1cfSSepherosa Ziehau# socket option.
438745b8439SSascha Wildner# This requires the use of 'device crypto', 'options IPSEC'
439745b8439SSascha Wildner# or 'device cryptodev'.
440745b8439SSascha Wildneroptions   TCP_SIGNATURE   #include support for RFC 2385
441745b8439SSascha Wildner
442745b8439SSascha Wildner#
443745b8439SSascha Wildner# TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
444745b8439SSascha Wildner# prevents nmap et al. from identifying the TCP/IP stack, but breaks support
445745b8439SSascha Wildner# for RFC1644 extensions and is not recommended for web servers.
446745b8439SSascha Wildner#
447745b8439SSascha Wildneroptions 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN
448745b8439SSascha Wildner
449745b8439SSascha Wildner# ICMP_BANDLIM enables icmp error response bandwidth limiting.   You
450745b8439SSascha Wildner# typically want this option as it will help protect the machine from
451745b8439SSascha Wildner# D.O.S. packet attacks.
452745b8439SSascha Wildner#
453745b8439SSascha Wildneroptions 	ICMP_BANDLIM
454745b8439SSascha Wildner
455745b8439SSascha Wildner# DUMMYNET enables the "dummynet" bandwidth limiter. You need
456745b8439SSascha Wildner# IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info.
457745b8439SSascha Wildner#
458745b8439SSascha Wildneroptions 	DUMMYNET
459745b8439SSascha Wildneroptions		DUMMYNET_DEBUG
460745b8439SSascha Wildner
461239ba22eSSepherosa Ziehau# IFPOLL_ENABLE adds support for mixed interrupt-polling handling
462745b8439SSascha Wildner# of network device drivers, which has significant benefits in terms
463745b8439SSascha Wildner# of robustness to overloads and responsivity, as well as permitting
464745b8439SSascha Wildner# accurate scheduling of the CPU time between kernel network processing
465745b8439SSascha Wildner# and other activities. The drawback is a moderate (up to 1/pollhz seconds)
466745b8439SSascha Wildner# potential increase in response times. See polling(4) for further details.
467745b8439SSascha Wildner#
468745b8439SSascha Wildner# IFPOLL_ENABLE adds hardware queues' based polling
469745b8439SSascha Wildneroptions		IFPOLL_ENABLE
470745b8439SSascha Wildner
471745b8439SSascha Wildner#####################################################################
472745b8439SSascha Wildner# FILESYSTEM OPTIONS
473745b8439SSascha Wildner
474745b8439SSascha Wildner#
475745b8439SSascha Wildner# Only the root, /usr, and /tmp filesystems need be statically
476745b8439SSascha Wildner# compiled; everything else will be automatically loaded at mount
477745b8439SSascha Wildner# time.  (Exception: the UFS family --- FFS, and MFS ---
478745b8439SSascha Wildner# cannot currently be demand-loaded.)  Some people still prefer
479745b8439SSascha Wildner# to statically compile other filesystems as well.
480745b8439SSascha Wildner#
481745b8439SSascha Wildner
482745b8439SSascha Wildner# One of these is mandatory:
483745b8439SSascha Wildneroptions 	FFS			#Fast filesystem
484745b8439SSascha Wildneroptions 	MFS			#Memory filesystem
485745b8439SSascha Wildneroptions 	NFS			#Network filesystem
486745b8439SSascha Wildner
487745b8439SSascha Wildner# The rest are optional:
488745b8439SSascha Wildner#options 	NFS_NOSERVER		#Disable the NFS-server code.
4898cc55cc8SSascha Wildneroptions 	AUTOFS			#Automounter filesystem
490745b8439SSascha Wildneroptions 	CD9660			#ISO 9660 filesystem
4918124268fSSascha Wildneroptions		HAMMER			#HAMMER filesystem
492745b8439SSascha Wildneroptions 	HPFS			#OS/2 File system
493745b8439SSascha Wildneroptions 	MSDOSFS			#MS DOS filesystem
494745b8439SSascha Wildneroptions 	NTFS			#NT filesystem
495745b8439SSascha Wildneroptions 	NULLFS			#NULL filesystem
496745b8439SSascha Wildneroptions 	PROCFS			#Process filesystem
497ab5617b3SSascha Wildneroptions		PUFFS			#Userspace file systems (e.g. ntfs-3g & sshfs)
4987902ca8cSSascha Wildneroptions 	SMBFS			#SMB/CIFS filesystem
499745b8439SSascha Wildneroptions 	TMPFS			#Temporary filesystem
5008124268fSSascha Wildneroptions		UDF			#UDF filesystem
501745b8439SSascha Wildner
502745b8439SSascha Wildner# The xFS_ROOT options REQUIRE the associated ``options xFS''
503745b8439SSascha Wildneroptions 	FFS_ROOT		#FFS usable as root device
504745b8439SSascha Wildneroptions 	NFS_ROOT		#NFS usable as root device
505745b8439SSascha Wildner
506745b8439SSascha Wildner# Soft updates is technique for improving UFS filesystem speed and
507745b8439SSascha Wildner# making abrupt shutdown less risky.
508745b8439SSascha Wildneroptions 	SOFTUPDATES
509745b8439SSascha Wildner
510745b8439SSascha Wildner# Directory hashing improves the speed of operations on very large
511745b8439SSascha Wildner# directories at the expense of some memory.
512745b8439SSascha Wildneroptions 	UFS_DIRHASH
513745b8439SSascha Wildner
514745b8439SSascha Wildner# Make space in the kernel for a root filesystem on a md device.
515745b8439SSascha Wildner# Define to the number of kilobytes to reserve for the filesystem.
516745b8439SSascha Wildneroptions 	MD_ROOT_SIZE=10
517745b8439SSascha Wildner
518745b8439SSascha Wildner# Make the md device a potential root device, either with preloaded
519745b8439SSascha Wildner# images of type mfs_root or md_root.
520745b8439SSascha Wildneroptions 	MD_ROOT
521745b8439SSascha Wildner
522745b8439SSascha Wildner# Specify double the default maximum size for malloc(9)-backed md devices.
523745b8439SSascha Wildneroptions 	MD_NSECT=40000
524745b8439SSascha Wildner
525745b8439SSascha Wildner# Allow this many swap-devices.
526745b8439SSascha Wildner#
527745b8439SSascha Wildner# In order to manage swap, the system must reserve bitmap space that
528745b8439SSascha Wildner# scales with the largest mounted swap device multiplied by NSWAPDEV,
529745b8439SSascha Wildner# regardless of whether other swap devices exist or not.  So it
530745b8439SSascha Wildner# is not a good idea to make this value too large.
531745b8439SSascha Wildneroptions 	NSWAPDEV=5
532745b8439SSascha Wildner
533745b8439SSascha Wildner# Disk quotas are supported when this option is enabled.
534745b8439SSascha Wildneroptions 	QUOTA			#enable disk quotas
535745b8439SSascha Wildner
536745b8439SSascha Wildner# If you are running a machine just as a fileserver for PC and MAC
537d22a69a4SSascha Wildner# users, e.g. using SAMBA, you may consider setting this option
538745b8439SSascha Wildner# and keeping all those users' directories on a filesystem that is
539745b8439SSascha Wildner# mounted with the suiddir option. This gives new files the same
540745b8439SSascha Wildner# ownership as the directory (similar to group). It's a security hole
541745b8439SSascha Wildner# if you let these users run programs, so confine it to file-servers
542745b8439SSascha Wildner# (but it'll save you lots of headaches in those cases). Root owned
543745b8439SSascha Wildner# directories are exempt and X bits are cleared. The suid bit must be
544745b8439SSascha Wildner# set on the directory as well; see chmod(1) PC owners can't see/set
545745b8439SSascha Wildner# ownerships so they keep getting their toes trodden on. This saves
546745b8439SSascha Wildner# you all the support calls as the filesystem it's used on will act as
547745b8439SSascha Wildner# they expect: "It's my dir so it must be my file".
548745b8439SSascha Wildner#
549745b8439SSascha Wildneroptions 	SUIDDIR
550745b8439SSascha Wildner
551745b8439SSascha Wildner# NFS options:
552745b8439SSascha Wildneroptions 	NFS_MINATTRTIMO=3	# VREG attrib cache timeout in sec
553745b8439SSascha Wildneroptions 	NFS_MAXATTRTIMO=60
554745b8439SSascha Wildneroptions 	NFS_MINDIRATTRTIMO=30	# VDIR attrib cache timeout in sec
555745b8439SSascha Wildneroptions 	NFS_MAXDIRATTRTIMO=60
556745b8439SSascha Wildneroptions 	NFS_GATHERDELAY=10	# Default write gather delay (msec)
557745b8439SSascha Wildneroptions 	NFS_UIDHASHSIZ=29	# Tune the size of nfssvc_sock with this
558745b8439SSascha Wildneroptions 	NFS_WDELAYHASHSIZ=16	# and with this
559745b8439SSascha Wildneroptions 	NFS_MUIDHASHSIZ=63	# Tune the size of nfsmount with this
560745b8439SSascha Wildneroptions 	NFS_DEBUG		# Enable NFS Debugging
561745b8439SSascha Wildner
5621b0988d0SAntonio Huete Jimenez# NTFS options:
5631b0988d0SAntonio Huete Jimenezoptions		NTFS_DEBUG
5641b0988d0SAntonio Huete Jimenez
565745b8439SSascha Wildner# MSDOSFS options:
566745b8439SSascha Wildneroptions		MSDOSFS_DEBUG		# Enable MSDOSFS Debugging
567745b8439SSascha Wildner
568745b8439SSascha Wildner#
569745b8439SSascha Wildner# Add support for the EXT2FS filesystem of Linux fame.  Be a bit
570745b8439SSascha Wildner# careful with this - the ext2fs code has a tendency to lag behind
571745b8439SSascha Wildner# changes and not be exercised very much, so mounting read/write could
572745b8439SSascha Wildner# be dangerous (and even mounting read only could result in panics.)
573745b8439SSascha Wildner#
574745b8439SSascha Wildneroptions 	EXT2FS
575745b8439SSascha Wildner
576745b8439SSascha Wildner# Optional character code conversion support with LIBICONV.
577745b8439SSascha Wildner# Each option requires their base file system and LIBICONV.
578745b8439SSascha Wildneroptions 	CD9660_ICONV
579745b8439SSascha Wildneroptions 	MSDOSFS_ICONV
580745b8439SSascha Wildneroptions 	NTFS_ICONV
581745b8439SSascha Wildner
582745b8439SSascha Wildner#####################################################################
583745b8439SSascha Wildner# POSIX P1003.1B
584745b8439SSascha Wildner
585745b8439SSascha Wildner# Real time extensions added in the 1993 Posix
586745b8439SSascha Wildner# _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
587745b8439SSascha Wildner
588745b8439SSascha Wildneroptions 	_KPOSIX_PRIORITY_SCHEDULING
589745b8439SSascha Wildner
590745b8439SSascha Wildner#####################################################################
591745b8439SSascha Wildner# CLOCK OPTIONS
592745b8439SSascha Wildner
593745b8439SSascha Wildner# The granularity of operation is controlled by the kernel option HZ whose
594745b8439SSascha Wildner# default value (100) means a granularity of 10ms (1s/HZ).
595745b8439SSascha Wildner# Consider, however, that reducing the granularity too much might
596745b8439SSascha Wildner# cause excessive overhead in clock interrupt processing,
597745b8439SSascha Wildner# potentially causing ticks to be missed and thus actually reducing
598745b8439SSascha Wildner# the accuracy of operation.
599745b8439SSascha Wildner
600745b8439SSascha Wildneroptions 	HZ=100
601745b8439SSascha Wildner
602745b8439SSascha Wildner# The following options are used for debugging clock behavior only, and
603745b8439SSascha Wildner# should not be used for production systems.
604745b8439SSascha Wildner#
605745b8439SSascha Wildner# CLK_CALIBRATION_LOOP will run the clock calibration loop at startup
606745b8439SSascha Wildner# until the user presses a key.
607745b8439SSascha Wildner
608745b8439SSascha Wildner#options 	CLK_CALIBRATION_LOOP
609745b8439SSascha Wildner
610745b8439SSascha Wildner# The following two options measure the frequency of the corresponding
611745b8439SSascha Wildner# clock relative to the RTC (onboard mc146818a).
612745b8439SSascha Wildner
613745b8439SSascha Wildner#options 	CLK_USE_I8254_CALIBRATION
614745b8439SSascha Wildner#options 	CLK_USE_TSC_CALIBRATION
615745b8439SSascha Wildner
616745b8439SSascha Wildner#####################################################################
617745b8439SSascha Wildner# SCSI DEVICES
618745b8439SSascha Wildner
619745b8439SSascha Wildner# SCSI DEVICE CONFIGURATION
620745b8439SSascha Wildner
621745b8439SSascha Wildner# The SCSI subsystem consists of the `base' SCSI code, a number of
622745b8439SSascha Wildner# high-level SCSI device `type' drivers, and the low-level host-adapter
623745b8439SSascha Wildner# device drivers.  The host adapters are listed in the ISA and PCI
624745b8439SSascha Wildner# device configuration sections below.
625745b8439SSascha Wildner#
626745b8439SSascha Wildner# Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so
627745b8439SSascha Wildner# that a given bus, target, and LUN always come on line as the same
628745b8439SSascha Wildner# device unit.  In earlier versions the unit numbers were assigned
629745b8439SSascha Wildner# in the order that the devices were probed on the SCSI bus.  This
630745b8439SSascha Wildner# means that if you removed a disk drive, you may have had to rewrite
631745b8439SSascha Wildner# your /etc/fstab file, and also that you had to be careful when adding
632745b8439SSascha Wildner# a new disk as it may have been probed earlier and moved your device
633745b8439SSascha Wildner# configuration around.
634745b8439SSascha Wildner
635745b8439SSascha Wildner# This old behavior is maintained as the default behavior.  The unit
636745b8439SSascha Wildner# assignment begins with the first non-wired down unit for a device
637745b8439SSascha Wildner# type.  For example, if you wire a disk as "da3" then the first
638745b8439SSascha Wildner# non-wired disk will be assigned da4.
639745b8439SSascha Wildner
640745b8439SSascha Wildner# The syntax for wiring down devices is:
641745b8439SSascha Wildner
642745b8439SSascha Wildner# device	scbus0 at ahc0		# Single bus device
643745b8439SSascha Wildner# device	scbus1 at ahc1 bus 0	# Single bus device
644745b8439SSascha Wildner# device	scbus3 at ahc2 bus 0	# Twin bus device
645745b8439SSascha Wildner# device	scbus2 at ahc2 bus 1	# Twin bus device
646745b8439SSascha Wildner# device 	da0 at scbus0 target 0 unit 0
647745b8439SSascha Wildner# device	da1 at scbus3 target 1
648745b8439SSascha Wildner# device	da2 at scbus2 target 3
649745b8439SSascha Wildner# device	sa1 at scbus1 target 6
650745b8439SSascha Wildner# device	cd
651745b8439SSascha Wildner
652745b8439SSascha Wildner# "units" (SCSI logical unit number) that are not specified are
653745b8439SSascha Wildner# treated as if specified as LUN 0.
654745b8439SSascha Wildner
655745b8439SSascha Wildner# All SCSI devices allocate as many units as are required.
656745b8439SSascha Wildner
657745b8439SSascha Wildner# The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI
658745b8439SSascha Wildner# configuration and doesn't have to be explicitly configured.
659745b8439SSascha Wildner
660745b8439SSascha Wildnerdevice		scbus			#base SCSI code
661745b8439SSascha Wildnerdevice		ch			#SCSI media changers
662745b8439SSascha Wildnerdevice		da			#SCSI direct access devices (aka disks)
663745b8439SSascha Wildnerdevice		sa			#SCSI tapes
664745b8439SSascha Wildnerdevice		cd			#SCSI CD-ROMs
665745b8439SSascha Wildnerdevice		pass			#CAM passthrough driver
666745b8439SSascha Wildnerdevice		sg			#Passthrough device (linux scsi generic)
667745b8439SSascha Wildnerdevice		pt			#SCSI processor type
668745b8439SSascha Wildnerdevice		ses			#SCSI SES/SAF-TE driver
6699c86eff7SSascha Wildnerdevice		targ			#SCSI Target Mode Code
6709c86eff7SSascha Wildnerdevice		targbh			#SCSI Target Mode Blackhole Device
671745b8439SSascha Wildner
672745b8439SSascha Wildner# Options for device mapper
673745b8439SSascha Wildnerdevice		dm
674745b8439SSascha Wildnerdevice		dm_target_crypt
675745b8439SSascha Wildnerdevice		dm_target_linear
676745b8439SSascha Wildnerdevice		dm_target_striped
67759146421STomohiro Kusumidevice		dm_target_delay
678b9790952STomohiro Kusumidevice		dm_target_flakey
679745b8439SSascha Wildner
680745b8439SSascha Wildner# Options for iSCSI
681745b8439SSascha Wildnerdevice	        iscsi_initiator
682745b8439SSascha Wildneroptions		ISCSI_INITIATOR_DEBUG=8
683745b8439SSascha Wildner
684745b8439SSascha Wildner# CAM OPTIONS:
685745b8439SSascha Wildner# debugging options:
686745b8439SSascha Wildner# -- NOTE --  If you specify one of the bus/target/lun options, you must
687745b8439SSascha Wildner#             specify them all!
688745b8439SSascha Wildner# CAMDEBUG: When defined enables debugging macros
689745b8439SSascha Wildner# CAM_DEBUG_BUS:  Debug the given bus.  Use -1 to debug all busses.
690745b8439SSascha Wildner# CAM_DEBUG_TARGET:  Debug the given target.  Use -1 to debug all targets.
691745b8439SSascha Wildner# CAM_DEBUG_LUN:  Debug the given lun.  Use -1 to debug all luns.
692745b8439SSascha Wildner# CAM_DEBUG_FLAGS:  OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE,
693745b8439SSascha Wildner#                   CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB
694745b8439SSascha Wildner#
695745b8439SSascha Wildner# CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds
696745b8439SSascha Wildner# SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions
697745b8439SSascha Wildner# SCSI_NO_OP_STRINGS: When defined disables opcode descriptions
698745b8439SSascha Wildner# SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter)
699745b8439SSascha Wildner#             queue after a bus reset, and the number of milliseconds to
700745b8439SSascha Wildner#             freeze the device queue after a bus device reset.  This
701745b8439SSascha Wildner#             can be changed at boot and runtime with the
702745b8439SSascha Wildner#             kern.cam.scsi_delay tunable/sysctl.
703745b8439SSascha Wildneroptions 	CAMDEBUG
704745b8439SSascha Wildneroptions 	CAM_DEBUG_BUS=-1
705745b8439SSascha Wildneroptions 	CAM_DEBUG_TARGET=-1
706745b8439SSascha Wildneroptions 	CAM_DEBUG_LUN=-1
707745b8439SSascha Wildneroptions 	CAM_DEBUG_FLAGS="CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB"
708745b8439SSascha Wildneroptions 	CAM_MAX_HIGHPOWER=4
709745b8439SSascha Wildneroptions 	SCSI_NO_SENSE_STRINGS
710745b8439SSascha Wildneroptions 	SCSI_NO_OP_STRINGS
711745b8439SSascha Wildneroptions 	SCSI_DELAY=8000	# Be pessimistic about Joe SCSI device
712745b8439SSascha Wildner
713745b8439SSascha Wildner# Options for the CAM CDROM driver:
714745b8439SSascha Wildner# CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN
715745b8439SSascha Wildner# CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only
716745b8439SSascha Wildner#                           enforced if there is I/O waiting for another LUN
717745b8439SSascha Wildner# The compiled in defaults for these variables are 2 and 10 seconds,
718745b8439SSascha Wildner# respectively.
719745b8439SSascha Wildner#
720745b8439SSascha Wildner# These can also be changed on the fly with the following sysctl variables:
721745b8439SSascha Wildner# kern.cam.cd.changer.min_busy_seconds
722745b8439SSascha Wildner# kern.cam.cd.changer.max_busy_seconds
723745b8439SSascha Wildner#
724745b8439SSascha Wildneroptions 	CHANGER_MIN_BUSY_SECONDS=2
725745b8439SSascha Wildneroptions 	CHANGER_MAX_BUSY_SECONDS=10
726745b8439SSascha Wildner
727745b8439SSascha Wildner# Options for the CAM sequential access driver:
728745b8439SSascha Wildner# SA_IO_TIMEOUT: Timeout for read/write/wfm  operations, in minutes
729745b8439SSascha Wildner# SA_SPACE_TIMEOUT: Timeout for space operations, in minutes
730745b8439SSascha Wildner# SA_REWIND_TIMEOUT: Timeout for rewind operations, in minutes
731745b8439SSascha Wildner# SA_ERASE_TIMEOUT: Timeout for erase operations, in minutes
732745b8439SSascha Wildner# SA_1FM_AT_EOD: Default to model which only has a default one filemark at EOT.
733745b8439SSascha Wildneroptions 	SA_IO_TIMEOUT="(4)"
734745b8439SSascha Wildneroptions 	SA_SPACE_TIMEOUT="(60)"
735745b8439SSascha Wildneroptions 	SA_REWIND_TIMEOUT="(2*60)"
736745b8439SSascha Wildneroptions 	SA_ERASE_TIMEOUT="(4*60)"
737745b8439SSascha Wildneroptions 	SA_1FM_AT_EOD
738745b8439SSascha Wildner
739745b8439SSascha Wildner# Optional timeout for the CAM processor target (pt) device
740745b8439SSascha Wildner# This is specified in seconds.  The default is 60 seconds.
741745b8439SSascha Wildneroptions 	SCSI_PT_DEFAULT_TIMEOUT="60"
742745b8439SSascha Wildner
743745b8439SSascha Wildner# Optional enable of doing SES passthrough on other devices (e.g., disks)
744745b8439SSascha Wildner#
745745b8439SSascha Wildner# Normally disabled because a lot of newer SCSI disks report themselves
746745b8439SSascha Wildner# as having SES capabilities, but this can then clot up attempts to build
747745b8439SSascha Wildner# build a topology with the SES device that's on the box these drives
748745b8439SSascha Wildner# are in....
749745b8439SSascha Wildneroptions 	SES_ENABLE_PASSTHROUGH
750745b8439SSascha Wildner
751745b8439SSascha Wildner#####################################################################
752745b8439SSascha Wildner# MISCELLANEOUS DEVICES AND OPTIONS
753745b8439SSascha Wildner
754745b8439SSascha Wildner# The `pty' device usually turns out to be ``effectively mandatory'',
755745b8439SSascha Wildner# as it is required for `telnetd', `rlogind', `screen', `emacs', and
756745b8439SSascha Wildner# `xterm', among others.
757745b8439SSascha Wildner
758745b8439SSascha Wildnerpseudo-device	pty		# Pseudo ttys
759745b8439SSascha Wildnerpseudo-device	gzip		# Exec gzipped a.out's
760745b8439SSascha Wildnerpseudo-device	md		# Memory/malloc disk
761b8afae86SMatthew Dillonpseudo-device	vn		# File image "disks"
762ab5617b3SSascha Wildnerpseudo-device	putter		# for puffs and pud
763745b8439SSascha Wildnerpseudo-device	snp		# Snoop device - to look at pty/vty/etc..
764745b8439SSascha Wildnerpseudo-device	ccd	4	# Concatenated disk driver
765745b8439SSascha Wildner
766745b8439SSascha Wildner# Configuring Vinum into the kernel is not necessary, since the kld
767745b8439SSascha Wildner# module gets started automatically when vinum(8) starts.  This
768745b8439SSascha Wildner# device is also untested.  Use at your own risk.
769745b8439SSascha Wildner#
770745b8439SSascha Wildner# The option VINUMDEBUG must match the value set in CFLAGS
771745b8439SSascha Wildner# in src/sbin/vinum/Makefile.  Failure to do so will result in
772745b8439SSascha Wildner# the following message from vinum(8):
773745b8439SSascha Wildner#
774745b8439SSascha Wildner# Can't get vinum config: Invalid argument
775745b8439SSascha Wildner#
776745b8439SSascha Wildner# see vinum(4) for more reasons not to use these options.
77710de45ebSSascha Wildnerpseudo-device	vinum		#Vinum concat/mirror/raid driver
77876cc149aSSascha Wildneroptions 	VINUMDEBUG	#enable Vinum debugging hooks
779745b8439SSascha Wildner
780745b8439SSascha Wildner# Kernel side iconv library
781745b8439SSascha Wildneroptions 	LIBICONV
782745b8439SSascha Wildner
783745b8439SSascha Wildner# Size of the kernel message buffer.  Should be N * pagesize.
784745b8439SSascha Wildneroptions 	MSGBUF_SIZE=40960
785745b8439SSascha Wildner
786745b8439SSascha Wildner#####################################################################
787745b8439SSascha Wildner# HARDWARE DEVICE CONFIGURATION
788745b8439SSascha Wildner
789745b8439SSascha Wildner# ISA devices:
790745b8439SSascha Wildner
791745b8439SSascha Wildner#
792745b8439SSascha Wildner# Mandatory ISA devices: isa
793745b8439SSascha Wildner#
794745b8439SSascha Wildnerdevice		isa
795745b8439SSascha Wildner
796745b8439SSascha Wildner#
797745b8439SSascha Wildner# Options for `isa':
798745b8439SSascha Wildner#
799745b8439SSascha Wildner# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
800745b8439SSascha Wildner# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
801745b8439SSascha Wildner# This option breaks suspend/resume on some portables.
802745b8439SSascha Wildner#
803745b8439SSascha Wildner# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
804745b8439SSascha Wildner# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
805fd7bbe3bSSascha Wildner# Automatic EOI is documented not to work for the slave with the
806745b8439SSascha Wildner# original i8259A, but it works for some clones and some integrated
807745b8439SSascha Wildner# versions.
808745b8439SSascha Wildner#
809745b8439SSascha Wildner# MAXMEM specifies the amount of RAM on the machine; if this is not
810745b8439SSascha Wildner# specified, DragonFly will first read the amount of memory from the CMOS
811745b8439SSascha Wildner# RAM, so the amount of memory will initially be limited to 64MB or 16MB
812745b8439SSascha Wildner# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
813745b8439SSascha Wildner# then attempt to detect the installed amount of RAM.  If this probe
814745b8439SSascha Wildner# fails to detect >64MB RAM you will have to use the MAXMEM option.
815745b8439SSascha Wildner# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
816745b8439SSascha Wildner# be 131072 (128 * 1024).
817745b8439SSascha Wildner#
818745b8439SSascha Wildner# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
819745b8439SSascha Wildner# reset the CPU for reboot.  This is needed on some systems with broken
820745b8439SSascha Wildner# keyboard controllers.
821745b8439SSascha Wildner
822745b8439SSascha Wildneroptions 	AUTO_EOI_1
823745b8439SSascha Wildner#options 	AUTO_EOI_2
824745b8439SSascha Wildneroptions 	MAXMEM="(128*1024)"
825745b8439SSascha Wildner#options 	BROKEN_KEYBOARD_RESET
826745b8439SSascha Wildner
827745b8439SSascha Wildner# Enable support for the kernel PLL to use an external PPS signal,
828745b8439SSascha Wildner# under supervision of [x]ntpd(8)
829745b8439SSascha Wildner# More info in ntpd documentation: http://www.eecis.udel.edu/~ntp
830745b8439SSascha Wildner
831745b8439SSascha Wildneroptions 	PPS_SYNC
832745b8439SSascha Wildner
833745b8439SSascha Wildner# The keyboard controller; it controls the keyboard and the PS/2 mouse.
834745b8439SSascha Wildnerdevice		atkbdc0	at isa? port IO_KBD
835745b8439SSascha Wildner
836745b8439SSascha Wildner# The AT keyboard
837745b8439SSascha Wildnerdevice		atkbd0	at atkbdc? irq 1
838745b8439SSascha Wildner
839745b8439SSascha Wildner# Options for atkbd:
840745b8439SSascha Wildneroptions 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
841745b8439SSascha Wildnermakeoptions	ATKBD_DFLT_KEYMAP="jp.106"
842745b8439SSascha Wildner
843745b8439SSascha Wildner# These options are valid for other keyboard drivers as well.
844745b8439SSascha Wildneroptions 	KBD_DISABLE_KEYMAP_LOAD	# refuse to load a keymap
845745b8439SSascha Wildneroptions 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
846745b8439SSascha Wildner
847745b8439SSascha Wildner# `flags' for atkbd:
848745b8439SSascha Wildner#       0x01    Force detection of keyboard, else we always assume a keyboard
849745b8439SSascha Wildner#       0x02    Don't reset keyboard, useful for some newer ThinkPads
850745b8439SSascha Wildner#	0x03	Force detection and avoid reset, might help with certain
851745b8439SSascha Wildner#		dockingstations
852745b8439SSascha Wildner#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
853745b8439SSascha Wildner
854745b8439SSascha Wildner# PS/2 mouse
855745b8439SSascha Wildnerdevice		psm0	at atkbdc? irq 12
856745b8439SSascha Wildner
857745b8439SSascha Wildner# Options for psm:
858745b8439SSascha Wildneroptions 	PSM_HOOKRESUME		#hook the system resume event, useful
859745b8439SSascha Wildner					#for some laptops
860745b8439SSascha Wildneroptions 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
861745b8439SSascha Wildner
862745b8439SSascha Wildnerdevice		kbdmux			# keyboard multiplexer
863745b8439SSascha Wildner
864745b8439SSascha Wildner# The video card driver.
865745b8439SSascha Wildnerdevice		vga0	at isa?
866745b8439SSascha Wildner
867745b8439SSascha Wildner# Options for vga:
868745b8439SSascha Wildneroptions		VGA_DEBUG=2		# enable VGA debug output
869745b8439SSascha Wildner
870745b8439SSascha Wildner# If you experience problems switching back to 80x25 (or a derived mode),
871745b8439SSascha Wildner# the following option might help.
872745b8439SSascha Wildner#options	VGA_KEEP_POWERON_MODE	# use power-on settings for 80x25
873745b8439SSascha Wildner
874745b8439SSascha Wildner# If you can dispense with some vga driver features, you may want to
875745b8439SSascha Wildner# use the following options to save some memory.
876745b8439SSascha Wildner#options 	VGA_NO_FONT_LOADING	# don't save/load font
877745b8439SSascha Wildner#options 	VGA_NO_MODE_CHANGE	# don't change video modes
878745b8439SSascha Wildner
879745b8439SSascha Wildner# The following option probably won't work with the LCD displays.
880745b8439SSascha Wildneroptions 	VGA_WIDTH90		# support 90 column modes
881745b8439SSascha Wildner
882745b8439SSascha Wildner# Splash screen at start up!  Screen savers require this too.
883745b8439SSascha Wildnerpseudo-device	splash
884745b8439SSascha Wildner
885745b8439SSascha Wildner# The syscons console driver (sco color console compatible).
886745b8439SSascha Wildnerdevice		sc0	at isa?
887745b8439SSascha Wildneroptions 	MAXCONS=16		# number of virtual consoles
888745b8439SSascha Wildneroptions 	SC_ALT_MOUSE_IMAGE	# simplified mouse cursor in text mode
889745b8439SSascha Wildneroptions 	SC_DEBUG_LEVEL=5	# enable debug output
890745b8439SSascha Wildneroptions 	SC_DFLT_FONT		# compile font in
891745b8439SSascha Wildnermakeoptions	SC_DFLT_FONT=cp850
892745b8439SSascha Wildneroptions 	SC_DISABLE_DDBKEY	# disable `debug' key
893745b8439SSascha Wildneroptions 	SC_DISABLE_REBOOT	# disable reboot key sequence
894745b8439SSascha Wildneroptions 	SC_HISTORY_SIZE=200	# number of history buffer lines
895745b8439SSascha Wildneroptions 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
896745b8439SSascha Wildneroptions 	SC_PIXEL_MODE		# add support for the raster text mode
897745b8439SSascha Wildner
898745b8439SSascha Wildner# The following options will let you change the default colors of syscons.
899745b8439SSascha Wildneroptions 	SC_NORM_ATTR="(FG_GREEN|BG_BLACK)"
900745b8439SSascha Wildneroptions 	SC_NORM_REV_ATTR="(FG_YELLOW|BG_GREEN)"
901745b8439SSascha Wildneroptions 	SC_KERNEL_CONS_ATTR="(FG_RED|BG_BLACK)"
902745b8439SSascha Wildneroptions 	SC_KERNEL_CONS_REV_ATTR="(FG_BLACK|BG_RED)"
903909252ebSImre Vadászoptions 	SC_BORDER_COLOR="FG_BLACK"
904745b8439SSascha Wildner
905745b8439SSascha Wildner# If you have a two button mouse, you may want to add the following option
906745b8439SSascha Wildner# to use the right button of the mouse to paste text.
907745b8439SSascha Wildneroptions 	SC_TWOBUTTON_MOUSE
908745b8439SSascha Wildner
909745b8439SSascha Wildner# You can selectively disable features in syscons.
910745b8439SSascha Wildner#options 	SC_NO_CUTPASTE
911745b8439SSascha Wildner#options 	SC_NO_FONT_LOADING
912745b8439SSascha Wildner#options 	SC_NO_HISTORY
913745b8439SSascha Wildner#options 	SC_NO_SYSMOUSE
914745b8439SSascha Wildner
915745b8439SSascha Wildner#
91617f3d27aSSascha Wildner# SCSI host adapters
917745b8439SSascha Wildner#
918745b8439SSascha Wildner# adv: All Narrow SCSI bus AdvanSys controllers.
919745b8439SSascha Wildner# adw: Second Generation AdvanSys controllers including the ADV940UW.
920745b8439SSascha Wildner# bt: Most Buslogic controllers
921745b8439SSascha Wildner#
922745b8439SSascha Wildner# Note that the order is important in order for Buslogic cards to be
923745b8439SSascha Wildner# probed correctly.
924745b8439SSascha Wildner#
925745b8439SSascha Wildner
92617f3d27aSSascha Wildnerdevice		bt
927e19e3c77SSascha Wildnerdevice		adv
928745b8439SSascha Wildnerdevice		adw
929745b8439SSascha Wildner
930745b8439SSascha Wildner#
931745b8439SSascha Wildner# Adaptec FSA RAID controllers, including integrated DELL controller,
932745b8439SSascha Wildner# the Dell PERC 2/QC and the HP NetRAID-4M
933745b8439SSascha Wildner#
934745b8439SSascha Wildnerdevice		aac
935745b8439SSascha Wildneroptions		AAC_DEBUG
936745b8439SSascha Wildnerdevice		aacp	# SCSI Passthrough interface (optional, CAM required)
937745b8439SSascha Wildner
938745b8439SSascha Wildner#
939745b8439SSascha Wildner# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers.  Only
940745b8439SSascha Wildner# one entry is needed; the code will find and configure all supported
941745b8439SSascha Wildner# controllers.
942745b8439SSascha Wildner#
943745b8439SSascha Wildnerdevice		ida		# Compaq Smart RAID
944745b8439SSascha Wildnerdevice		mlx		# Mylex DAC960
945745b8439SSascha Wildnerdevice		amr		# AMI MegaRAID
946745b8439SSascha Wildnerdevice		amrp		# SCSI Passthrough interface (optional, CAM req.)
9472063b358SSascha Wildneroptions		AMR_DEBUG=3
948745b8439SSascha Wildnerdevice		mfi		# LSI MegaRAID SAS
949745b8439SSascha Wildnerdevice		mfip		# LSI MegaRAID SAS passthrough, requires CAM
950745b8439SSascha Wildneroptions 	MFI_DEBUG
951745b8439SSascha Wildner
952745b8439SSascha Wildner#
9536d743f04SSascha Wildner# LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA RAID controller driver
9546d743f04SSascha Wildner#
9556d743f04SSascha Wildnerdevice		mrsas
9566d743f04SSascha Wildner
9576d743f04SSascha Wildner#
958745b8439SSascha Wildner# Areca RAID (CAM is required).
959745b8439SSascha Wildner#
960745b8439SSascha Wildnerdevice		arcmsr		# Areca SATA II RAID
961745b8439SSascha Wildner
962745b8439SSascha Wildner#
963745b8439SSascha Wildner# Highpoint RocketRAID 182x.
964745b8439SSascha Wildnerdevice		hptmv
965745b8439SSascha Wildner
966745b8439SSascha Wildner#
9670e32bd08SSascha Wildner# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
9680e32bd08SSascha Wildner# RR2210, RR174x, RR2522, RR231x, RR230x.
9690e32bd08SSascha Wildnerdevice		hptrr
9700e32bd08SSascha Wildner
9710e32bd08SSascha Wildner#
9720f74dae5SSascha Wildner# Highpoint RocketRAID 27xx.
9730f74dae5SSascha Wildnerdevice		"hpt27xx"
9740f74dae5SSascha Wildner
9750f74dae5SSascha Wildner#
976745b8439SSascha Wildner# Highpoint RocketRaid 3xxx series SATA RAID
977745b8439SSascha Wildnerdevice		hptiop
978745b8439SSascha Wildner
979745b8439SSascha Wildner#
980745b8439SSascha Wildner# 3ware ATA RAID
981745b8439SSascha Wildner#
982745b8439SSascha Wildnerdevice		twe		# 3ware ATA RAID
983745b8439SSascha Wildnerdevice		twa		# 3ware 9000 series PATA/SATA RAID
984745b8439SSascha Wildneroptions 	TWA_DEBUG=10	# enable debug messages
985745b8439SSascha Wildnerdevice		tws		# 3ware 9750 series SATA/SAS RAID
986745b8439SSascha Wildner
987745b8439SSascha Wildner#
988745b8439SSascha Wildner# IBM ServeRAID
989745b8439SSascha Wildner#
990745b8439SSascha Wildnerdevice	ips
991745b8439SSascha Wildner
992745b8439SSascha Wildner# AHCI driver, this will override NATA for AHCI devices,
993745b8439SSascha Wildner# both drivers may be included.
994745b8439SSascha Wildner#
995745b8439SSascha Wildnerdevice		ahci
996745b8439SSascha Wildner
997743e39a3SMatthew Dillon# NVME driver
998743e39a3SMatthew Dillon#
999743e39a3SMatthew Dillondevice          nvme
1000743e39a3SMatthew Dillon
1001745b8439SSascha Wildner# SiI3124/3132 driver
1002745b8439SSascha Wildner#
1003745b8439SSascha Wildnerdevice		sili
1004745b8439SSascha Wildner
1005df75ede4SSascha Wildner# The 'NATA' driver supports all ATA and ATAPI devices.
1006df75ede4SSascha Wildner# You only need one "device nata" for it to find all
1007df75ede4SSascha Wildner# PCI ATA/ATAPI devices on modern machines.
1008df75ede4SSascha Wildner#
1009745b8439SSascha Wildnerdevice		nata
1010745b8439SSascha Wildnerdevice		natadisk	# ATA disk drives
1011745b8439SSascha Wildnerdevice		natapicd	# ATAPI CD/DVD drives
1012745b8439SSascha Wildnerdevice		natapifd	# ATAPI floppy drives
1013745b8439SSascha Wildnerdevice		natapist	# ATAPI tape drives
1014745b8439SSascha Wildnerdevice		natapicam	# ATAPI CAM layer emulation
1015745b8439SSascha Wildnerdevice		nataraid	# support for ATA software RAID controllers
1016745b8439SSascha Wildner
1017df75ede4SSascha Wildner# The following options are valid for the NATA driver:
1018745b8439SSascha Wildner#
1019745b8439SSascha Wildner# ATA_STATIC_ID:	controller numbering is static (like the old driver)
1020745b8439SSascha Wildner#			else the device numbers are dynamically allocated.
1021745b8439SSascha Wildneroptions 	ATA_STATIC_ID
1022745b8439SSascha Wildner
1023745b8439SSascha Wildner# For older non-PCI systems, these are the lines to use:
1024df75ede4SSascha Wildner#
1025df75ede4SSascha Wildner#device		nata0	at isa? port IO_WD1 irq 14
1026df75ede4SSascha Wildner#device		nata1	at isa? port IO_WD2 irq 15
1027745b8439SSascha Wildner
1028745b8439SSascha Wildner#
1029745b8439SSascha Wildner# Standard floppy disk controllers: `fdc' and `fd'
1030745b8439SSascha Wildner#
1031745b8439SSascha Wildner#device		fdc0	at isa? port IO_FD1 irq 6 drq 2
1032745b8439SSascha Wildner#
1033745b8439SSascha Wildner# FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
1034745b8439SSascha Wildner# gotta turn it actually on by setting the variable fd_debug with DDB,
1035745b8439SSascha Wildner# however.
1036745b8439SSascha Wildner#options 	FDC_DEBUG
1037745b8439SSascha Wildner
1038745b8439SSascha Wildner#device		fd0	at fdc0 drive 0
1039745b8439SSascha Wildner#device		fd1	at fdc0 drive 1
1040745b8439SSascha Wildner
1041745b8439SSascha Wildner#
1042745b8439SSascha Wildner# sio: serial ports (see sio(4))
1043745b8439SSascha Wildner
1044745b8439SSascha Wildnerdevice		sio0	at isa? port IO_COM1 flags 0x10 irq 4
1045745b8439SSascha Wildner
1046745b8439SSascha Wildner#
1047745b8439SSascha Wildner# `flags' for serial drivers that support consoles (only for sio now):
1048745b8439SSascha Wildner#	0x10	enable console support for this unit.  The other console flags
1049745b8439SSascha Wildner#		are ignored unless this is set.  Enabling console support does
1050745b8439SSascha Wildner#		not make the unit the preferred console - boot with -h or set
1051745b8439SSascha Wildner#		the 0x20 flag for that.  Currently, at most one unit can have
1052745b8439SSascha Wildner#		console support; the first one (in config file order) with
1053745b8439SSascha Wildner#		this flag set is preferred.  Setting this flag for sio0 gives
1054745b8439SSascha Wildner#		the old behaviour.
1055745b8439SSascha Wildner#	0x20	force this unit to be the console (unless there is another
1056745b8439SSascha Wildner#		higher priority console).  This replaces the COMCONSOLE option.
1057745b8439SSascha Wildner#	0x40	reserve this unit for low level console operations.  Do not
1058745b8439SSascha Wildner#		access the device in any normal way.
1059745b8439SSascha Wildner#	0x80	use this port for serial line gdb support in ddb.
1060745b8439SSascha Wildner#
1061745b8439SSascha Wildner
1062745b8439SSascha Wildner# Options for serial drivers that support consoles (only for sio now):
1063745b8439SSascha Wildneroptions 	BREAK_TO_DEBUGGER	#a BREAK on a comconsole goes to
1064745b8439SSascha Wildner					#DDB, if available.
1065745b8439SSascha Wildneroptions 	CONSPEED=115200		# speed for serial console
1066745b8439SSascha Wildner					# (default 9600)
1067745b8439SSascha Wildner
1068745b8439SSascha Wildner# Solaris implements a new BREAK which is initiated by a character
1069745b8439SSascha Wildner# sequence CR ~ ^b which is similar to a familiar pattern used on
1070745b8439SSascha Wildner# Sun servers by the Remote Console.
1071745b8439SSascha Wildneroptions 	ALT_BREAK_TO_DEBUGGER
1072745b8439SSascha Wildner
1073745b8439SSascha Wildner# Options for sio:
1074745b8439SSascha Wildneroptions 	COM_ESP			#code for Hayes ESP
1075745b8439SSascha Wildneroptions 	COM_MULTIPORT		#code for some cards with shared IRQs
1076745b8439SSascha Wildner
1077745b8439SSascha Wildner# Other flags for sio that aren't documented in the man page.
1078745b8439SSascha Wildner#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
1079745b8439SSascha Wildner#		ST16650A-compatible UARTs.
1080745b8439SSascha Wildner
10813323f1c7SSascha Wildner# PCI Universal Communications driver
10823323f1c7SSascha Wildner# Supports various single and multi port PCI serial cards. Maybe later
10833323f1c7SSascha Wildner# also the parallel ports on combination serial/parallel cards. New cards
10843323f1c7SSascha Wildner# can be added in src/sys/dev/misc/puc/pucdata.c.
10853323f1c7SSascha Wildnerdevice		puc
10863323f1c7SSascha Wildner
1087745b8439SSascha Wildner#
108809ab7e4eSSascha Wildner# Network interfaces: `is', `lnc'
1089745b8439SSascha Wildner#
1090745b8439SSascha Wildner# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 & Am79C960)
1091745b8439SSascha Wildner# sbsh: Granch SBNI16 SHDSL modem PCI adapters
1092745b8439SSascha Wildner# wi: Lucent WaveLAN/IEEE 802.11 PCMCIA adapters. Note: this supports both
1093745b8439SSascha Wildner#     the PCMCIA and ISA cards: the ISA card is really a PCMCIA to ISA
1094745b8439SSascha Wildner#     bridge with a PCMCIA adapter plugged into it.
1095745b8439SSascha Wildner# xe: Xircom/Intel EtherExpress Pro100/16 PC Card ethernet controller.
1096745b8439SSascha Wildner#
1097e19e3c77SSascha Wildnerdevice lnc
1098745b8439SSascha Wildnerdevice sln
1099e19e3c77SSascha Wildnerdevice sn
1100745b8439SSascha Wildner
1101745b8439SSascha Wildner# Wlan support is mandatory for some wireless LAN devices.
1102745b8439SSascha Wildneroptions 	IEEE80211_DEBUG		#enable debugging msgs
1103745b8439SSascha Wildneroptions 	IEEE80211_SUPPORT_MESH	#enable 802.11s D3.0 support
1104745b8439SSascha Wildneroptions 	IEEE80211_SUPPORT_TDMA	#enable TDMA support
1105745b8439SSascha Wildnerdevice		wlan		# 802.11 support
1106745b8439SSascha Wildnerdevice		wlan_acl	# 802.11 MAC-based access control for AP
1107745b8439SSascha Wildnerdevice		wlan_ccmp	# 802.11 CCMP support
1108745b8439SSascha Wildnerdevice		wlan_tkip	# 802.11 TKIP support
1109745b8439SSascha Wildnerdevice		wlan_wep	# 802.11 WEP support
1110745b8439SSascha Wildnerdevice		wlan_xauth	# 802.11 WPA or 802.1x authentication for AP
1111745b8439SSascha Wildnerdevice		wlan_amrr	# 802.11 AMRR TX rate control algorithm
1112745b8439SSascha Wildnerdevice		ath		# Atheros AR521x
111350a82a17SSascha Wildneroptions		AH_AR5416_INTERRUPT_MITIGATION
111450a82a17SSascha Wildneroptions		AH_ASSERT
111550a82a17SSascha Wildneroptions		AH_DEBUG
111650a82a17SSascha Wildneroptions		AH_INTERRUPT_DEBUGGING
111750a82a17SSascha Wildneroptions		AH_MAXCHAN=96
111850a82a17SSascha Wildneroptions		AH_NEED_DESC_SWAP
111950a82a17SSascha Wildneroptions		AH_PRIVATE_DIAG
112050a82a17SSascha Wildneroptions		AH_RXCFG_SDMAMW_4BYTES
1121745b8439SSascha Wildneroptions		AH_SUPPORT_AR5416
112250a82a17SSascha Wildneroptions		AH_SUPPORT_AR9130
112350a82a17SSascha Wildneroptions		AH_SUPPORT_AR9330
112450a82a17SSascha Wildneroptions		AH_SUPPORT_AR9340
112550a82a17SSascha Wildneroptions		AH_USE_INIPDGAIN
1126745b8439SSascha Wildnerdevice		ath_hal		# Atheros Hardware Access Layer
1127745b8439SSascha Wildner#device		ath_rate_amrr	# Atheros AMRR TX rate control algorithm
1128745b8439SSascha Wildner#device		ath_rate_onoe	# Atheros Onoe TX rate control algorithm
1129745b8439SSascha Wildnerdevice		ath_rate_sample	# Atheros Sample TX rate control algorithm
1130745b8439SSascha Wildneroptions		ATH_DEBUG	# turn on debugging output (see hw.ath.debug)
1131745b8439SSascha Wildneroptions		ATH_DIAGAPI	# diagnostic interface to the HAL
113250a82a17SSascha Wildneroptions		ATH_ENABLE_DFS
113350a82a17SSascha Wildneroptions		ATH_KTR_INTR_DEBUG
1134a0ab8429SImre Vadaszdevice		siba_bwn	# Sonic Inc. Silicon Backplane needed for bwn
1135a0ab8429SImre Vadaszoptions		SIBA_DEBUG	# turn on debugging output
1136a0ab8429SImre Vadaszdevice		bwn		# Broadcom BCM43xx NICs using v4 firmware
1137a0ab8429SImre Vadaszoptions		BWN_DEBUG	# turn on debugging output
1138a0ab8429SImre Vadaszoptions		BWN_RXRING_SLOTS=128	# number of RX slots to allocate
1139a0ab8429SImre Vadaszoptions		BWN_TXRING_SLOTS=128	# number of TX slots to allocate
1140745b8439SSascha Wildnerdevice		iwi		# Intel PRO/Wireless 2200BG/2915ABG
11410ce37bc4SImre Vadászdevice		iwm		# Intel Dual Band Wireless AC 316x/726x/826x
114277f295e6SSascha Wildneroptions		IWM_DEBUG	# turn on debugging output
1143745b8439SSascha Wildnerdevice		iwn		# Intel WiFi Link 4965/1000/5000/5150/5300/6000/6050
1144459cf836SSascha Wildneroptions		IWN_DEBUG	# turn on debugging output
1145745b8439SSascha Wildnerdevice		wi		# WaveLAN/IEEE, PRISM-II, Spectrum24 802.11DS
1146745b8439SSascha Wildnerdevice		xe		# Xircom PCMCIA
1147745b8439SSascha Wildnerdevice		ral		# Ralink Technology 802.11 wireless NIC
1148745b8439SSascha Wildnerdevice		wpi
114977f295e6SSascha Wildneroptions		WPI_DEBUG	# turn on debugging output
1150745b8439SSascha Wildner
1151745b8439SSascha Wildner# IEEE 802.11 adapter firmware modules
1152745b8439SSascha Wildner
1153745b8439SSascha Wildner# iwifw:	Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware
1154de5b132cSImre Vadász# iwmfw		Intel Dual Band Wireless AC 3160/3165/3168/7260/7265/8260/8265
1155745b8439SSascha Wildner# iwnfw:	Intel WiFi Link 4965/1000/5000/5150/5300/6000/6050
1156745b8439SSascha Wildner# ralfw:	Ralink Technology RT25xx and RT26xx firmware
1157745b8439SSascha Wildner# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
1158745b8439SSascha Wildner
1159745b8439SSascha Wildnerdevice		iwifw
1160e4216dc3SSascha Wildnerdevice		iwmfw
1161745b8439SSascha Wildnerdevice		iwnfw
1162745b8439SSascha Wildnerdevice		ralfw
1163745b8439SSascha Wildnerdevice		wpifw
1164745b8439SSascha Wildner
1165745b8439SSascha Wildner# Bluetooth Protocols
1166745b8439SSascha Wildnerdevice		bluetooth
1167745b8439SSascha Wildner
1168745b8439SSascha Wildner# Sound drivers
1169745b8439SSascha Wildner#
1170745b8439SSascha Wildner
1171745b8439SSascha Wildner# Basic sound card support:
11722a1ad637SFrançois Tigeotdevice		sound
117343f215d7SSascha Wildner# For PCI sound cards:
1174745b8439SSascha Wildnerdevice		"snd_als4000"
1175745b8439SSascha Wildnerdevice		"snd_atiixp"
1176745b8439SSascha Wildnerdevice		"snd_cmi"
1177745b8439SSascha Wildnerdevice		"snd_cs4281"
1178745b8439SSascha Wildnerdevice		"snd_emu10k1"
11792a1ad637SFrançois Tigeotdevice		"snd_emu10kx"
11803c0a9cdfSSascha Wildnerdevice		"snd_envy24"
11813c0a9cdfSSascha Wildnerdevice		"snd_envy24ht"
1182745b8439SSascha Wildnerdevice		"snd_es137x"
1183745b8439SSascha Wildnerdevice		"snd_fm801"
1184745b8439SSascha Wildnerdevice		"snd_hda"
11852a1ad637SFrançois Tigeotdevice		"snd_hdspe"
1186745b8439SSascha Wildnerdevice		"snd_ich"
1187745b8439SSascha Wildnerdevice		"snd_maestro"
1188745b8439SSascha Wildnerdevice		"snd_neomagic"
1189745b8439SSascha Wildnerdevice		"snd_solo"
11903c0a9cdfSSascha Wildnerdevice		"snd_spicds"
1191745b8439SSascha Wildnerdevice		"snd_t4dwave"
1192745b8439SSascha Wildnerdevice		"snd_via8233"
1193745b8439SSascha Wildnerdevice		"snd_via82c686"
1194745b8439SSascha Wildnerdevice		"snd_vibes"
119585e23b67SSascha Wildner# USB
119685e23b67SSascha Wildnerdevice		"snd_uaudio"
119785e23b67SSascha Wildner
119885e23b67SSascha Wildner#
119985e23b67SSascha Wildner# Following options are intended for debugging/testing purposes:
120085e23b67SSascha Wildner#
120185e23b67SSascha Wildner# SND_DEBUG                    Enable extra debugging code that includes
120285e23b67SSascha Wildner#                              sanity checking and possible increase of
120385e23b67SSascha Wildner#                              verbosity.
120485e23b67SSascha Wildner#
120585e23b67SSascha Wildner# SND_DIAGNOSTIC               Similar in a spirit of INVARIANTS/DIAGNOSTIC,
120685e23b67SSascha Wildner#                              zero tolerance against inconsistencies.
120785e23b67SSascha Wildner#
120885e23b67SSascha Wildner# SND_FEEDER_MULTIFORMAT       By default, only 16/32 bit feeders are compiled
120985e23b67SSascha Wildner#                              in. This options enable most feeder converters
121085e23b67SSascha Wildner#                              except for 8bit. WARNING: May bloat the kernel.
121185e23b67SSascha Wildner#
121285e23b67SSascha Wildner# SND_FEEDER_FULL_MULTIFORMAT  Ditto, but includes 8bit feeders as well.
121385e23b67SSascha Wildner#
121485e23b67SSascha Wildner# SND_FEEDER_RATE_HP           (feeder_rate) High precision 64bit arithmetic
121585e23b67SSascha Wildner#                              as much as possible (the default trying to
121685e23b67SSascha Wildner#                              avoid it). Possible slowdown.
121785e23b67SSascha Wildner#
121885e23b67SSascha Wildner# SND_PCM_64                   (Only applicable for i386/32bit arch)
121985e23b67SSascha Wildner#                              Process 32bit samples through 64bit
122085e23b67SSascha Wildner#                              integer/arithmetic. Slight increase of dynamic
122185e23b67SSascha Wildner#                              range at a cost of possible slowdown.
122285e23b67SSascha Wildner#
122385e23b67SSascha Wildner# SND_OLDSTEREO                Only 2 channels are allowed, effectively
122485e23b67SSascha Wildner#                              disabling multichannel processing.
122585e23b67SSascha Wildner#
12262a1ad637SFrançois Tigeotoptions		SND_DEBUG
122785e23b67SSascha Wildner#options		SND_DIAGNOSTIC
12282a1ad637SFrançois Tigeotoptions		SND_FEEDER_MULTIFORMAT
12292a1ad637SFrançois Tigeotoptions		SND_FEEDER_FULL_MULTIFORMAT
12302a1ad637SFrançois Tigeotoptions		SND_FEEDER_RATE_HP
12312a1ad637SFrançois Tigeotoptions		SND_PCM_64
12322a1ad637SFrançois Tigeotoptions		SND_OLDSTEREO
1233745b8439SSascha Wildner
1234745b8439SSascha Wildner#
1235745b8439SSascha Wildner# Miscellaneous hardware:
1236745b8439SSascha Wildner#
1237745b8439SSascha Wildner# bktr: Brooktree bt848/848a/849a/878/879 video capture and TV Tuner board
123823832f75SSepherosa Ziehau# coremctl: Intel Core/E3 memory controller (required by ecc(4) and memtemp(4))
123923832f75SSepherosa Ziehau# dimm: Location inforamtion (required by ecc(4) and memtemp(4))
1240e147701eSSascha Wildner# ecc: ECC memory controller
124153a374c1SSascha Wildner# ipmi: Intelligent Platform Management Interface
1242745b8439SSascha Wildner# joy: joystick
1243e4c2ac86SSascha Wildner# nrp: Comtrol Rocketport
1244745b8439SSascha Wildner# si: Specialix SI/XIO 4-32 port terminal multiplexor
1245745b8439SSascha Wildner# nmdm: nullmodem terminal driver (see nmdm(4))
1246f1e3af6cSSascha Wildner# tpm: Trusted Platform Module
1247745b8439SSascha Wildner
1248745b8439SSascha Wildner# Notes on the Specialix SI/XIO driver:
1249745b8439SSascha Wildner#  **This is NOT a Specialix supported Driver!**
1250745b8439SSascha Wildner#  The host card is memory, not IO mapped.
1251745b8439SSascha Wildner#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
1252745b8439SSascha Wildner#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
1253745b8439SSascha Wildner#  The cards can use an IRQ of 11, 12 or 15.
1254745b8439SSascha Wildner
1255f7409137SSepherosa Ziehaudevice		coremctl
1256881f7bffSSepherosa Ziehaudevice		dimm
1257e147701eSSascha Wildnerdevice		ecc
1258745b8439SSascha Wildnerdevice		joy0	at isa? port IO_GAME
1259745b8439SSascha Wildnerdevice		nrp
1260e19e3c77SSascha Wildnerdevice		si
1261745b8439SSascha Wildner# nullmodem terminal driver
1262745b8439SSascha Wildnerdevice		nmdm
1263f1e3af6cSSascha Wildnerdevice		tpm
126453a374c1SSascha Wildnerdevice		ipmi
1265745b8439SSascha Wildner
1266745b8439SSascha Wildner# The adw driver will attempt to use memory mapped I/O for all PCI
1267745b8439SSascha Wildner# controllers that have it configured only if this option is set.
1268745b8439SSascha Wildneroptions 	ADW_ALLOW_MEMIO
1269745b8439SSascha Wildner
1270745b8439SSascha Wildner#
1271745b8439SSascha Wildner# PCI devices & PCI options:
1272745b8439SSascha Wildner#
1273745b8439SSascha Wildner# The main PCI bus device is `pci'.  It provides auto-detection and
1274745b8439SSascha Wildner# configuration support for all devices on the PCI bus, using either
1275745b8439SSascha Wildner# configuration mode defined in the PCI specification.
1276745b8439SSascha Wildner
1277745b8439SSascha Wildnerdevice		pci
1278745b8439SSascha Wildner
1279745b8439SSascha Wildner# AGP GART support
1280745b8439SSascha Wildner#
1281745b8439SSascha Wildnerdevice		agp
1282745b8439SSascha Wildner
12837f9ec87cSFrançois Tigeot#
12847f9ec87cSFrançois Tigeot# AGP debugging.
12857f9ec87cSFrançois Tigeot#
12867f9ec87cSFrançois Tigeotoptions                AGP_DEBUG
1287745b8439SSascha Wildner
1288745b8439SSascha Wildner# The `amd' device provides support for the AMD 53C974 SCSI host
1289745b8439SSascha Wildner# adapter chip as found on devices such as the Tekram DC-390(T).
1290745b8439SSascha Wildner#
1291745b8439SSascha Wildner# The `bge' device provides support for gigabit ethernet adapters
1292745b8439SSascha Wildner# based on the Broadcom BCM570x family of controllers, including the
1293745b8439SSascha Wildner# 3Com 3c996-T, the Netgear GA302T, the SysKonnect SK-9D21 and SK-9D41,
1294745b8439SSascha Wildner# and the embedded gigE NICs on Dell PowerEdge 2550 servers.
1295745b8439SSascha Wildner#
1296745b8439SSascha Wildner# The `ncr' device provides support for the NCR 53C810 and 53C825
1297745b8439SSascha Wildner# self-contained SCSI host adapters.
1298745b8439SSascha Wildner#
1299745b8439SSascha Wildner# The `isp' device provides support for the Qlogic ISP 1020, 1040
1300745b8439SSascha Wildner# nd 1040B PCI SCSI host adapters, ISP 1240 Dual Ultra SCSI,
1301745b8439SSascha Wildner# ISP 1080 and 1280 (Dual) Ultra2, ISP 12160 Ultra3 SCSI, as well as
1302745b8439SSascha Wildner# the Qlogic ISP 2100 and ISP 2200 Fibre Channel Host Adapters.
1303745b8439SSascha Wildner#
1304745b8439SSascha Wildner# The `dc' device provides support for PCI fast ethernet adapters
1305745b8439SSascha Wildner# based on the DEC/Intel 21143 and various workalikes including:
1306745b8439SSascha Wildner# the ADMtek AL981 Comet and AN985 Centaur, the ASIX Electronics
1307745b8439SSascha Wildner# AX88140A and AX88141, the Davicom DM9100 and DM9102, the Lite-On
1308745b8439SSascha Wildner# 82c168 and 82c169 PNIC, the Lite-On/Macronix LC82C115 PNIC II
1309745b8439SSascha Wildner# and the Macronix 98713/98713A/98715/98715A/98725 PMAC. This driver
1310745b8439SSascha Wildner# replaces the old al, ax, dm, pn and mx drivers.  List of brands:
1311745b8439SSascha Wildner# Digital DE500-BA, Kingston KNE100TX, D-Link DFE-570TX, SOHOware SFA110,
1312745b8439SSascha Wildner# SVEC PN102-TX, CNet Pro110B, 120A, and 120B, Compex RL100-TX,
1313745b8439SSascha Wildner# LinkSys LNE100TX, LNE100TX V2.0, Jaton XpressNet, Alfa Inc GFC2204,
1314745b8439SSascha Wildner# KNE110TX.
1315745b8439SSascha Wildner#
1316745b8439SSascha Wildner# The `de' device provides support for the Digital Equipment DC21040
1317745b8439SSascha Wildner# self-contained Ethernet adapter.
1318745b8439SSascha Wildner#
1319745b8439SSascha Wildner# The `em' device provides support for the Intel Pro/1000 Family of Gigabit
1320745b8439SSascha Wildner# adapters (82542, 82543, 82544, 82540).
1321745b8439SSascha Wildner#
1322745b8439SSascha Wildner# The `et' device provides support for the Agere ET1310 10/100/1000 PCIe
1323745b8439SSascha Wildner# adapters.
1324745b8439SSascha Wildner#
1325745b8439SSascha Wildner# The `fxp' device provides support for the Intel EtherExpress Pro/100B
1326745b8439SSascha Wildner# PCI Fast Ethernet adapters.
1327745b8439SSascha Wildner#
1328745b8439SSascha Wildner# The 'lge' device provides support for PCI gigabit ethernet adapters
1329745b8439SSascha Wildner# based on the Level 1 LXT1001 NetCellerator chipset. This includes the
1330745b8439SSascha Wildner# D-Link DGE-500SX, SMC TigerCard 1000 (SMC9462SX), and some Addtron cards.
1331745b8439SSascha Wildner#
1332745b8439SSascha Wildner# The 'my' device provides support for the Myson MTD80X and MTD89X PCI
1333745b8439SSascha Wildner# Fast Ethernet adapters.
1334745b8439SSascha Wildner#
1335745b8439SSascha Wildner# The 'nge' device provides support for PCI gigabit ethernet adapters
1336745b8439SSascha Wildner# based on the National Semiconductor DP83820 and DP83821 chipset. This
1337745b8439SSascha Wildner# includes the SMC EZ Card 1000 (SMC9462TX), D-Link DGE-500T, Asante
1338745b8439SSascha Wildner# FriendlyNet GigaNIX 1000TA and 1000TPC, the Addtron AEG320T, the
1339745b8439SSascha Wildner# LinkSys EG1032 and EG1064, the Surecom EP-320G-TX and the Netgear GA622T.
1340745b8439SSascha Wildner#
1341229aec1cSSascha Wildner# The 'oce' device provides support for Emulex 10 Gbit adapters
1342229aec1cSSascha Wildner# (OneConnect Ethernet).
1343229aec1cSSascha Wildner#
1344745b8439SSascha Wildner# The 'pcn' device provides support for PCI fast ethernet adapters based
1345745b8439SSascha Wildner# on the AMD Am79c97x chipsets, including the PCnet/FAST, PCnet/FAST+,
1346745b8439SSascha Wildner# PCnet/PRO and PCnet/Home. These were previously handled by the lnc
1347745b8439SSascha Wildner# driver (and still will be if you leave this driver out of the kernel).
1348745b8439SSascha Wildner#
1349745b8439SSascha Wildner# Te 're' device provides support for PCI GigaBit ethernet adapters based
1350745b8439SSascha Wildner# on the RealTek 8169 chipset. It also supports the 8139C+ and is the
1351745b8439SSascha Wildner# preferred driver for that chip.
1352745b8439SSascha Wildner#
1353745b8439SSascha Wildner# The 'rl' device provides support for PCI fast ethernet adapters based
1354745b8439SSascha Wildner# on the RealTek 8129/8139 chipset. Note that the RealTek driver defaults
1355745b8439SSascha Wildner# to using programmed I/O to do register accesses because memory mapped
1356745b8439SSascha Wildner# mode seems to cause severe lockups on SMP hardware. This driver also
1357745b8439SSascha Wildner# supports the Accton EN1207D `Cheetah' adapter, which uses a chip called
1358745b8439SSascha Wildner# the MPX 5030/5038, which is either a RealTek in disguise or a RealTek
1359745b8439SSascha Wildner# workalike.  Note that the D-Link DFE-530TX+ uses the RealTek chipset
1360745b8439SSascha Wildner# and is supported by this driver, not the 'vr' driver.
1361745b8439SSascha Wildner#
1362745b8439SSascha Wildner# The 'sf' device provides support for Adaptec Duralink PCI fast
1363745b8439SSascha Wildner# ethernet adapters based on the Adaptec AIC-6915 "starfire" controller.
1364745b8439SSascha Wildner# This includes dual and quad port cards, as well as one 100baseFX card.
1365745b8439SSascha Wildner# Most of these are 64-bit PCI devices, except for one single port
1366745b8439SSascha Wildner# card which is 32-bit.
1367745b8439SSascha Wildner#
1368745b8439SSascha Wildner# The 'ste' device provides support for adapters based on the Sundance
1369745b8439SSascha Wildner# Technologies ST201 PCI fast ethernet controller. This includes the
1370745b8439SSascha Wildner# D-Link DFE-550TX.
1371745b8439SSascha Wildner#
1372745b8439SSascha Wildner# The 'sis' device provides support for adapters based on the Silicon
1373745b8439SSascha Wildner# Integrated Systems SiS 900 and SiS 7016 PCI fast ethernet controller
1374745b8439SSascha Wildner# chips.
1375745b8439SSascha Wildner#
1376745b8439SSascha Wildner# The 'sk' device provides support for the SysKonnect SK-984x series
1377745b8439SSascha Wildner# PCI gigabit ethernet NICs. This includes the SK-9841 and SK-9842
1378745b8439SSascha Wildner# single port cards (single mode and multimode fiber) and the
1379745b8439SSascha Wildner# SK-9843 and SK-9844 dual port cards (also single mode and multimode).
1380745b8439SSascha Wildner# The driver will autodetect the number of ports on the card and
1381745b8439SSascha Wildner# attach each one as a separate network interface.
1382745b8439SSascha Wildner#
1383745b8439SSascha Wildner# The 'ti' device provides support for PCI gigabit ethernet NICs based
1384745b8439SSascha Wildner# on the Alteon Networks Tigon 1 and Tigon 2 chipsets. This includes the
1385745b8439SSascha Wildner# Alteon AceNIC, the 3Com 3c985, the Netgear GA620 and various others.
1386745b8439SSascha Wildner# Note that you will probably want to bump up NMBCLUSTERS a lot to use
1387745b8439SSascha Wildner# this driver.
1388745b8439SSascha Wildner#
1389745b8439SSascha Wildner# The 'tl' device provides support for the Texas Instruments TNETE100
1390745b8439SSascha Wildner# series 'ThunderLAN' cards and integrated ethernet controllers. This
1391745b8439SSascha Wildner# includes several Compaq Netelligent 10/100 cards and the built-in
1392745b8439SSascha Wildner# ethernet controllers in several Compaq Prosignia, Proliant and
1393745b8439SSascha Wildner# Deskpro systems. It also supports several Olicom 10Mbps and 10/100
1394745b8439SSascha Wildner# boards.
1395745b8439SSascha Wildner#
1396745b8439SSascha Wildner# The `tx' device provides support for the SMC 9432 TX, BTX and FTX cards.
1397745b8439SSascha Wildner#
1398745b8439SSascha Wildner# The `txp' device provides support for the 3Com 3cR990 "Typhoon"
1399745b8439SSascha Wildner# 10/100 adapters.
1400745b8439SSascha Wildner#
1401745b8439SSascha Wildner# The `vr' device provides support for various fast ethernet adapters
1402745b8439SSascha Wildner# based on the VIA Technologies VT3043 `Rhine I' and VT86C100A `Rhine II'
1403745b8439SSascha Wildner# chips, including the D-Link DFE530TX (see 'rl' for DFE530TX+), the Hawking
1404745b8439SSascha Wildner# Technologies PN102TX, and the AOpen/Acer ALN-320.
1405745b8439SSascha Wildner#
1406745b8439SSascha Wildner# The `wb' device provides support for various fast ethernet adapters
1407745b8439SSascha Wildner# based on the Winbond W89C840F chip. Note: this is not the same as
1408745b8439SSascha Wildner# the Winbond W89C940F, which is an NE2000 clone.
1409745b8439SSascha Wildner#
1410745b8439SSascha Wildner# The `xl' device provides support for the 3Com 3c900, 3c905 and
1411745b8439SSascha Wildner# 3c905B (Fast) Etherlink XL cards and integrated controllers. This
1412745b8439SSascha Wildner# includes the integrated 3c905B-TX chips in certain Dell Optiplex and
1413745b8439SSascha Wildner# Dell Precision desktop machines and the integrated 3c905-TX chips
1414745b8439SSascha Wildner# in Dell Latitude laptop docking stations.
1415745b8439SSascha Wildner#
1416745b8439SSascha Wildner# The 'bktr' device is a PCI video capture device using the Brooktree
1417745b8439SSascha Wildner# bt848/bt848a/bt849a/bt878/bt879 chipset. When used with a TV Tuner it forms a
1418745b8439SSascha Wildner# TV card, eg Miro PC/TV, Hauppauge WinCast/TV WinTV, VideoLogic Captivator,
1419745b8439SSascha Wildner# Intel Smart Video III, AverMedia, IMS Turbo, FlyVideo.
1420745b8439SSascha Wildner#
1421745b8439SSascha Wildner# options 	OVERRIDE_CARD=xxx
1422745b8439SSascha Wildner# options 	OVERRIDE_TUNER=xxx
1423745b8439SSascha Wildner# options 	OVERRIDE_MSP=1
1424745b8439SSascha Wildner# options 	OVERRIDE_DBX=1
1425745b8439SSascha Wildner# These options can be used to override the auto detection
1426745b8439SSascha Wildner# The current values for xxx are found in src/sys/dev/video/bktr/bktr_card.h
1427745b8439SSascha Wildner# Using sysctl(8) run-time overrides on a per-card basis can be made
1428745b8439SSascha Wildner#
1429745b8439SSascha Wildner# options 	BKTR_SYSTEM_DEFAULT=BROOKTREE_PAL
1430745b8439SSascha Wildner# or
1431745b8439SSascha Wildner# options 	BKTR_SYSTEM_DEFAULT=BROOKTREE_NTSC
14328d67cbb3SSascha Wildner# Specifies the default video capture mode.
1433745b8439SSascha Wildner# This is required for Dual Crystal (28&35Mhz) boards where PAL is used
1434745b8439SSascha Wildner# to prevent hangs during initialisation.  eg VideoLogic Captivator PCI.
1435745b8439SSascha Wildner#
1436745b8439SSascha Wildner# options 	BKTR_USE_PLL
1437745b8439SSascha Wildner# PAL or SECAM users who have a 28Mhz crystal (and no 35Mhz crystal)
1438745b8439SSascha Wildner# must enable PLL mode with this option. eg some new Bt878 cards.
1439745b8439SSascha Wildner#
1440745b8439SSascha Wildner# options 	BKTR_GPIO_ACCESS
1441745b8439SSascha Wildner# This enable IOCTLs which give user level access to the GPIO port.
1442745b8439SSascha Wildner#
1443745b8439SSascha Wildner# options 	BKTR_NO_MSP_RESET
1444745b8439SSascha Wildner# Prevents the MSP34xx reset. Good if you initialise the MSP in another OS first
1445745b8439SSascha Wildner#
1446745b8439SSascha Wildner# options 	BKTR_430_FX_MODE
1447745b8439SSascha Wildner# Switch Bt878/879 cards into Intel 430FX chipset compatibility mode.
1448745b8439SSascha Wildner#
1449745b8439SSascha Wildner# options 	BKTR_SIS_VIA_MODE
1450745b8439SSascha Wildner# Switch Bt878/879 cards into SIS/VIA chipset compatibility mode which is
1451745b8439SSascha Wildner# needed for some old SiS and VIA chipset motherboards.
1452745b8439SSascha Wildner# This also allows Bt878/879 chips to work on old OPTi (<1997) chipset
1453745b8439SSascha Wildner# motherboards and motherboards with bad or incomplete PCI 2.1 support.
1454745b8439SSascha Wildner# As a rough guess, old = before 1998
1455745b8439SSascha Wildner#
1456745b8439SSascha Wildner# options 	BKTR_NEW_MSP34XX_DRIVER
1457745b8439SSascha Wildner# Use new, more complete initialization scheme for the msp34* soundchip.
1458745b8439SSascha Wildner# Should fix stereo autodetection if the old driver does only output
1459745b8439SSascha Wildner# mono sound.
1460745b8439SSascha Wildner#
1461745b8439SSascha Wildner# options	BKTR_OVERRIDE_CARD=xxx
1462745b8439SSascha Wildner# options	BKTR_OVERRIDE_DBX=xxx
1463745b8439SSascha Wildner# options	BKTR_OVERRIDE_MSP=xxx
1464745b8439SSascha Wildner# options	BKTR_OVERRIDE_TUNER=xxx
1465745b8439SSascha Wildner# These options can be used to select a specific device, regardless of
1466745b8439SSascha Wildner# the autodetection and i2c device checks (see comments in bktr_card.c).
1467745b8439SSascha Wildner#
1468745b8439SSascha Wildnerdevice		amd		# AMD 53C974 (Tekram DC-390(T))
1469745b8439SSascha Wildnerdevice		isp		# Qlogic family
1470745b8439SSascha Wildnerdevice		ispfw		# Firmware for QLogic HBAs
1471745b8439SSascha Wildnerdevice		mpt		# LSI '909 FC adapters
1472745b8439SSascha Wildnerdevice		mps		# LSI-Logic MPT-Fusion 2
1473745b8439SSascha Wildnerdevice		ncr		# NCR/Symbios Logic
1474745b8439SSascha Wildnerdevice		sym		# NCR/Symbios Logic (newer chipsets)
1475745b8439SSascha Wildnerdevice		trm		# Tekram DC395U/UW/F and DC315U
1476745b8439SSascha Wildner#
1477745b8439SSascha Wildner# Options for ISP
1478745b8439SSascha Wildner#
1479745b8439SSascha Wildner#	ISP_TARGET_MODE		-	enable target mode operation
1480745b8439SSascha Wildner#options 	ISP_TARGET_MODE=1
1481745b8439SSascha Wildner
148247a69c3fSSascha Wildner# Options used in dev/disk/sym/ (Symbios SCSI driver).
1483745b8439SSascha Wildner#options 	SYM_SETUP_LP_PROBE_MAP	#-Low Priority Probe Map (bits)
1484745b8439SSascha Wildner					# Allows the ncr to take precedence
1485745b8439SSascha Wildner					# 1 (1<<0) -> 810a, 860
1486745b8439SSascha Wildner					# 2 (1<<1) -> 825a, 875, 885, 895
1487745b8439SSascha Wildner					# 4 (1<<2) -> 895a, 896, 1510d
1488745b8439SSascha Wildner#options 	SYM_SETUP_SCSI_DIFF	#-HVD support for 825a, 875, 885
1489745b8439SSascha Wildner					# disabled:0 (default), enabled:1
1490745b8439SSascha Wildner#options 	SYM_SETUP_PCI_PARITY	#-PCI parity checking
1491745b8439SSascha Wildner					# disabled:0, enabled:1 (default)
1492745b8439SSascha Wildner#options 	SYM_SETUP_MAX_LUN	#-Number of LUNs supported
1493745b8439SSascha Wildner					# default:8, range:[1..64]
1494745b8439SSascha Wildner
1495745b8439SSascha Wildner
1496745b8439SSascha Wildner# MII bus support is required for some PCI 10/100 ethernet NICs,
1497745b8439SSascha Wildner# namely those which use MII-compliant transceivers or implement
1498745b8439SSascha Wildner# transceiver control interfaces that operate like an MII. Adding
1499745b8439SSascha Wildner# "device miibus0" to the kernel config pulls in support for
1500745b8439SSascha Wildner# the generic miibus API and all of the PHY drivers, including a
1501745b8439SSascha Wildner# generic one for PHYs that aren't specifically handled by an
1502745b8439SSascha Wildner# individual driver.
1503745b8439SSascha Wildnerdevice		miibus
1504745b8439SSascha Wildner
1505745b8439SSascha Wildner# PCI Ethernet NICs that use the common MII bus controller code.
1506745b8439SSascha Wildnerdevice		ae		# Attansic/Atheros L2 Fast Ethernet
1507745b8439SSascha Wildnerdevice		alc		# Atheros AR8131/AR8132
1508745b8439SSascha Wildnerdevice		ale		# Atheros AR8121/AR8113/AR8114
1509745b8439SSascha Wildnerdevice		age		# Attansic/Atheros L1 Gigabit Ethernet
1510745b8439SSascha Wildnerdevice		bce		# Broadcom NetXtreme II Gigabit Ethernet
1511745b8439SSascha Wildnerdevice		bfe		# Broadcom BCM440x 10/100 Ethernet
15126c8d8eccSSepherosa Ziehaudevice		bnx		# Broadcom NetXtreme 5718/57785 Gigabit Ethernet
1513745b8439SSascha Wildnerdevice		dc		# DEC/Intel 21143 and various workalikes
1514745b8439SSascha Wildnerdevice		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
1515745b8439SSascha Wildnerdevice		my		# Myson Fast Ethernet (MTD80X, MTD89X)
1516745b8439SSascha Wildnerdevice		pcn		# AMD Am79C97x PCI 10/100 NICs
1517745b8439SSascha Wildnerdevice		re		# RealTek 8139C+/8169
1518745b8439SSascha Wildnerdevice		rl		# RealTek 8129/8139
1519745b8439SSascha Wildnerdevice		sbsh		# Granch SBNI16 SHDSL modem
1520745b8439SSascha Wildnerdevice		sf		# Adaptec AIC-6915 (``Starfire'')
1521745b8439SSascha Wildnerdevice		sis		# Silicon Integrated Systems SiS 900/SiS 7016
1522745b8439SSascha Wildnerdevice		ste		# Sundance ST201 (D-Link DFE-550TX)
1523745b8439SSascha Wildnerdevice		tl		# Texas Instruments ThunderLAN
1524745b8439SSascha Wildnerdevice		tx		# SMC EtherPower II (83c17x ``EPIC'')
1525745b8439SSascha Wildnerdevice		vge		# VIA 612x GigE
1526745b8439SSascha Wildnerdevice		vr		# VIA Rhine, Rhine II
1527745b8439SSascha Wildnerdevice		wb		# Winbond W89C840F
1528745b8439SSascha Wildnerdevice		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
1529745b8439SSascha Wildner
1530745b8439SSascha Wildner# PCI Ethernet NICs.
1531745b8439SSascha Wildnerdevice		de		# DEC/Intel DC21x4x (``Tulip'')
1532745b8439SSascha Wildnerdevice		txp		# 3Com 3cR990 (``Typhoon'')
1533745b8439SSascha Wildner
1534745b8439SSascha Wildner# Gigabit Ethernet NICs.
1535745b8439SSascha Wildnerdevice		bge		# Broadcom BCM570x (``Tigon III'')
1536745b8439SSascha Wildnerdevice		em		# Intel Pro/1000 (8254x,8257x)
1537745b8439SSascha Wildner				# Requires ig_hal
1538745b8439SSascha Wildnerdevice		emx		# Intel Pro/1000 (8257{1,2,3,4})
1539745b8439SSascha Wildner				# Requires ig_hal
15401f7e3916SSepherosa Ziehaudevice		igb		# Intel Pro/1000 (82575, 82576, 82580, i350)
15411f7e3916SSepherosa Ziehau				# Requires ig_hal
1542745b8439SSascha Wildnerdevice		ig_hal		# Intel Pro/1000 hardware abstraction layer
154379251f5eSSepherosa Ziehaudevice		ix		# Intel PRO/10GbE PCIE Ethernet Family
1544745b8439SSascha Wildnerdevice		et		# Agere ET1310 10/100/1000 Ethernet
1545745b8439SSascha Wildnerdevice		lge		# Level 1 LXT1001 (``Mercury'')
1546745b8439SSascha Wildnerdevice		mxge		# Myricom Myri-10G 10GbE NIC
1547d81f1b78SJan Sucandevice		mxgefw		# Firmware for Myricom Myri-10G 10GbE NIC
1548745b8439SSascha Wildnerdevice		nfe		# nVidia nForce2/3 MCP04/51/55 CK804
1549745b8439SSascha Wildnerdevice		nge		# NatSemi DP83820 and DP83821
1550229aec1cSSascha Wildnerdevice		oce		# Emulex 10 GbE (OneConnect Ethernet)
1551745b8439SSascha Wildnerdevice		sk		# SysKonnect GEnesis, LinkSys EG1023, D-Link
1552745b8439SSascha Wildnerdevice		ti		# Alteon (``Tigon I'', ``Tigon II'')
1553745b8439SSascha Wildnerdevice		stge		# Sundance/Tamarack TC9021 Gigabit Ethernet
1554745b8439SSascha Wildnerdevice		msk		# Marvell/SysKonnect Yukon II Gigabit Ethernet
1555745b8439SSascha Wildnerdevice		jme		# JMicron Gigabit/Fast Ethernet
1556745b8439SSascha Wildner
1557745b8439SSascha Wildner# Brooktree driver has been ported to the new I2C framework. Thus,
1558745b8439SSascha Wildner# you'll need to have the following 3 lines in the kernel config.
1559745b8439SSascha Wildner#     device smbus
1560745b8439SSascha Wildner#     device iicbus
1561745b8439SSascha Wildner#     device iicbb
1562745b8439SSascha Wildner# The iic and smb devices are only needed if you want to control other
1563745b8439SSascha Wildner# I2C slaves connected to the external connector of some cards.
1564745b8439SSascha Wildner#
1565745b8439SSascha Wildnerdevice		bktr
1566745b8439SSascha Wildneroptions 	BKTR_NEW_MSP34XX_DRIVER
1567745b8439SSascha Wildner
1568745b8439SSascha Wildner# WinTV PVR-250/350 driver
1569745b8439SSascha Wildnerdevice		cxm
1570745b8439SSascha Wildner
1571745b8439SSascha Wildner#
1572745b8439SSascha Wildner# PCCARD/PCMCIA
1573745b8439SSascha Wildner#
1574745b8439SSascha Wildner# pccard: pccard slots
1575745b8439SSascha Wildner# cardbus/cbb: cardbus bridge
1576745b8439SSascha Wildnerdevice		pccard
1577745b8439SSascha Wildnerdevice		cardbus
1578745b8439SSascha Wildnerdevice		cbb
1579745b8439SSascha Wildner
1580745b8439SSascha Wildner#
1581745b8439SSascha Wildner# MMC/SD
1582745b8439SSascha Wildner#
1583745b8439SSascha Wildner# mmc 		MMC/SD bus
1584745b8439SSascha Wildner# mmcsd		MMC/SD memory card
1585745b8439SSascha Wildner# sdhci		Generic PCI SD Host Controller
1586745b8439SSascha Wildner#
1587745b8439SSascha Wildnerdevice		mmc
1588745b8439SSascha Wildnerdevice		mmcsd
1589745b8439SSascha Wildnerdevice		sdhci
1590745b8439SSascha Wildner
1591745b8439SSascha Wildner#
1592745b8439SSascha Wildner# SMB bus
1593745b8439SSascha Wildner#
1594745b8439SSascha Wildner# System Management Bus support is provided by the 'smbus' device.
1595745b8439SSascha Wildner# Access to the SMBus device is via the 'smb' device (/dev/smb*),
1596745b8439SSascha Wildner# which is a child of the 'smbus' device.
1597745b8439SSascha Wildner#
1598745b8439SSascha Wildner# Supported devices:
1599745b8439SSascha Wildner# smb		standard io through /dev/smb*
1600745b8439SSascha Wildner#
160198eefd6fSImre Vadász# ACPI support:
160298eefd6fSImre Vadász# smbacpi	support for ACPI I2cSerialBus resources
160398eefd6fSImre Vadász#
1604745b8439SSascha Wildner# Supported SMB interfaces:
1605745b8439SSascha Wildner# iicsmb	I2C to SMB bridge with any iicbus interface
1606745b8439SSascha Wildner# bktr		brooktree848 I2C hardware interface
1607745b8439SSascha Wildner# intpm		Intel PIIX4 (82371AB, 82443MX) Power Management Unit
1608745b8439SSascha Wildner# alpm		Acer Aladdin-IV/V/Pro2 Power Management Unit
16098ceadc27SSascha Wildner# ichiic	Intel generation 4 I2C controller
1610745b8439SSascha Wildner# ichsmb	Intel ICH SMBus controller chips (82801AA, 82801AB, 82801BA)
1611745b8439SSascha Wildner# viapm		VIA VT82C586B,596,686A and VT8233 SMBus controllers
1612745b8439SSascha Wildner# amdpm		AMD 756 Power Management Unit
1613745b8439SSascha Wildner# amdsmb	AMD 8111 SMBus 2.0 Controller
1614745b8439SSascha Wildner#
1615745b8439SSascha Wildnerdevice		smbus		# Bus support, required for smb below.
1616745b8439SSascha Wildner
1617745b8439SSascha Wildnerdevice		intpm
1618745b8439SSascha Wildnerdevice		alpm
16198ceadc27SSascha Wildnerdevice		ichiic
1620745b8439SSascha Wildnerdevice		ichsmb
1621745b8439SSascha Wildnerdevice		viapm
1622745b8439SSascha Wildnerdevice		amdpm
1623745b8439SSascha Wildnerdevice		amdsmb
1624745b8439SSascha Wildner
1625745b8439SSascha Wildnerdevice		smb
1626745b8439SSascha Wildner
162798eefd6fSImre Vadászdevice		smbacpi
162898eefd6fSImre Vadász
1629745b8439SSascha Wildner#
1630745b8439SSascha Wildner# I2C Bus
1631745b8439SSascha Wildner#
1632745b8439SSascha Wildner# Philips i2c bus support is provided by the `iicbus' device.
1633745b8439SSascha Wildner#
1634745b8439SSascha Wildner# Supported devices:
1635745b8439SSascha Wildner# ic	i2c network interface
1636745b8439SSascha Wildner# iic	i2c standard io
1637745b8439SSascha Wildner# iicsmb i2c to smb bridge. Allow i2c i/o with smb commands.
1638745b8439SSascha Wildner#
1639745b8439SSascha Wildner# Supported interfaces:
1640745b8439SSascha Wildner# pcf	Philips PCF8584 ISA-bus controller
1641745b8439SSascha Wildner# bktr	brooktree848 I2C software interface
1642745b8439SSascha Wildner#
1643745b8439SSascha Wildner# Other:
1644745b8439SSascha Wildner# iicbb	generic I2C bit-banging code (needed by lpbb, bktr)
1645745b8439SSascha Wildner#
1646745b8439SSascha Wildnerdevice		iicbus		# Bus support, required for ic/iic/iicsmb below.
1647745b8439SSascha Wildnerdevice		iicbb
1648745b8439SSascha Wildner
1649745b8439SSascha Wildnerdevice		ic
1650745b8439SSascha Wildnerdevice		iic
1651745b8439SSascha Wildnerdevice		iicsmb		# smb over i2c bridge
1652745b8439SSascha Wildner
1653745b8439SSascha Wildnerdevice		pcf0	at isa? port 0x320 irq 5
1654745b8439SSascha Wildner
165573e10c03SSepherosa Ziehau# Intel performance-energy bias
165673e10c03SSepherosa Ziehaudevice		perfbias
165773e10c03SSepherosa Ziehau
1658e76f5e73SSepherosa Ziehau# Intel software controlled clock modulation
1659e76f5e73SSepherosa Ziehaudevice		clockmod
1660e76f5e73SSepherosa Ziehau
1661309b1170SImre Vadász# Intel Sandy Bridge and newer CPUs power usage estimation
1662309b1170SImre Vadászdevice		corepower
1663309b1170SImre Vadász
1664745b8439SSascha Wildner# Intel Core and newer CPUs on-die digital thermal sensor support
1665745b8439SSascha Wildnerdevice		coretemp
1666745b8439SSascha Wildner
16677698c759SSepherosa Ziehau# Memory thermal sensor
16687698c759SSepherosa Ziehaudevice		memtemp
16697698c759SSepherosa Ziehau
1670d4ef6694SJoris Giovannangeli# CPU control pseudo-device. Provides access to MSRs, CPUID info and
1671d4ef6694SJoris Giovannangeli# microcode update feature.
1672d4ef6694SJoris Giovannangelidevice		cpuctl
1673d4ef6694SJoris Giovannangeli
1674d5d72874SSepherosa Ziehau# Effective CPU frequency interface via APERF/MPERF MSRs
1675d5d72874SSepherosa Ziehaudevice		aperf
1676d5d72874SSepherosa Ziehau
1677745b8439SSascha Wildner# AMD Family 0Fh, 10h and 11h temperature sensors
1678745b8439SSascha Wildnerdevice		kate
1679745b8439SSascha Wildnerdevice		km
1680745b8439SSascha Wildner
1681745b8439SSascha Wildner# ThinkPad Active Protection System accelerometer
1682745b8439SSascha Wildnerdevice		aps0	at isa? port 0x1600
1683745b8439SSascha Wildner
1684745b8439SSascha Wildner# HW monitoring devices lm(4), it(4) and nsclpcsio.
1685745b8439SSascha Wildnerdevice		lm0	at isa? port 0x290
1686745b8439SSascha Wildnerdevice		it0	at isa? port 0x290
1687745b8439SSascha Wildnerdevice		it1	at isa? port 0xc00
1688745b8439SSascha Wildnerdevice		it2	at isa? port 0xd00
1689745b8439SSascha Wildnerdevice		it3	at isa?	port 0x228
1690745b8439SSascha Wildnerdevice		nsclpcsio0 at isa? port 0x2e
1691745b8439SSascha Wildnerdevice		nsclpcsio1 at isa? port 0x4e
1692745b8439SSascha Wildnerdevice		wbsio0	at isa? port 0x2e
1693745b8439SSascha Wildnerdevice		wbsio1	at isa? port 0x4e
1694745b8439SSascha Wildnerdevice		uguru0	at isa? port 0xe0	# ABIT uGuru
1695745b8439SSascha Wildner
16962e2c9b13SSascha Wildner# EFI Runtime Services support (not functional yet).
16972e2c9b13SSascha Wildneroptions 	EFIRT
16982e2c9b13SSascha Wildner
1699745b8439SSascha Wildner# Parallel-Port Bus
1700745b8439SSascha Wildner#
1701745b8439SSascha Wildner# Parallel port bus support is provided by the `ppbus' device.
1702745b8439SSascha Wildner# Multiple devices may be attached to the parallel port, devices
1703745b8439SSascha Wildner# are automatically probed and attached when found.
1704745b8439SSascha Wildner#
1705745b8439SSascha Wildner# Supported devices:
1706745b8439SSascha Wildner# vpo	Iomega Zip Drive
1707745b8439SSascha Wildner#	Requires SCSI disk support ('scbus' and 'da'); the best
1708745b8439SSascha Wildner#	performance is achieved with ports in EPP 1.9 mode.
1709745b8439SSascha Wildner# lpt	Parallel Printer
1710745b8439SSascha Wildner# plip	Parallel network interface
1711745b8439SSascha Wildner# ppi	General-purpose I/O ("Geek Port") + IEEE1284 I/O
1712745b8439SSascha Wildner# pps	Pulse per second Timing Interface
1713745b8439SSascha Wildner# lpbb	Philips official parallel port I2C bit-banging interface
1714745b8439SSascha Wildner#
1715745b8439SSascha Wildner# Supported interfaces:
1716745b8439SSascha Wildner# ppc	ISA-bus parallel port interfaces.
1717745b8439SSascha Wildner#
1718745b8439SSascha Wildner
1719745b8439SSascha Wildneroptions 	PPC_PROBE_CHIPSET # Enable chipset specific detection
1720745b8439SSascha Wildner				  # (see flags in ppc(4))
1721745b8439SSascha Wildneroptions 	DEBUG_1284	# IEEE1284 signaling protocol debug
1722745b8439SSascha Wildneroptions 	PERIPH_1284	# Makes your computer act as a IEEE1284
1723745b8439SSascha Wildner				# compliant peripheral
1724745b8439SSascha Wildneroptions 	DONTPROBE_1284	# Avoid boot detection of PnP parallel devices
1725745b8439SSascha Wildneroptions 	VP0_DEBUG	# ZIP/ZIP+ debug
1726745b8439SSascha Wildneroptions 	LPT_DEBUG	# Printer driver debug
1727745b8439SSascha Wildneroptions 	PPC_DEBUG=2	# Parallel chipset level debug
1728745b8439SSascha Wildneroptions 	PLIP_DEBUG	# Parallel network IP interface debug
1729745b8439SSascha Wildneroptions 	PCFCLOCK_VERBOSE         # Verbose pcfclock driver
1730745b8439SSascha Wildneroptions 	PCFCLOCK_MAX_RETRIES=5   # Maximum read tries (default 10)
1731745b8439SSascha Wildner
1732745b8439SSascha Wildnerdevice		ppc0	at isa? irq 7
1733745b8439SSascha Wildnerdevice		ppbus
1734745b8439SSascha Wildnerdevice		vpo
1735745b8439SSascha Wildnerdevice		lpt
1736745b8439SSascha Wildnerdevice		plip
1737745b8439SSascha Wildnerdevice		ppi
1738745b8439SSascha Wildnerdevice		pps
1739745b8439SSascha Wildnerdevice		lpbb
1740745b8439SSascha Wildnerdevice		pcfclock
1741745b8439SSascha Wildner
1742745b8439SSascha Wildner# Kernel BOOTP support
1743745b8439SSascha Wildner
1744745b8439SSascha Wildneroptions 	BOOTP		# Use BOOTP to obtain IP address/hostname
1745745b8439SSascha Wildneroptions 	BOOTP_NFSROOT	# NFS mount root filesystem using BOOTP info
1746745b8439SSascha Wildneroptions 	BOOTP_COMPAT	# Workaround for broken bootp daemons.
1747745b8439SSascha Wildneroptions 	BOOTP_WIRED_TO=fxp0 # Use interface fxp0 for BOOTP
1748745b8439SSascha Wildner
1749745b8439SSascha Wildner#
1750745b8439SSascha Wildner# Set the number of PV entries per process.  Increasing this can
1751745b8439SSascha Wildner# stop panics related to heavy use of shared memory. However, that can
1752745b8439SSascha Wildner# (combined with large amounts of physical memory) cause panics at
1753745b8439SSascha Wildner# boot time due the kernel running out of VM space.
1754745b8439SSascha Wildner#
1755745b8439SSascha Wildner# If you're tweaking this, you might also want to increase the sysctls
1756745b8439SSascha Wildner# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
1757745b8439SSascha Wildner#
1758745b8439SSascha Wildner# The value below is the one more than the default.
1759745b8439SSascha Wildner#
1760745b8439SSascha Wildneroptions 	PMAP_SHPGPERPROC=201
1761745b8439SSascha Wildner
1762745b8439SSascha Wildner#
1763745b8439SSascha Wildner# Disable swapping. This option removes all code which actually performs
1764745b8439SSascha Wildner# swapping, so it's not possible to turn it back on at run-time.
1765745b8439SSascha Wildner#
1766745b8439SSascha Wildner# This is sometimes usable for systems which don't have any swap space
1767745b8439SSascha Wildner# (see also sysctls "vm.defer_swapspace_pageouts" and
1768745b8439SSascha Wildner# "vm.disable_swapspace_pageouts")
1769745b8439SSascha Wildner#
1770745b8439SSascha Wildner#options 	NO_SWAPPING
1771745b8439SSascha Wildner
1772745b8439SSascha Wildner# Set the size of the buffer cache KVM reservation, in buffers.  This is
1773745b8439SSascha Wildner# scaled by approximately 16384 bytes.  The system will auto-size the buffer
1774745b8439SSascha Wildner# cache if this option is not specified.
1775745b8439SSascha Wildner#
1776745b8439SSascha Wildneroptions 	NBUF=512
1777745b8439SSascha Wildner
1778745b8439SSascha Wildner# Set the size of the mbuf KVM reservation, in clusters.  This is scaled
1779745b8439SSascha Wildner# by approximately 2048 bytes.  The system will auto-size the mbuf area
1780745b8439SSascha Wildner# to (512 + maxusers*16) if this option is not specified.
1781745b8439SSascha Wildner# maxusers is in turn computed at boot time depending on available memory
1782745b8439SSascha Wildner# or set to the value specified by "options MAXUSERS=x" (x=0 means
1783745b8439SSascha Wildner# autoscaling).
1784745b8439SSascha Wildner# So, to take advantage of autoscaling, you have to remove both
1785745b8439SSascha Wildner# NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.
1786745b8439SSascha Wildner#
1787745b8439SSascha Wildneroptions 	NMBCLUSTERS=1024
1788745b8439SSascha Wildner
1789745b8439SSascha Wildner# Set the number of mbufs available in the system. Each mbuf
1790745b8439SSascha Wildner# consumes 256 bytes. The system will autosize this (to 4 times
1791745b8439SSascha Wildner# the number of NMBCLUSTERS, depending on other constraints)
1792745b8439SSascha Wildner# if this option is not specified.
1793745b8439SSascha Wildner#
1794745b8439SSascha Wildneroptions 	NMBUFS=4096
1795745b8439SSascha Wildner
1796745b8439SSascha Wildner# Tune the buffer cache maximum KVA reservation, in bytes.  The maximum is
1797745b8439SSascha Wildner# usually capped at 200 MB, effecting machines with > 1GB of ram.  Note
1798745b8439SSascha Wildner# that the buffer cache only really governs write buffering and disk block
1799745b8439SSascha Wildner# translations.  The VM page cache is our primary disk cache and is not
1800745b8439SSascha Wildner# effected by the size of the buffer cache.
1801745b8439SSascha Wildner#
1802745b8439SSascha Wildneroptions 	VM_BCACHE_SIZE_MAX="(100*1024*1024)"
1803745b8439SSascha Wildner
1804745b8439SSascha Wildner# Tune the swap zone KVA reservation, in bytes.  The default is typically
1805745b8439SSascha Wildner# 70 MB, giving the system the ability to manage a maximum of 28GB worth
1806745b8439SSascha Wildner# of swapped out data.
1807745b8439SSascha Wildner#
1808745b8439SSascha Wildneroptions 	VM_SWZONE_SIZE_MAX="(50*1024*1024)"
1809745b8439SSascha Wildner
1810745b8439SSascha Wildner#
1811745b8439SSascha Wildner# Enable extra debugging code for locks.  This stores the filename and
1812745b8439SSascha Wildner# line of whatever acquired the lock in the lock itself, and change a
1813745b8439SSascha Wildner# number of function calls to pass around the relevant data.  This is
1814745b8439SSascha Wildner# not at all useful unless you are debugging lock code.  Also note
1815745b8439SSascha Wildner# that it is likely to break e.g. fstat(1) unless you recompile your
1816745b8439SSascha Wildner# userland with -DDEBUG_LOCKS as well.
1817745b8439SSascha Wildner#
18189ec899f4SSascha Wildner# DEBUG_LOCKS_LATENCY adds a sysctl to add a forced latency loop
18199ec899f4SSascha Wildner# (count to N) in front of any spinlock or gettoken.
18209ec899f4SSascha Wildner#
1821745b8439SSascha Wildneroptions 	DEBUG_LOCKS
18229ec899f4SSascha Wildneroptions		DEBUG_LOCKS_LATENCY
1823745b8439SSascha Wildner
1824745b8439SSascha Wildner# Set the amount of time (in seconds) the system will wait before
1825745b8439SSascha Wildner# rebooting automatically when a kernel panic occurs.  If set to (-1),
1826745b8439SSascha Wildner# the system will wait indefinitely until a key is pressed on the
1827745b8439SSascha Wildner# console.
1828745b8439SSascha Wildneroptions 	PANIC_REBOOT_WAIT_TIME=16
1829745b8439SSascha Wildner
183095b4dba2SSascha Wildner# Specify a lower limit for the number of swap I/O buffers.
1831745b8439SSascha Wildner#
1832745b8439SSascha Wildner#options		NSWBUF_MIN=120
1833745b8439SSascha Wildner
1834745b8439SSascha Wildner# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
1835745b8439SSascha Wildner# controllers (SmartRAID V and VI and later).
1836745b8439SSascha Wildner# These controllers require the CAM infrastructure.
1837745b8439SSascha Wildner#
1838745b8439SSascha Wildnerdevice		asr
1839745b8439SSascha Wildner
1840745b8439SSascha Wildner# The 'dpt' driver provides support for DPT controllers (http://www.dpt.com/).
1841745b8439SSascha Wildner# These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
1842745b8439SSascha Wildner# The DPT controllers are commonly re-licensed under other brand-names -
1843745b8439SSascha Wildner# some controllers by Olivetti, Dec, HP, AT&T, SNI, AST, Alphatronic, NEC and
1844745b8439SSascha Wildner# Compaq are actually DPT controllers.
1845745b8439SSascha Wildner#
1846745b8439SSascha Wildner# See src/sys/dev/raid/dpt for debugging and other subtle options.
1847745b8439SSascha Wildner#   DPT_MEASURE_PERFORMANCE Enables a set of (semi)invasive metrics. Various
1848745b8439SSascha Wildner#                           instruments are enabled.  The tools in
1849745b8439SSascha Wildner#                           /usr/sbin/dpt_* assume these to be enabled.
1850745b8439SSascha Wildner#   DPT_HANDLE_TIMEOUTS     Normally device timeouts are handled by the DPT.
1851745b8439SSascha Wildner#                           If you ant the driver to handle timeouts, enable
1852745b8439SSascha Wildner#                           this option.  If your system is very busy, this
1853745b8439SSascha Wildner#                           option will create more trouble than solve.
1854745b8439SSascha Wildner#   DPT_TIMEOUT_FACTOR      Used to compute the excessive amount of time to
1855745b8439SSascha Wildner#                           wait when timing out with the above option.
185647a69c3fSSascha Wildner#  DPT_DEBUG_xxxx           These are controllable from sys/dev/raid/dpt/dpt.h
1857745b8439SSascha Wildner#  DPT_LOST_IRQ             When enabled, will try, once per second, to catch
1858745b8439SSascha Wildner#                           any interrupt that got lost.  Seems to help in some
1859745b8439SSascha Wildner#                           DPT-firmware/Motherboard combinations.  Minimal
1860745b8439SSascha Wildner#                           cost, great benefit.
1861745b8439SSascha Wildner#  DPT_RESET_HBA            Make "reset" actually reset the controller
1862745b8439SSascha Wildner#                           instead of fudging it.  Only enable this if you
1863745b8439SSascha Wildner#			    are 100% certain you need it.
1864745b8439SSascha Wildner
1865745b8439SSascha Wildnerdevice		dpt
1866745b8439SSascha Wildner
1867745b8439SSascha Wildner# DPT options
1868745b8439SSascha Wildner#!CAM# options 	DPT_MEASURE_PERFORMANCE
1869745b8439SSascha Wildner#!CAM# options 	DPT_HANDLE_TIMEOUTS
1870745b8439SSascha Wildneroptions 	DPT_TIMEOUT_FACTOR=4
1871745b8439SSascha Wildneroptions 	DPT_LOST_IRQ
1872745b8439SSascha Wildneroptions 	DPT_RESET_HBA
1873745b8439SSascha Wildner
1874745b8439SSascha Wildner#
1875745b8439SSascha Wildner# Compaq "CISS" RAID controllers (SmartRAID 5* series)
1876745b8439SSascha Wildner# These controllers have a SCSI-like interface, and require the
1877745b8439SSascha Wildner# CAM infrastructure.
1878745b8439SSascha Wildner#
1879745b8439SSascha Wildnerdevice		ciss
1880745b8439SSascha Wildner
1881745b8439SSascha Wildner#
1882745b8439SSascha Wildner# Intel Integrated RAID controllers.
1883745b8439SSascha Wildner# This driver is supported and maintained by
1884745b8439SSascha Wildner# "Leubner, Achim" <Achim_Leubner@adaptec.com>.
1885745b8439SSascha Wildner#
1886745b8439SSascha Wildnerdevice          iir
1887745b8439SSascha Wildner
1888745b8439SSascha Wildner#
1889745b8439SSascha Wildner# Mylex AcceleRAID and eXtremeRAID controllers with v6 and later
1890745b8439SSascha Wildner# firmware.  These controllers have a SCSI-like interface, and require
1891745b8439SSascha Wildner# the CAM infrastructure.
1892745b8439SSascha Wildner#
1893745b8439SSascha Wildnerdevice          mly
1894745b8439SSascha Wildner
1895745b8439SSascha Wildner# USB support
1896886e1e50SSascha Wildner#
1897886e1e50SSascha Wildner
1898745b8439SSascha Wildner# UHCI controller
1899745b8439SSascha Wildnerdevice		uhci
1900745b8439SSascha Wildner# OHCI controller
1901745b8439SSascha Wildnerdevice		ohci
1902745b8439SSascha Wildner# EHCI controller
1903745b8439SSascha Wildnerdevice		ehci
1904b4ea5ff5SSascha Wildner# XHCI controller
1905b4ea5ff5SSascha Wildnerdevice		xhci
1906745b8439SSascha Wildner# General USB code (mandatory for USB)
1907745b8439SSascha Wildnerdevice		usb
1908745b8439SSascha Wildner# Human Interface Device (anything with buttons and dials)
1909745b8439SSascha Wildnerdevice		uhid
1910745b8439SSascha Wildner# USB keyboard
1911745b8439SSascha Wildnerdevice		ukbd
1912745b8439SSascha Wildner# USB printer
1913745b8439SSascha Wildnerdevice		ulpt
19140e20af68SSascha Wildner# USB mass storage (Requires scbus and da)
1915745b8439SSascha Wildnerdevice		umass
1916b4ea5ff5SSascha Wildner# USB mass storage driver for device-side mode
1917b4ea5ff5SSascha Wildnerdevice		usfs
1918745b8439SSascha Wildner# USB modem support
1919745b8439SSascha Wildnerdevice		umodem
1920745b8439SSascha Wildner# USB mouse
1921745b8439SSascha Wildnerdevice		ums
1922b4ea5ff5SSascha Wildner# eGalax USB touch screen
1923b4ea5ff5SSascha Wildnerdevice		uep
192499c3594eSSascha Wildner# Diamond Rio 500 MP3 player
192599c3594eSSascha Wildnerdevice		urio
1926745b8439SSascha Wildner# USB com devices
1927b4ea5ff5SSascha Wildnerdevice		"u3g"
1928745b8439SSascha Wildnerdevice		uark
1929745b8439SSascha Wildnerdevice		ubsa
1930b4ea5ff5SSascha Wildnerdevice		ubser
1931745b8439SSascha Wildnerdevice		uchcom
1932745b8439SSascha Wildnerdevice		ucom
1933b4ea5ff5SSascha Wildnerdevice		ucycom
1934b4ea5ff5SSascha Wildnerdevice		ufoma
1935745b8439SSascha Wildnerdevice		uftdi
1936745b8439SSascha Wildnerdevice		ugensa
1937b4ea5ff5SSascha Wildnerdevice		uipaq
1938b4ea5ff5SSascha Wildnerdevice		umcs
1939745b8439SSascha Wildnerdevice		umct
1940b4ea5ff5SSascha Wildnerdevice		umoscom
1941745b8439SSascha Wildnerdevice		uplcom
1942745b8439SSascha Wildnerdevice		uslcom
1943745b8439SSascha Wildnerdevice		uvisor
1944745b8439SSascha Wildnerdevice		uvscom
1945745b8439SSascha Wildner
1946745b8439SSascha Wildner#
1947b4ea5ff5SSascha Wildner# USB ethernet support
1948b4ea5ff5SSascha Wildnerdevice		uether
1949b4ea5ff5SSascha Wildner#
195079be21c5SSascha Wildner# ADMtek USB ethernet. Supports the LinkSys USB100TX,
195179be21c5SSascha Wildner# the Billionton USB100, the Melco LU-ATX, the D-Link DSB-650TX
195279be21c5SSascha Wildner# and the SMC 2202USB. Also works with the ADMtek AN986 Pegasus
195379be21c5SSascha Wildner# eval board.
195479be21c5SSascha Wildnerdevice		aue
195579be21c5SSascha Wildner#
1956745b8439SSascha Wildner# ASIX Electronics AX88172 USB 2.0 ethernet driver. Used in the
1957745b8439SSascha Wildner# LinkSys USB200M and various other adapters.
1958745b8439SSascha Wildnerdevice		axe
1959b4ea5ff5SSascha Wildner#
19603d2b9530SSascha Wildner# ASIX Electronics AX88178A/AX88179 USB 2.0/3.0 gigabit ethernet driver.
19613d2b9530SSascha Wildnerdevice		axge
19623d2b9530SSascha Wildner#
196379be21c5SSascha Wildner# CATC USB-EL1201A USB ethernet. Supports the CATC Netmate
196479be21c5SSascha Wildner# and Netmate II, and the Belkin F5U111.
196579be21c5SSascha Wildnerdevice		cue
196679be21c5SSascha Wildner#
196779be21c5SSascha Wildner# USB Apple iPhone/iPad tethered Ethernet driver
196879be21c5SSascha Wildnerdevice		ipheth
196979be21c5SSascha Wildner#
197079be21c5SSascha Wildner# Kawasaki LSI ethernet. Supports the LinkSys USB10T,
197179be21c5SSascha Wildner# Entrega USB-NET-E45, Peracom Ethernet Adapter, the
197279be21c5SSascha Wildner# 3Com 3c19250, the ADS Technologies USB-10BT, the ATen UC10T,
197379be21c5SSascha Wildner# the Netgear EA101, the D-Link DSB-650, the SMC 2102USB
197479be21c5SSascha Wildner# and 2104USB, and the Corega USB-T.
197579be21c5SSascha Wildnerdevice		kue
197679be21c5SSascha Wildner#
1977f8577199SSascha Wildner# Moschip MCS7730/MCS7840 USB to fast ethernet. Supports the Sitecom LN030.
1978f8577199SSascha Wildnerdevice		mos
1979f8577199SSascha Wildner#
1980b4ea5ff5SSascha Wildner# Davicom DM9601E USB to fast ethernet. Supports the Corega FEther USB-TXC.
1981b4ea5ff5SSascha Wildnerdevice		udav
1982745b8439SSascha Wildner
1983745b8439SSascha Wildner# USB wireless NICs, requires wlan_amrr
1984745b8439SSascha Wildner#
1985745b8439SSascha Wildner# Ralink Technology RT2501USB/RT2601USB
1986f794c13fSSascha Wildnerdevice		rum
1987790340eaSSascha Wildner#
198810f2cea7SSascha Wildner# Ralink Technology RT2700U/RT2800U/RT3000U wireless driver
198910f2cea7SSascha Wildnerdevice		run
199010f2cea7SSascha Wildnerdevice		runfw
1991745b8439SSascha Wildner#
1992e4ca69a1SSascha Wildner# RNDIS USB ethernet driver
1993e4ca69a1SSascha Wildnerdevice		urndis
1994e4ca69a1SSascha Wildner#
1995790340eaSSascha Wildner# Realtek RTL8188CU/RTL8192CU wireless driver
1996790340eaSSascha Wildnerdevice		urtwn
1997790340eaSSascha Wildnerdevice		urtwnfw
199877f295e6SSascha Wildneroptions		URTWN_WITHOUT_UCODE
1999745b8439SSascha Wildner
20004596d2c5SSascha Wildner# Fm Radio
20014596d2c5SSascha Wildner#
20024596d2c5SSascha Wildnerdevice		ufm
20034596d2c5SSascha Wildner
2004a7ceaa31SSascha Wildner# Templates for programming USB device side drivers
2005a7ceaa31SSascha Wildner#
2006a7ceaa31SSascha Wildnerdevice		usb_template
2007a7ceaa31SSascha Wildner
2008745b8439SSascha Wildner# debugging options for the USB subsystem
2009745b8439SSascha Wildner#
2010745b8439SSascha Wildneroptions 	USB_DEBUG
2011745b8439SSascha Wildner
2012745b8439SSascha Wildner# options for ukbd:
2013745b8439SSascha Wildneroptions 	UKBD_DFLT_KEYMAP	# specify the built-in keymap
2014745b8439SSascha Wildnermakeoptions	UKBD_DFLT_KEYMAP=it.iso
2015745b8439SSascha Wildner
2016745b8439SSascha Wildner# Firewire support
2017745b8439SSascha Wildnerdevice		firewire	# Firewire bus code
2018745b8439SSascha Wildnerdevice		sbp		# SCSI over Firewire (Requires scbus and da)
2019745b8439SSascha Wildnerdevice		fwe		# Ethernet over Firewire (non-standard!)
2020745b8439SSascha Wildner
2021745b8439SSascha Wildner# dcons support (Dumb Console Device)
2022745b8439SSascha Wildnerdevice		dcons			# dumb console driver
2023745b8439SSascha Wildnerdevice		dcons_crom		# FireWire attachment
2024745b8439SSascha Wildneroptions		DCONS_BUF_SIZE=16384	# buffer size
2025745b8439SSascha Wildneroptions		DCONS_POLL_HZ=100	# polling rate
2026745b8439SSascha Wildneroptions		DCONS_FORCE_CONSOLE=1	# force to be the primary console
2027745b8439SSascha Wildneroptions		DCONS_FORCE_GDB=1	# force to be the gdb device
2028745b8439SSascha Wildner
2029745b8439SSascha Wildner#####################################################################
2030745b8439SSascha Wildner# crypto subsystem
2031745b8439SSascha Wildner#
2032745b8439SSascha Wildner# This is a port of the openbsd crypto framework.  Include this when
2033745b8439SSascha Wildner# configuring IPsec and when you have a h/w crypto device to accelerate
2034745b8439SSascha Wildner# user applications that link to openssl.
2035745b8439SSascha Wildner#
2036745b8439SSascha Wildner# Drivers are ports from openbsd with some simple enhancements that have
2037745b8439SSascha Wildner# been fed back to openbsd (and hopefully will be included).
2038745b8439SSascha Wildner
20398ca694c6SSascha Wildnerdevice		crypto		# core crypto support
20408ca694c6SSascha Wildnerdevice		cryptodev	# /dev/crypto for access to h/w
2041745b8439SSascha Wildner
2042745b8439SSascha Wildnerdevice		rndtest		# FIPS 140-2 entropy tester
2043745b8439SSascha Wildner
2044745b8439SSascha Wildnerdevice		hifn		# Hifn 7951, 7781, etc.
2045745b8439SSascha Wildneroptions		HIFN_DEBUG	# enable debugging support: hw.hifn.debug
2046745b8439SSascha Wildner#options	HIFN_NO_RNG	# for devices without RNG
2047745b8439SSascha Wildneroptions		HIFN_RNDTEST	# enable rndtest support
2048745b8439SSascha Wildner
204925638cf4SSascha Wildnerdevice		safe		# SafeNet 1141
205025638cf4SSascha Wildneroptions 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
20518690ff8fSSascha Wildner#options	SAFE_NO_RNG	# for devices without RNG
205225638cf4SSascha Wildneroptions 	SAFE_RNDTEST	# enable rndtest support
205325638cf4SSascha Wildner
2054745b8439SSascha Wildnerdevice		ubsec		# Broadcom 5501, 5601, 58xx
2055745b8439SSascha Wildneroptions		UBSEC_DEBUG	# enable debugging support: hw.ubsec.debug
2056745b8439SSascha Wildner#options	UBSEC_NO_RNG	# for devices without RNG
2057745b8439SSascha Wildneroptions		UBSEC_RNDTEST	# enable rndtest support
2058745b8439SSascha Wildner
2059745b8439SSascha Wildnerdevice		aesni		# hardware crypto/RNG for AES-NI
2060745b8439SSascha Wildnerdevice		padlock		# hardware crypto/RNG for VIA C3/C7/Eden
2061c5761ad0SAlex Hornungdevice		rdrand		# hardware RNG for RdRand
2062745b8439SSascha Wildner
2063745b8439SSascha Wildner#
2064745b8439SSascha Wildner# ACPI support using the Intel ACPI Component Architecture reference
2065745b8439SSascha Wildner# implementation.
2066745b8439SSascha Wildner#
2067745b8439SSascha Wildner# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
2068745b8439SSascha Wildner# kernel environment variables to select initial debugging levels for the
2069745b8439SSascha Wildner# Intel ACPICA code.
2070745b8439SSascha Wildner#
2071745b8439SSascha Wildner# Note that building ACPI into the kernel is deprecated; the module is
2072745b8439SSascha Wildner# normally loaded automatically by the loader.
2073745b8439SSascha Wildner
2074745b8439SSascha Wildnerdevice		acpi
2075745b8439SSascha Wildneroptions 	ACPI_DEBUG
2076745b8439SSascha Wildner
2077554257bcSSascha Wildner# ACPI WMI Mapping driver
2078554257bcSSascha Wildnerdevice		acpi_wmi
2079554257bcSSascha Wildner
2080745b8439SSascha Wildner# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
2081745b8439SSascha Wildnerdevice		acpi_asus
2082745b8439SSascha Wildner
2083745b8439SSascha Wildner# ACPI Fujitsu Extras (Buttons)
2084745b8439SSascha Wildnerdevice		acpi_fujitsu
2085745b8439SSascha Wildner
2086745b8439SSascha Wildner# ACPI extras driver for HP laptops
2087554257bcSSascha Wildnerdevice		acpi_hp
2088745b8439SSascha Wildner
2089745b8439SSascha Wildner# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
2090745b8439SSascha Wildnerdevice		acpi_panasonic
2091745b8439SSascha Wildner
20922af72e0aSImre Vadász# ACPI pvpanic driver for virtual machines running in Qemu
20932af72e0aSImre Vadászdevice		acpi_pvpanic
20942af72e0aSImre Vadász
2095745b8439SSascha Wildner# ACPI Sony extra (LCD brightness)
2096745b8439SSascha Wildnerdevice		acpi_sony
2097745b8439SSascha Wildner
2098745b8439SSascha Wildner# ACPI extras driver for ThinkPad laptops
2099745b8439SSascha Wildnerdevice		acpi_thinkpad
2100745b8439SSascha Wildner
2101745b8439SSascha Wildner# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
2102745b8439SSascha Wildnerdevice		acpi_toshiba
2103745b8439SSascha Wildner
2104745b8439SSascha Wildner# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
2105745b8439SSascha Wildnerdevice		acpi_video
2106745b8439SSascha Wildner
210790980aa5SSascha Wildner# ACPI Docking Station
210890980aa5SSascha Wildnerdevice		acpi_dock
210990980aa5SSascha Wildner
2110745b8439SSascha Wildnerdevice		aibs		# ASUSTeK AI Booster (ACPI ASOC ATK0110)
2111745b8439SSascha Wildner
2112745b8439SSascha Wildner# DRM options:
2113745b8439SSascha Wildner# drm:		General DRM code
21149fbad1e9SSascha Wildner# i915:		Intel integrated GPUs, starting from the 830M family
2115055e60aeSzrj# radeon:	ATI/AMD Radeon cards
2116745b8439SSascha Wildner#
2117745b8439SSascha Wildner# DRM_DEBUG:	include debug printfs, very slow
2118745b8439SSascha Wildner#
2119745b8439SSascha Wildner# DRM requires AGP in the kernel.
2120055e60aeSzrj#
2121055e60aeSzrj# Also you'll need to have the following 3 lines in the kernel config.
2122055e60aeSzrj#	device acpi
2123055e60aeSzrj#	device iicbus
2124055e60aeSzrj#	device iicbb
2125745b8439SSascha Wildner
2126745b8439SSascha Wildnerdevice		drm
21279fbad1e9SSascha Wildner
21289fbad1e9SSascha Wildner# For testing and debugging.
21299fbad1e9SSascha Wildnerdevice		"i915"
21309fbad1e9SSascha Wildnerdevice		radeon
2131745b8439SSascha Wildner
2132745b8439SSascha Wildneroptions 	DRM_DEBUG
21332fc297a3SFrançois Tigeotoptions		VGA_SWITCHEROO
2134745b8439SSascha Wildner
2135745b8439SSascha Wildner#
2136745b8439SSascha Wildner# Misc devices
2137745b8439SSascha Wildner#
2138745b8439SSascha Wildnerdevice		cmx		# Omnikey CardMan 4040 smartcard reader
213921e876fbSFrancois Tigeotdevice		amdsbwd		# AMD South Bridge watchdog
2140745b8439SSascha Wildnerdevice		gpio		# Enable support for the gpio framework
2141ace1ab86SFrancois Tigeotdevice		ichwd		# Intel ICH watchdog interrupt timer
2142ea2c6782SSascha Wildnerdevice		tbridge		# regression testing
2143745b8439SSascha Wildner
2144745b8439SSascha Wildner#
214582b77854SSepherosa Ziehau# Hyper-V support
214682b77854SSepherosa Ziehau#
214782b77854SSepherosa Ziehaudevice		vmbus
214882b77854SSepherosa Ziehau
214982b77854SSepherosa Ziehau#
2150c3a6e36fSSascha Wildner# Virtio support
2151c3a6e36fSSascha Wildner#
2152c3a6e36fSSascha Wildnerdevice		virtio
2153c3a6e36fSSascha Wildnerdevice		virtio_blk
2154*eff15082SSascha Wildnerdevice		virtio_scsi
2155faa875a4SImre Vadaszdevice		vtnet
2156c3a6e36fSSascha Wildnerdevice		virtio_pci
2157c3a6e36fSSascha Wildner
2158c3a6e36fSSascha Wildner#
2159bca7db71SImre Vadász# Gpio support for ACPI based SoC platforms
2160bca7db71SImre Vadász#
2161bca7db71SImre Vadászdevice		gpio_acpi
2162bca7db71SImre Vadászdevice		gpio_intel	# GPIO support for Intel SoCs
2163bca7db71SImre Vadász
2164bca7db71SImre Vadász#
2165745b8439SSascha Wildner# Embedded system options:
2166745b8439SSascha Wildner#
2167745b8439SSascha Wildner# An embedded system might want to run something other than init.
2168745b8439SSascha Wildneroptions 	INIT_PATH="/sbin/init:/sbin/oinit"
2169745b8439SSascha Wildner
2170745b8439SSascha Wildner# Debug options
2171745b8439SSascha Wildneroptions 	BUS_DEBUG       # enable newbus debugging
2172745b8439SSascha Wildneroptions		RSS_DEBUG	# enable RSS (Receive Side Scaling) debugging
2173745b8439SSascha Wildner
2174745b8439SSascha Wildner# Record the program counter of the code interrupted by the statistics
2175745b8439SSascha Wildner# clock interrupt.  Use pctrack(8) to dump this information.
2176745b8439SSascha Wildneroptions		DEBUG_PCTRACK
2177745b8439SSascha Wildner
2178745b8439SSascha Wildner# More undocumented options for linting.
2179745b8439SSascha Wildner# Note that documenting these are not considered an affront.
2180745b8439SSascha Wildner
2181745b8439SSascha Wildner#options	ACPI_NO_SEMAPHORES
2182745b8439SSascha Wildner#options 	BKTR_ALLOC_PAGES=xxx
2183745b8439SSascha Wildneroptions 	CAM_DEBUG_DELAY
2184745b8439SSascha Wildneroptions 	CLUSTERDEBUG
2185745b8439SSascha Wildneroptions 	DEBUG
2186745b8439SSascha Wildneroptions 	DEBUG_CRIT_SECTIONS
2187745b8439SSascha Wildner#options 	DISABLE_PSE
2188b42386eeSSepherosa Ziehauoptions		BCE_RSS_DEBUG
2189b42386eeSSepherosa Ziehauoptions		BCE_TSS_DEBUG
2190695a8586SSepherosa Ziehauoptions		BNX_RSS_DEBUG
219169647051SSascha Wildneroptions		BNX_TSO_DEBUG
2192695a8586SSepherosa Ziehauoptions		BNX_TSS_DEBUG
2193745b8439SSascha Wildneroptions		EMX_RSS_DEBUG
21940c0e1638SSepherosa Ziehauoptions		EMX_TSO_DEBUG
2195d84018e9SSepherosa Ziehauoptions		EMX_TSS_DEBUG
2196745b8439SSascha Wildneroptions		JME_RSS_DEBUG
21978d6600daSSepherosa Ziehauoptions		IGB_RSS_DEBUG
21984e19e38aSSepherosa Ziehauoptions		IGB_TSS_DEBUG
21999c0ecdccSSepherosa Ziehauoptions		IGB_MSIX_DEBUG
22000e5f28e9SSascha Wildneroptions		IX_RSS_DEBUG
2201745b8439SSascha Wildneroptions 	ENABLE_ALART
2202745b8439SSascha Wildneroptions 	FB_DEBUG=2
2203745b8439SSascha Wildneroptions 	FB_INSTALL_CDEV
2204745b8439SSascha Wildner#options	IEEE80211_DEBUG_REFCNT
2205745b8439SSascha Wildneroptions		IEEE80211_SUPPORT_SUPERG
2206745b8439SSascha Wildneroptions 	KBDIO_DEBUG=10
2207745b8439SSascha Wildneroptions 	KBD_MAXRETRY=4
2208745b8439SSascha Wildneroptions 	KBD_MAXWAIT=6
2209745b8439SSascha Wildneroptions 	KBD_RESETDELAY=201
2210745b8439SSascha Wildner#options 	KERN_TIMESTAMP
2211745b8439SSascha Wildneroptions 	KEY
2212745b8439SSascha Wildneroptions 	LOCKF_DEBUG
2213745b8439SSascha Wildner#options	MAXFILES=xxx
2214745b8439SSascha Wildneroptions		MBUF_DEBUG
2215ad67a470SSascha Wildneroptions		NO_LWKT_SPLIT_USERPRI
2216745b8439SSascha Wildneroptions 	PANIC_DEBUG
2217745b8439SSascha Wildneroptions 	PMAP_DEBUG
2218745b8439SSascha Wildneroptions 	PSM_DEBUG=4
2219745b8439SSascha Wildneroptions 	SCSI_NCR_DEBUG
2220745b8439SSascha Wildneroptions 	SCSI_NCR_MAX_SYNC=10000
2221745b8439SSascha Wildneroptions 	SCSI_NCR_MAX_WIDE=1
2222745b8439SSascha Wildneroptions 	SCSI_NCR_MYADDR=7
2223745b8439SSascha Wildneroptions 	SHOW_BUSYBUFS	# List buffers that prevent root unmount
2224745b8439SSascha Wildneroptions 	SI_DEBUG
2225603198e6SSascha Wildneroptions		SLAB_DEBUG
2226745b8439SSascha Wildneroptions 	SOCKBUF_DEBUG
2227745b8439SSascha Wildneroptions		TDMA_BINTVAL_DEFAULT=5
2228745b8439SSascha Wildneroptions		TDMA_SLOTCNT_DEFAULT=2
2229745b8439SSascha Wildneroptions		TDMA_SLOTLEN_DEFAULT=10*1000
2230745b8439SSascha Wildneroptions		TDMA_TXRATE_11A_DEFAULT=2*24
2231745b8439SSascha Wildneroptions		TDMA_TXRATE_11B_DEFAULT=2*11
2232745b8439SSascha Wildneroptions		TDMA_TXRATE_11G_DEFAULT=2*24
2233745b8439SSascha Wildneroptions		TDMA_TXRATE_11NA_DEFAULT="(4|IEEE80211_RATE_MCS)"
2234745b8439SSascha Wildneroptions		TDMA_TXRATE_11NG_DEFAULT="(4|IEEE80211_RATE_MCS)"
2235745b8439SSascha Wildneroptions		TDMA_TXRATE_HALF_DEFAULT=2*12
2236745b8439SSascha Wildneroptions		TDMA_TXRATE_QUARTER_DEFAULT=2*6
2237745b8439SSascha Wildneroptions		TDMA_TXRATE_TURBO_DEFAULT=2*24
2238745b8439SSascha Wildner#options 	TIMER_FREQ="((14318182+6)/12)"
2239745b8439SSascha Wildneroptions 	VFS_BIO_DEBUG
2240603198e6SSascha Wildneroptions		VM_PAGE_DEBUG
2241745b8439SSascha Wildneroptions 	XBONEHACK
2242745b8439SSascha Wildner
2243745b8439SSascha Wildneroptions	KTR
2244243308a2SSascha Wildneroptions KTR_ALL
2245243308a2SSascha Wildneroptions	KTR_ENTRIES=1024
2246243308a2SSascha Wildneroptions	KTR_VERBOSE=1
22476836e2b4SSascha Wildner#options KTR_ACPI_EC
2248745b8439SSascha Wildner#options KTR_CTXSW
2249243308a2SSascha Wildner#options KTR_DMCRYPT
2250745b8439SSascha Wildner#options KTR_ETHERNET
2251745b8439SSascha Wildner#options KTR_HAMMER
2252243308a2SSascha Wildner#options KTR_IFQ
2253745b8439SSascha Wildner#options KTR_IF_BGE
2254745b8439SSascha Wildner#options KTR_IF_EM
2255745b8439SSascha Wildner#options KTR_IF_EMX
22560e108e8bSSascha Wildner#options KTR_IF_POLL
2257745b8439SSascha Wildner#options KTR_IF_START
2258745b8439SSascha Wildner#options KTR_IPIQ
2259745b8439SSascha Wildner#options KTR_KERNENTRY
2260745b8439SSascha Wildner#options KTR_MEMORY
2261745b8439SSascha Wildner#options KTR_SERIALIZER
2262b981a49dSSepherosa Ziehau#options KTR_SOWAKEUP
2263745b8439SSascha Wildner#options KTR_SPIN_CONTENTION
2264745b8439SSascha Wildner#options KTR_TESTLOG
2265745b8439SSascha Wildner#options KTR_TOKENS
226695a12b8bSSascha Wildner#options KTR_TSLEEP
22676d688f9bSSepherosa Ziehau#options KTR_UDP
2268d6d39bc7SMihai Carabas#options KTR_USCHED_BSD4
2269d84d3f48SSascha Wildner#options KTR_USCHED_DFLY
2270745b8439SSascha Wildner
2271745b8439SSascha Wildner# ALTQ
2272745b8439SSascha Wildneroptions 	ALTQ		#alternate queueing
2273745b8439SSascha Wildneroptions 	ALTQ_CBQ	#class based queueing
2274745b8439SSascha Wildneroptions 	ALTQ_RED	#random early detection
2275745b8439SSascha Wildneroptions 	ALTQ_RIO	#triple red for diffserv (needs RED)
2276745b8439SSascha Wildneroptions 	ALTQ_HFSC	#hierarchical fair service curve
2277745b8439SSascha Wildneroptions 	ALTQ_PRIQ	#priority queue
2278745b8439SSascha Wildneroptions 	ALTQ_FAIRQ	#fair queue
2279745b8439SSascha Wildner#options 	ALTQ_NOPCC	#don't use processor cycle counter
2280745b8439SSascha Wildneroptions 	ALTQ_DEBUG	#for debugging
2281745b8439SSascha Wildner# you might want to set kernel timer to 1kHz if you use CBQ,
2282745b8439SSascha Wildner# especially with 100baseT
2283745b8439SSascha Wildner#options 	HZ=1000
2284745b8439SSascha Wildner
2285745b8439SSascha Wildner# WATCHDOG
2286745b8439SSascha Wildneroptions		WDOG_DISABLE_ON_PANIC	# Automatically disable watchdogs on panic
2287745b8439SSascha Wildner
2288745b8439SSascha Wildner# LED
2289745b8439SSascha Wildneroptions		ERROR_LED_ON_PANIC	# If an error led is present, light it up on panic
2290