xref: /dragonfly/sys/config/LINT64 (revision 55f88487)
1#
2# LINT64 -- config file for checking all the sources, tries to pull in
3#	as much of the source tree as it can.
4#
5# $FreeBSD: src/sys/i386/conf/LINT,v 1.749.2.144 2003/06/04 17:56:59 sam Exp $
6#
7# See the kernconf(5) manual page for more information on the format of
8# this file.
9#
10# NB: You probably don't want to try running a kernel built from this
11# file.  Instead, you should start from X86_64_GENERIC, and add options
12# from this file as required.
13#
14
15# These directives are mandatory.  The machine directive specifies the
16# platform and the machine_arch directive specifies the cpu architecture.
17#
18platform	pc64
19machine		x86_64
20machine_arch	x86_64
21
22#
23# This is the mandatory ``identification'' of the kernel.  Usually this should
24# be the same as the name of your kernel.
25#
26ident		LINT64
27
28#
29# The `maxusers' parameter controls the static sizing of a number of
30# internal system tables by a formula defined in subr_param.c.  Setting
31# maxusers to 0 will cause the system to auto-size based on physical
32# memory.
33#
34maxusers	10
35
36#
37# The `makeoptions' parameter allows variables to be passed to the
38# generated Makefile in the build area.
39#
40# CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
41# after most other flags.  Here we use it to inhibit use of non-optimal
42# gcc builtin functions (e.g., memcmp).
43#
44# DEBUG happens to be magic.
45# The following is equivalent to 'config -g KERNELNAME' and creates
46# 'kernel.debug' compiled with -g debugging as well as a normal
47# 'kernel'.  Use 'make install.debug' to install the debug kernel
48# but that isn't normally necessary as the debug symbols are not loaded
49# by the kernel and are not useful there anyway.
50#
51# KERNEL can be overridden so that you can change the default name of your
52# kernel.
53#
54# MODULES_OVERRIDE can be used to limit modules built to a specific list.
55#
56# INSTALLSTRIPPED can be set to cause installkernel to install stripped
57# kernels and modules rather than a kernel and modules with debug symbols.
58#
59# INSTALLSTRIPPEDMODULES can be set to allow a full debug kernel to be
60# installed, but to strip the installed modules.
61#
62makeoptions	CONF_CFLAGS=-fno-builtin  #Don't allow use of memcmp, etc.
63#makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
64#makeoptions	KERNEL=foo		#Build kernel "foo" and install "/foo"
65# Only build those parts of the sound system I need.
66#makeoptions	MODULES_OVERRIDE="sound/snd sound/pcm"
67#makeoptions	INSTALLSTRIPPED=1
68#makeoptions	INSTALLSTRIPPEDMODULES=1
69
70#
71# Certain applications can grow to be larger than the 128M limit
72# that DragonFly initially imposes.  Below are some options to
73# allow that limit to grow to 256MB, and can be increased further
74# with changing the parameters.  MAXDSIZ is the maximum that the
75# limit can be set to, and the DFLDSIZ is the default value for
76# the limit.  MAXSSIZ is the maximum that the stack limit can be
77# set to.  You might want to set the default lower than the max,
78# and explicitly set the maximum with a shell command for processes
79# that regularly exceed the limit like INND.
80#
81options 	MAXDSIZ="(256*1024*1024)"
82options 	MAXSSIZ="(256*1024*1024)"
83options 	DFLDSIZ="(256*1024*1024)"
84
85#
86# BLKDEV_IOSIZE sets the default block size used in user block
87# device I/O.  Note that this value will be overridden by the label
88# when specifying a block device from a label with a non-0
89# partition blocksize.  The default is PAGE_SIZE.
90#
91options 	BLKDEV_IOSIZE=8192
92
93# This allows you to actually store this configuration file into
94# the kernel binary itself, where it may be later read by saying:
95#    strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
96#
97options 	INCLUDE_CONFIG_FILE     # Include this file in kernel
98
99#
100# The root device and filesystem type can be compiled in;
101# this provides a fallback option if the root device cannot
102# be correctly guessed by the bootstrap code, or an override if
103# the RB_DFLTROOT flag (-r) is specified when booting the kernel.
104#
105options 	ROOTDEVNAME=\"ufs:da0s2e\"
106
107#####################################################################
108# CPU OPTIONS
109
110# cpu is mandatory
111#
112cpu		HAMMER_CPU
113
114#
115# Options for CPU features.
116#
117# CPU_DISABLE_AVX disables AVX instruction set.
118#
119options 	CPU_DISABLE_AVX
120
121#
122# These three options provide support for System V Interface
123# Definition-style interprocess communication, in the form of shared
124# memory, semaphores, and message queues, respectively.
125#
126# System V shared memory and tunable parameters
127options 	SHMMIN=2	# min shared memory segment size (bytes)
128options 	SHMMNI=33	# max number of shared memory identifiers
129options 	SHMSEG=9	# max shared memory segments per process
130
131# System V semaphores and tunable parameters
132options 	SEMMAP=31	# amount of entries in semaphore map
133options 	SEMMNI=11	# number of semaphore identifiers in the system
134options 	SEMMNS=61	# number of semaphores in the system
135options 	SEMMNU=31	# number of undo structures in the system
136options 	SEMMSL=61	# max number of semaphores per id
137options 	SEMOPM=101	# max number of operations per semop call
138options 	SEMUME=11	# max number of undo entries per process
139
140# System V message queues and tunable parameters
141options 	MSGMNB=2049	# max characters per message queue
142options 	MSGMNI=41	# max number of message queue identifiers
143options 	MSGSEG=2049	# max number of message segments in the system
144options 	MSGSSZ=16	# size of a message segment MUST be power of 2
145options 	MSGTQL=41	# max amount of messages in the system
146
147#####################################################################
148# DEBUGGING OPTIONS
149
150#
151# Enable the kernel debugger.
152#
153options 	DDB
154
155#
156# Print a stack trace on kernel panic.
157#
158options 	DDB_TRACE
159
160#
161# Don't drop into DDB for a panic. Intended for unattended operation
162# where you may want to drop to DDB from the console, but still want
163# the machine to recover from a panic
164#
165options 	DDB_UNATTENDED
166
167#
168# If using GDB remote mode to debug the kernel, there's a non-standard
169# extension to the remote protocol that can be used to use the serial
170# port as both the debugging port and the system console.  It's non-
171# standard and you're on your own if you enable it.  See also the
172# "remotechat" variables in the DragonFly specific version of gdb.
173#
174options 	GDB_REMOTE_CHAT
175
176#
177# KTRACE enables the system-call tracing facility ktrace(2).
178#
179options 	KTRACE			#kernel tracing
180
181#
182# The INVARIANTS option is used in a number of source files to enable
183# extra sanity checking of internal structures.  This support is not
184# enabled by default because of the extra time it would take to check
185# for these conditions, which can only occur as a result of
186# programming errors.
187#
188options 	INVARIANTS
189
190#
191# The DIAGNOSTIC option is used to enable extra debugging information
192# from some parts of the kernel.  As this makes everything more noisy,
193# it is disabled by default.
194#
195options 	DIAGNOSTIC
196
197#
198# SYSCTL_DEBUG enables a 'sysctl' debug tree that can be used to dump the
199# contents of the registered sysctl nodes on the console.  It is disabled by
200# default because it generates excessively verbose console output that can
201# interfere with serial console operation.
202#
203options 	SYSCTL_DEBUG
204
205#
206# NO_SYSCTL_DESCR prevents sysctl descriptions from being compiled in
207#
208#options	NO_SYSCTL_DESCR
209
210#
211# This option let some drivers co-exist that can't co-exist in a running
212# system.  This is used to be able to compile all kernel code in one go for
213# quality assurance purposes (like this file, which the option takes it name
214# from.)
215#
216options 	COMPILING_LINT
217
218
219# XXX - this doesn't belong here.
220# Allow ordinary users to take the console - this is useful for X.
221options 	UCONSOLE
222
223#####################################################################
224# NETWORKING OPTIONS
225
226#
227# Protocol families:
228#  Only the INET (Internet) family is officially supported in DragonFly.
229#
230options 	INET			#Internet communications protocols
231options 	INET6			#IPv6 communications protocols
232
233options 	MPLS			#Multi-Protocol Label Switching
234
235#
236# SMB/CIFS requester
237# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
238# options.
239options 	NETSMB			#SMB/CIFS requester
240
241# mchain library. It can be either loaded as KLD or compiled into kernel
242options 	LIBMCHAIN		#mbuf management library
243
244# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
245# Individual node types can be enabled with the corresponding option
246# listed below; however, this is not strictly necessary as netgraph
247# will automatically load the corresponding KLD module if the node type
248# is not already compiled into the kernel. Each type below has a
249# corresponding man page, e.g., ng_async(4).
250options 	NETGRAPH		#netgraph(4) system
251options 	NETGRAPH_ASYNC
252options 	NETGRAPH_BPF
253options 	NETGRAPH_BRIDGE
254options 	NETGRAPH_CISCO
255options 	NETGRAPH_ECHO
256options		NETGRAPH_EIFACE
257options 	NETGRAPH_ETHER
258options		NETGRAPH_FEC
259options 	NETGRAPH_FRAME_RELAY
260options 	NETGRAPH_HOLE
261options 	NETGRAPH_IFACE
262options 	NETGRAPH_KSOCKET
263options 	NETGRAPH_L2TP
264options 	NETGRAPH_LMI
265# MPPC compression requires proprietary files (not included)
266#options 	NETGRAPH_MPPC_COMPRESSION
267options 	NETGRAPH_MPPC_ENCRYPTION
268options 	NETGRAPH_ONE2MANY
269options 	NETGRAPH_PPP
270options 	NETGRAPH_PPPOE
271options 	NETGRAPH_PPTPGRE
272options 	NETGRAPH_RFC1490
273options 	NETGRAPH_SOCKET
274options 	NETGRAPH_TEE
275options 	NETGRAPH_TTY
276options 	NETGRAPH_UI
277options 	NETGRAPH_VJC
278
279device		mn	# Munich32x/Falc54 Nx64kbit/sec cards.
280
281#
282# Network interfaces:
283#  The `loop' pseudo-device is MANDATORY when networking is enabled.
284#  The `ether' pseudo-device provides generic code to handle
285#  Ethernets; it is MANDATORY when an Ethernet device driver is
286#  configured.
287#  The `sppp' pseudo-device serves a similar role for certain types
288#  of synchronous PPP links.
289#  The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
290#  The `bpf' pseudo-device enables the Berkeley Packet Filter.  Be
291#  aware of the legal and administrative consequences of enabling this
292#  option.  The number of devices determines the maximum number of
293#  simultaneous BPF clients programs runnable.
294#  The `disc' pseudo-device implements a minimal network interface,
295#  which throws away all packets sent and never receives any.  It is
296#  included for testing purposes.  This shows up as the 'ds' interface.
297#  The `tun' pseudo-device implements (user-)ppp and nos-tun
298#  The `gif' pseudo-device implements IPv6 over IP4 tunneling,
299#  IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
300#  IPv6 over IPv6 tunneling.
301#  The `gre' device implements two types of IP4 over IP4 tunneling:
302#  GRE and MOBILE, as specified in the RFC1701 and RFC2004.
303#  The `stf' device implements 6to4 encapsulation.
304#  The `ef' pseudo-device provides support for multiple ethernet frame types
305#  specified via ETHER_* options. See ef(4) for details.
306#
307pseudo-device	ether			#Generic Ethernet
308pseudo-device	vlan	1		#VLAN support
309pseudo-device	bridge			#Bridging support
310pseudo-device	sppp			#Generic Synchronous PPP
311pseudo-device	loop			#Network loopback device
312pseudo-device	bpf			#Berkeley packet filter
313pseudo-device	disc			#Discard device (ds0, ds1, etc)
314pseudo-device	tap			#Ethernet tunnel network interface
315pseudo-device	tun			#Tunnel driver (ppp(8), nos-tun(8))
316pseudo-device	sl	2		#Serial Line IP
317pseudo-device	gre			#IP over IP tunneling
318
319# for IPv6
320pseudo-device	gif			#IPv6 and IPv4 tunneling
321pseudo-device	stf			#6to4 IPv6 over IPv4 encapsulation
322
323# NetBSD Virtual Machine Monitor
324pseudo-device	nvmm
325
326#
327# Internet family options:
328#
329# MROUTING enables the kernel multicast packet forwarder, which works
330# with mrouted(8) (from dports).
331#
332# PIM enables Protocol Independent Multicast in the kernel.
333# Requires MROUTING enabled.
334#
335# IPFIREWALL enables support for IP firewall construction, in
336# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
337# logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
338# limits the number of times a matching entry can be logged.
339#
340# WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
341# and if you do not add other rules during startup to allow access,
342# YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall_type=open
343# in /etc/rc.conf when first enabling this feature, then refining the
344# firewall rules in /etc/rc.firewall after you've tested that the new kernel
345# feature works properly.
346#
347# IPFIREWALL3 is based on a newer version of FreeBSD's ipfw2, along with
348# some enhancements. See ipfw3(4).
349#
350# IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
351# allow everything.  Use with care, if a cracker can crash your
352# firewall machine, they can get to your protected machines.  However,
353# if you are using it as an as-needed filter for specific problems as
354# they arise, then this may be for you.  Changing the default to 'allow'
355# means that you won't get stuck if the kernel and /sbin/ipfw binary get
356# out of sync.
357#
358# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
359#
360# IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
361# packets without touching the ttl).  This can be useful to hide firewalls
362# from traceroute and similar tools.
363#
364# TCPDEBUG is undocumented.
365#
366# ICMPPRINTFS enables ICMP to do extra debug prints.
367#
368options 	MROUTING		# Multicast routing
369options 	PIM			# Protocol Independent Multicast
370options 	IPFIREWALL		#firewall
371options		IPFIREWALL_DEBUG	#debug prints
372options 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
373options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
374options 	IPFIREWALL_DEFAULT_TO_ACCEPT	#allow everything by default
375options 	IPV6FIREWALL		#firewall for IPv6
376options 	IPV6FIREWALL_VERBOSE
377options 	IPV6FIREWALL_VERBOSE_LIMIT=100
378options 	IPV6FIREWALL_DEFAULT_TO_ACCEPT
379options 	IPDIVERT		#divert sockets
380options 	IPSTEALTH		#support for stealth forwarding
381options 	TCPDEBUG
382options		ICMPPRINTFS
383
384options		IPFIREWALL3
385
386device		pf
387device		pflog
388
389#CARP
390pseudo-device carp
391options CARP
392
393# Link aggregation interface.
394pseudo-device	lagg
395
396# The MBUF_STRESS_TEST option enables options which create
397# various random failures / extreme cases related to mbuf
398# functions.  See the mbuf(9) manpage for a list of available
399# test cases.
400options         MBUF_STRESS_TEST
401
402# Statically link in accept filters
403options                ACCEPT_FILTER_DATA
404options                ACCEPT_FILTER_HTTP
405
406# TCP_SIGNATURE adds support for RFC 2385 (TCP-MD5) digests. These are
407# carried in TCP option 19.
408# This is enabled on a per-socket basis using the TCP_SIGNATURE_ENABLE
409# socket option.
410# This requires the use of 'device crypto' or 'device cryptodev'.
411#
412# XXX disabled for now until building with it is fixed, which broke
413# after removing IPsec.
414#
415#options   TCP_SIGNATURE   #include support for RFC 2385
416
417#
418# TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
419# prevents nmap et al. from identifying the TCP/IP stack, but breaks support
420# for RFC1644 extensions and is not recommended for web servers.
421#
422options 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN
423
424# ICMP_BANDLIM enables icmp error response bandwidth limiting.   You
425# typically want this option as it will help protect the machine from
426# D.O.S. packet attacks.
427#
428options 	ICMP_BANDLIM
429
430# DUMMYNET enables the "dummynet" bandwidth limiter. You need
431# IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info.
432#
433options 	DUMMYNET
434options		DUMMYNET_DEBUG
435
436# IFPOLL_ENABLE adds support for mixed interrupt-polling handling
437# of network device drivers, which has significant benefits in terms
438# of robustness to overloads and responsivity, as well as permitting
439# accurate scheduling of the CPU time between kernel network processing
440# and other activities. The drawback is a moderate (up to 1/pollhz seconds)
441# potential increase in response times. See polling(4) for further details.
442#
443# IFPOLL_ENABLE adds hardware queues' based polling
444options		IFPOLL_ENABLE
445
446#####################################################################
447# FILESYSTEM OPTIONS
448
449#
450# Only the root, /usr, and /tmp filesystems need be statically
451# compiled; everything else will be automatically loaded at mount
452# time.  (Exception: the UFS family --- FFS, and MFS ---
453# cannot currently be demand-loaded.)  Some people still prefer
454# to statically compile other filesystems as well.
455#
456
457# One of these is mandatory:
458options 	FFS			#Fast filesystem
459options 	MFS			#Memory filesystem
460options 	NFS			#Network filesystem
461
462# The rest are optional:
463#options 	NFS_NOSERVER		#Disable the NFS-server code.
464options 	AUTOFS			#Automounter filesystem
465options 	CD9660			#ISO 9660 filesystem
466options 	FUSE			#FUSE support module
467options		HAMMER			#HAMMER filesystem
468options		HAMMER2			#HAMMER2 filesystem
469options 	HPFS			#OS/2 File system
470options 	MSDOSFS			#MS DOS filesystem
471options 	NTFS			#NT filesystem
472options 	NULLFS			#NULL filesystem
473options 	PROCFS			#Process filesystem
474options 	SMBFS			#SMB/CIFS filesystem
475options 	TMPFS			#Temporary filesystem
476options		UDF			#UDF filesystem
477
478# The xFS_ROOT options REQUIRE the associated ``options xFS''
479options 	NFS_ROOT		#NFS usable as root device
480
481# Soft updates is technique for improving UFS filesystem speed and
482# making abrupt shutdown less risky.
483options 	SOFTUPDATES
484
485# Directory hashing improves the speed of operations on very large
486# directories at the expense of some memory.
487options 	UFS_DIRHASH
488
489# Make space in the kernel for a root filesystem on a md device.
490# Define to the number of kilobytes to reserve for the filesystem.
491options 	MD_ROOT_SIZE=10
492
493# Make the md device a potential root device, either with preloaded
494# images of type mfs_root or md_root.
495options 	MD_ROOT
496
497# Specify double the default maximum size for malloc(9)-backed md devices.
498options 	MD_NSECT=40000
499
500# Allow this many swap-devices.
501#
502# In order to manage swap, the system must reserve bitmap space that
503# scales with the largest mounted swap device multiplied by NSWAPDEV,
504# regardless of whether other swap devices exist or not.  So it
505# is not a good idea to make this value too large.
506options 	NSWAPDEV=5
507
508# Disk quotas are supported when this option is enabled.
509options 	QUOTA			#enable disk quotas
510
511# If you are running a machine just as a fileserver for PC and MAC
512# users, e.g. using SAMBA, you may consider setting this option
513# and keeping all those users' directories on a filesystem that is
514# mounted with the suiddir option. This gives new files the same
515# ownership as the directory (similar to group). It's a security hole
516# if you let these users run programs, so confine it to file-servers
517# (but it'll save you lots of headaches in those cases). Root owned
518# directories are exempt and X bits are cleared. The suid bit must be
519# set on the directory as well; see chmod(1) PC owners can't see/set
520# ownerships so they keep getting their toes trodden on. This saves
521# you all the support calls as the filesystem it's used on will act as
522# they expect: "It's my dir so it must be my file".
523#
524options 	SUIDDIR
525
526# NFS options:
527options 	NFS_MINATTRTIMO=3	# VREG attrib cache timeout in sec
528options 	NFS_MAXATTRTIMO=60
529options 	NFS_MINDIRATTRTIMO=30	# VDIR attrib cache timeout in sec
530options 	NFS_MAXDIRATTRTIMO=60
531options 	NFS_GATHERDELAY=10	# Default write gather delay (msec)
532options 	NFS_UIDHASHSIZ=29	# Tune the size of nfssvc_sock with this
533options 	NFS_WDELAYHASHSIZ=16	# and with this
534options 	NFS_MUIDHASHSIZ=63	# Tune the size of nfsmount with this
535options 	NFS_DEBUG		# Enable NFS Debugging
536
537# NTFS options:
538options		NTFS_DEBUG
539
540# MSDOSFS options:
541options		MSDOSFS_DEBUG		# Enable MSDOSFS Debugging
542
543#
544# Add support for the EXT2FS filesystem of Linux fame.  Be a bit
545# careful with this - the ext2fs code has a tendency to lag behind
546# changes and not be exercised very much, so mounting read/write could
547# be dangerous (and even mounting read only could result in panics.)
548#
549options 	EXT2FS
550
551# Optional character code conversion support with LIBICONV.
552# Each option requires their base file system and LIBICONV.
553options 	CD9660_ICONV
554options 	MSDOSFS_ICONV
555options 	NTFS_ICONV
556
557#####################################################################
558# POSIX P1003.1B
559
560# Real time extensions added in the 1993 Posix
561# _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
562
563options 	_KPOSIX_PRIORITY_SCHEDULING
564
565#####################################################################
566# CLOCK OPTIONS
567
568# The granularity of operation is controlled by the kernel option HZ_DEFAULT
569# whose default value (100) means a granularity of 10ms (1s/HZ_DEFAULT).
570# Consider, however, that reducing the granularity too much might
571# cause excessive overhead in clock interrupt processing,
572# potentially causing ticks to be missed and thus actually reducing
573# the accuracy of operation.
574
575options 	HZ_DEFAULT=100
576
577#####################################################################
578# SCSI DEVICES
579
580# SCSI DEVICE CONFIGURATION
581
582# The SCSI subsystem consists of the `base' SCSI code, a number of
583# high-level SCSI device `type' drivers, and the low-level host-adapter
584# device drivers.  The host adapters are listed in the ISA and PCI
585# device configuration sections below.
586#
587# Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so
588# that a given bus, target, and LUN always come on line as the same
589# device unit.  In earlier versions the unit numbers were assigned
590# in the order that the devices were probed on the SCSI bus.  This
591# means that if you removed a disk drive, you may have had to rewrite
592# your /etc/fstab file, and also that you had to be careful when adding
593# a new disk as it may have been probed earlier and moved your device
594# configuration around.
595
596# This old behavior is maintained as the default behavior.  The unit
597# assignment begins with the first non-wired down unit for a device
598# type.  For example, if you wire a disk as "da3" then the first
599# non-wired disk will be assigned da4.
600
601# The syntax for wiring down devices is:
602
603# device	scbus0 at ahc0		# Single bus device
604# device	scbus1 at ahc1 bus 0	# Single bus device
605# device	scbus3 at ahc2 bus 0	# Twin bus device
606# device	scbus2 at ahc2 bus 1	# Twin bus device
607# device 	da0 at scbus0 target 0 unit 0
608# device	da1 at scbus3 target 1
609# device	da2 at scbus2 target 3
610# device	sa1 at scbus1 target 6
611# device	cd
612
613# "units" (SCSI logical unit number) that are not specified are
614# treated as if specified as LUN 0.
615
616# All SCSI devices allocate as many units as are required.
617
618# The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI
619# configuration and doesn't have to be explicitly configured.
620
621device		scbus			#base SCSI code
622device		ch			#SCSI media changers
623device		da			#SCSI direct access devices (aka disks)
624device		sa			#SCSI tapes
625device		cd			#SCSI CD-ROMs
626device		pass			#CAM passthrough driver
627device		sg			#Passthrough device (linux scsi generic)
628device		pt			#SCSI processor type
629device		ses			#SCSI SES/SAF-TE driver
630device		targ			#SCSI Target Mode Code
631device		targbh			#SCSI Target Mode Blackhole Device
632
633# Options for device mapper
634device		dm
635device		dm_target_crypt
636device		dm_target_linear
637device		dm_target_striped
638device		dm_target_delay
639device		dm_target_flakey
640
641# Options for iSCSI
642device	        iscsi_initiator
643options		ISCSI_INITIATOR_DEBUG=8
644
645# CAM OPTIONS:
646# debugging options:
647# -- NOTE --  If you specify one of the bus/target/lun options, you must
648#             specify them all!
649# CAMDEBUG: When defined enables debugging macros
650# CAM_DEBUG_BUS:  Debug the given bus.  Use -1 to debug all busses.
651# CAM_DEBUG_TARGET:  Debug the given target.  Use -1 to debug all targets.
652# CAM_DEBUG_LUN:  Debug the given lun.  Use -1 to debug all luns.
653# CAM_DEBUG_FLAGS:  OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE,
654#                   CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB
655#
656# CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds
657# SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions
658# SCSI_NO_OP_STRINGS: When defined disables opcode descriptions
659# SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter)
660#             queue after a bus reset, and the number of milliseconds to
661#             freeze the device queue after a bus device reset.  This
662#             can be changed at boot and runtime with the
663#             kern.cam.scsi_delay tunable/sysctl.
664options 	CAMDEBUG
665options 	CAM_DEBUG_BUS=-1
666options 	CAM_DEBUG_TARGET=-1
667options 	CAM_DEBUG_LUN=-1
668options 	CAM_DEBUG_FLAGS="CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB"
669options 	CAM_MAX_HIGHPOWER=4
670options 	SCSI_NO_SENSE_STRINGS
671options 	SCSI_NO_OP_STRINGS
672options 	SCSI_DELAY=8000	# Be pessimistic about Joe SCSI device
673
674# Options for the CAM CDROM driver:
675# CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN
676# CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only
677#                           enforced if there is I/O waiting for another LUN
678# The compiled in defaults for these variables are 2 and 10 seconds,
679# respectively.
680#
681# These can also be changed on the fly with the following sysctl variables:
682# kern.cam.cd.changer.min_busy_seconds
683# kern.cam.cd.changer.max_busy_seconds
684#
685options 	CHANGER_MIN_BUSY_SECONDS=2
686options 	CHANGER_MAX_BUSY_SECONDS=10
687
688# Options for the CAM sequential access driver:
689# SA_IO_TIMEOUT: Timeout for read/write/wfm  operations, in minutes
690# SA_SPACE_TIMEOUT: Timeout for space operations, in minutes
691# SA_REWIND_TIMEOUT: Timeout for rewind operations, in minutes
692# SA_ERASE_TIMEOUT: Timeout for erase operations, in minutes
693# SA_1FM_AT_EOD: Default to model which only has a default one filemark at EOT.
694options 	SA_IO_TIMEOUT="(4)"
695options 	SA_SPACE_TIMEOUT="(60)"
696options 	SA_REWIND_TIMEOUT="(2*60)"
697options 	SA_ERASE_TIMEOUT="(4*60)"
698options 	SA_1FM_AT_EOD
699
700# Optional timeout for the CAM processor target (pt) device
701# This is specified in seconds.  The default is 60 seconds.
702options 	SCSI_PT_DEFAULT_TIMEOUT="60"
703
704# Optional enable of doing SES passthrough on other devices (e.g., disks)
705#
706# Normally disabled because a lot of newer SCSI disks report themselves
707# as having SES capabilities, but this can then clot up attempts to build
708# build a topology with the SES device that's on the box these drives
709# are in....
710options 	SES_ENABLE_PASSTHROUGH
711
712#####################################################################
713# MISCELLANEOUS DEVICES AND OPTIONS
714
715# The `pty' device usually turns out to be ``effectively mandatory'',
716# as it is required for `telnetd', `rlogind', `screen', `emacs', and
717# `xterm', among others.
718
719pseudo-device	pty		# Pseudo ttys
720pseudo-device	md		# Memory/malloc disk
721pseudo-device	vn		# File image "disks"
722pseudo-device	snp		# Snoop device - to look at pty/vty/etc..
723pseudo-device	ccd	4	# Concatenated disk driver
724
725# Configuring Vinum into the kernel is not necessary, since the kld
726# module gets started automatically when vinum(8) starts.  This
727# device is also untested.  Use at your own risk.
728#
729# The option VINUMDEBUG must match the value set in CFLAGS
730# in src/sbin/vinum/Makefile.  Failure to do so will result in
731# the following message from vinum(8):
732#
733# Can't get vinum config: Invalid argument
734#
735# see vinum(4) for more reasons not to use these options.
736pseudo-device	vinum		#Vinum concat/mirror/raid driver
737options 	VINUMDEBUG	#enable Vinum debugging hooks
738
739# Kernel side iconv library
740options 	LIBICONV
741
742# Size of the kernel message buffer.  Should be N * pagesize.
743options 	MSGBUF_SIZE=40960
744
745#####################################################################
746# HARDWARE DEVICE CONFIGURATION
747
748# ISA devices:
749
750#
751# Mandatory ISA devices: isa
752#
753device		isa
754
755#
756# Options for `isa':
757#
758# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
759# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
760# This option breaks suspend/resume on some portables.
761#
762# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
763# interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
764# Automatic EOI is documented not to work for the slave with the
765# original i8259A, but it works for some clones and some integrated
766# versions.
767#
768# MAXMEM specifies the amount of RAM on the machine; if this is not
769# specified, DragonFly will first read the amount of memory from the CMOS
770# RAM, so the amount of memory will initially be limited to 64MB or 16MB
771# depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
772# then attempt to detect the installed amount of RAM.  If this probe
773# fails to detect >64MB RAM you will have to use the MAXMEM option.
774# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
775# be 131072 (128 * 1024).
776#
777# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
778# reset the CPU for reboot.  This is needed on some systems with broken
779# keyboard controllers.
780
781options 	AUTO_EOI_1
782#options 	AUTO_EOI_2
783options 	MAXMEM="(128*1024)"
784#options 	BROKEN_KEYBOARD_RESET
785
786# Enable support for the kernel PLL to use an external PPS signal,
787# under supervision of [x]ntpd(8)
788# More info in ntpd documentation: http://www.eecis.udel.edu/~ntp
789
790options 	PPS_SYNC
791
792# The keyboard controller; it controls the keyboard and the PS/2 mouse.
793device		atkbdc0	at isa? port IO_KBD
794
795# The AT keyboard
796device		atkbd0	at atkbdc? irq 1
797
798# Options for atkbd:
799options 	ATKBD_DFLT_KEYMAP	# specify the built-in keymap
800makeoptions	ATKBD_DFLT_KEYMAP="jp.106"
801
802# These options are valid for other keyboard drivers as well.
803options 	KBD_DISABLE_KEYMAP_LOAD	# refuse to load a keymap
804options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
805
806# `flags' for atkbd:
807#       0x01    Force detection of keyboard, else we always assume a keyboard
808#       0x02    Don't reset keyboard, useful for some newer ThinkPads
809#	0x03	Force detection and avoid reset, might help with certain
810#		dockingstations
811#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads
812
813# PS/2 mouse
814device		psm0	at atkbdc? irq 12
815
816# Options for psm:
817options 	PSM_HOOKRESUME		#hook the system resume event, useful
818					#for some laptops
819options 	PSM_RESETAFTERSUSPEND	#reset the device at the resume event
820
821device		kbdmux			# keyboard multiplexer
822
823# The video card driver.
824device		vga0	at isa?
825
826# Options for vga:
827options		VGA_DEBUG=2		# enable VGA debug output
828
829# If you experience problems switching back to 80x25 (or a derived mode),
830# the following option might help.
831#options	VGA_KEEP_POWERON_MODE	# use power-on settings for 80x25
832
833# If you can dispense with some vga driver features, you may want to
834# use the following options to save some memory.
835#options 	VGA_NO_FONT_LOADING	# don't save/load font
836#options 	VGA_NO_MODE_CHANGE	# don't change video modes
837
838# The following option probably won't work with the LCD displays.
839options 	VGA_WIDTH90		# support 90 column modes
840
841# Splash screen at start up!  Screen savers require this too.
842pseudo-device	splash
843
844# The syscons console driver (sco color console compatible).
845device		sc0	at nexus?
846options 	MAXCONS=16		# number of virtual consoles
847options 	SC_ALT_MOUSE_IMAGE	# simplified mouse cursor in text mode
848options 	SC_DEBUG_LEVEL=5	# enable debug output
849options 	SC_DFLT_FONT		# compile font in
850makeoptions	SC_DFLT_FONT=cp850
851options 	SC_DISABLE_DDBKEY	# disable `debug' key
852options 	SC_DISABLE_REBOOT	# disable reboot key sequence
853options 	SC_HISTORY_SIZE=200	# number of history buffer lines
854options 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
855options 	SC_PIXEL_MODE		# add support for the raster text mode
856
857# The following options will let you change the default colors of syscons.
858options 	SC_NORM_ATTR="(FG_GREEN|BG_BLACK)"
859options 	SC_NORM_REV_ATTR="(FG_YELLOW|BG_GREEN)"
860options 	SC_KERNEL_CONS_ATTR="(FG_RED|BG_BLACK)"
861options 	SC_KERNEL_CONS_REV_ATTR="(FG_BLACK|BG_RED)"
862options 	SC_BORDER_COLOR="FG_BLACK"
863
864# If you have a two button mouse, you may want to add the following option
865# to use the right button of the mouse to paste text.
866options 	SC_TWOBUTTON_MOUSE
867
868# You can selectively disable features in syscons.
869#options 	SC_NO_CUTPASTE
870#options 	SC_NO_FONT_LOADING
871#options 	SC_NO_HISTORY
872#options 	SC_NO_SYSMOUSE
873
874#
875# SCSI host adapters
876#
877# adv: All Narrow SCSI bus AdvanSys controllers.
878# adw: Second Generation AdvanSys controllers including the ADV940UW.
879# bt: Most Buslogic controllers
880#
881# Note that the order is important in order for Buslogic cards to be
882# probed correctly.
883#
884
885device		bt
886device		adv
887device		adw
888
889#
890# Adaptec FSA RAID controllers, including integrated DELL controller,
891# the Dell PERC 2/QC and the HP NetRAID-4M
892#
893device		aac
894options		AAC_DEBUG
895device		aacp	# SCSI Passthrough interface (optional, CAM required)
896
897#
898# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers.  Only
899# one entry is needed; the code will find and configure all supported
900# controllers.
901#
902device		ida		# Compaq Smart RAID
903device		mlx		# Mylex DAC960
904device		amr		# AMI MegaRAID
905device		amrp		# SCSI Passthrough interface (optional, CAM req.)
906options		AMR_DEBUG=3
907device		mfi		# LSI MegaRAID SAS
908device		mfip		# LSI MegaRAID SAS passthrough, requires CAM
909options 	MFI_DEBUG
910
911#
912# LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA RAID controller driver
913#
914device		mrsas
915
916#
917# Areca RAID (CAM is required).
918#
919device		arcmsr		# Areca SATA II RAID
920
921#
922# Highpoint RocketRAID 182x.
923device		hptmv
924
925#
926# Highpoint RocketRAID.  Supports RR172x, RR222x, RR2240, RR232x, RR2340,
927# RR2210, RR174x, RR2522, RR231x, RR230x.
928device		hptrr
929
930#
931# Highpoint RocketRAID 27xx.
932device		"hpt27xx"
933
934#
935# Highpoint RocketRaid 3xxx series SATA RAID
936device		hptiop
937
938#
939# 3ware ATA RAID
940#
941device		twe		# 3ware ATA RAID
942device		twa		# 3ware 9000 series PATA/SATA RAID
943options 	TWA_DEBUG=10	# enable debug messages
944device		tws		# 3ware 9750 series SATA/SAS RAID
945
946#
947# IBM ServeRAID
948#
949device	ips
950
951# AHCI driver, this will override NATA for AHCI devices,
952# both drivers may be included.
953#
954device		ahci
955
956# NVME driver
957#
958device          nvme
959
960# SiI3124/3132 driver
961#
962device		sili
963
964# Network controlled disks
965#
966device		xdisk
967
968# The 'NATA' driver supports all ATA and ATAPI devices.
969# You only need one "device nata" for it to find all
970# PCI ATA/ATAPI devices on modern machines.
971#
972device		nata
973device		natadisk	# ATA disk drives
974device		natapicd	# ATAPI CD/DVD drives
975device		natapifd	# ATAPI floppy drives
976device		natapist	# ATAPI tape drives
977device		natapicam	# ATAPI CAM layer emulation
978device		nataraid	# support for ATA software RAID controllers
979
980# The following options are valid for the NATA driver:
981#
982# ATA_STATIC_ID:	controller numbering is static (like the old driver)
983#			else the device numbers are dynamically allocated.
984# ATA_NO_*:		leave out support for the specified controller brand
985#
986options 	ATA_STATIC_ID
987#options 	ATA_NO_ACARD
988#options 	ATA_NO_ACERLABS
989#options 	ATA_NO_AHCI
990#options 	ATA_NO_AMD
991#options 	ATA_NO_CYPRESS
992#options 	ATA_NO_CYRIX
993#options 	ATA_NO_HIGHPOINT
994#options 	ATA_NO_INTEL
995#options 	ATA_NO_ITE
996#options 	ATA_NO_JMICRON
997#options 	ATA_NO_MARVELL
998#options 	ATA_NO_NATIONAL
999#options 	ATA_NO_NETCELL
1000#options 	ATA_NO_NVIDIA
1001#options 	ATA_NO_PROMISE
1002#options 	ATA_NO_SERVERWORKS
1003#options 	ATA_NO_SILICONIMAGE
1004#options 	ATA_NO_SIS
1005#options 	ATA_NO_VIA
1006
1007# For older non-PCI systems, these are the lines to use:
1008#
1009#device		nata0	at isa? port IO_WD1 irq 14
1010#device		nata1	at isa? port IO_WD2 irq 15
1011
1012#
1013# Standard floppy disk controllers: `fdc' and `fd' (see fdc(4))
1014#
1015device		fdc0	at isa? port IO_FD1 irq 6 drq 2
1016#
1017# FDC_DEBUG enables floppy debugging.  Since the debug output is huge, you
1018# gotta turn it actually on by setting the variable fd_debug with DDB,
1019# however.
1020options 	FDC_DEBUG
1021
1022device		fd0	at fdc0 drive 0
1023device		fd1	at fdc0 drive 1
1024
1025# LMC/SBE LMC1504 quad T1/E1 driver
1026#
1027device		musycc
1028
1029#
1030# sio: serial ports (see sio(4))
1031
1032device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
1033
1034#
1035# `flags' for serial drivers that support consoles (only for sio now):
1036#	0x10	enable console support for this unit.  The other console flags
1037#		are ignored unless this is set.  Enabling console support does
1038#		not make the unit the preferred console - boot with -h or set
1039#		the 0x20 flag for that.  Currently, at most one unit can have
1040#		console support; the first one (in config file order) with
1041#		this flag set is preferred.  Setting this flag for sio0 gives
1042#		the old behaviour.
1043#	0x20	force this unit to be the console (unless there is another
1044#		higher priority console).  This replaces the COMCONSOLE option.
1045#	0x40	reserve this unit for low level console operations.  Do not
1046#		access the device in any normal way.
1047#	0x80	use this port for serial line gdb support in ddb.
1048#
1049
1050# Options for serial drivers that support consoles (only for sio now):
1051options 	BREAK_TO_DEBUGGER	#a BREAK on a comconsole goes to
1052					#DDB, if available.
1053options 	CONSPEED=115200		# speed for serial console
1054					# (default 9600)
1055
1056# Solaris implements a new BREAK which is initiated by a character
1057# sequence CR ~ ^b which is similar to a familiar pattern used on
1058# Sun servers by the Remote Console.
1059options 	ALT_BREAK_TO_DEBUGGER
1060
1061# Options for sio:
1062options 	COM_ESP			#code for Hayes ESP
1063options 	COM_MULTIPORT		#code for some cards with shared IRQs
1064
1065# Other flags for sio that aren't documented in the man page.
1066#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
1067#		ST16650A-compatible UARTs.
1068
1069# PCI Universal Communications driver
1070# Supports various single and multi port PCI serial cards. Maybe later
1071# also the parallel ports on combination serial/parallel cards. New cards
1072# can be added in src/sys/dev/misc/puc/pucdata.c.
1073device		puc
1074
1075#
1076# Network interfaces: `is', `lnc'
1077#
1078# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 & Am79C960)
1079# sbsh: Granch SBNI16 SHDSL modem PCI adapters
1080# vmx: VMware VMXNET3 Ethernet (BSD open source)
1081# wi: Lucent WaveLAN/IEEE 802.11 PCMCIA adapters. Note: this supports both
1082#     the PCMCIA and ISA cards: the ISA card is really a PCMCIA to ISA
1083#     bridge with a PCMCIA adapter plugged into it.
1084# xe: Xircom/Intel EtherExpress Pro100/16 PC Card ethernet controller.
1085#
1086device lnc
1087device sln
1088device sn
1089
1090# Wlan support is mandatory for some wireless LAN devices.
1091options 	IEEE80211_DEBUG		#enable debugging msgs
1092options 	IEEE80211_SUPPORT_MESH	#enable 802.11s D3.0 support
1093options 	IEEE80211_SUPPORT_TDMA	#enable TDMA support
1094device		wlan		# 802.11 support
1095device		wlan_acl	# 802.11 MAC-based access control for AP
1096device		wlan_ccmp	# 802.11 CCMP support
1097device		wlan_tkip	# 802.11 TKIP support
1098device		wlan_wep	# 802.11 WEP support
1099device		wlan_xauth	# 802.11 WPA or 802.1x authentication for AP
1100device		wlan_amrr	# 802.11 AMRR TX rate control algorithm
1101device		ath		# Atheros AR521x
1102options		AH_AR5416_INTERRUPT_MITIGATION
1103options		AH_ASSERT
1104options		AH_DEBUG
1105options		AH_INTERRUPT_DEBUGGING
1106options		AH_MAXCHAN=96
1107options		AH_NEED_DESC_SWAP
1108options		AH_PRIVATE_DIAG
1109options		AH_RXCFG_SDMAMW_4BYTES
1110options		AH_SUPPORT_AR5416
1111options		AH_SUPPORT_AR9130
1112options		AH_SUPPORT_AR9330
1113options		AH_SUPPORT_AR9340
1114options		AH_USE_INIPDGAIN
1115device		ath_hal		# Atheros Hardware Access Layer
1116#device		ath_rate_amrr	# Atheros AMRR TX rate control algorithm
1117#device		ath_rate_onoe	# Atheros Onoe TX rate control algorithm
1118device		ath_rate_sample	# Atheros Sample TX rate control algorithm
1119options		ATH_DEBUG	# turn on debugging output (see hw.ath.debug)
1120options		ATH_DIAGAPI	# diagnostic interface to the HAL
1121options		ATH_ENABLE_DFS
1122options		ATH_KTR_INTR_DEBUG
1123device		siba_bwn	# Sonic Inc. Silicon Backplane needed for bwn
1124options		SIBA_DEBUG	# turn on debugging output
1125device		bwn		# Broadcom BCM43xx NICs using v4 firmware
1126options		BWN_DEBUG	# turn on debugging output
1127options		BWN_RXRING_SLOTS=128	# number of RX slots to allocate
1128options		BWN_TXRING_SLOTS=128	# number of TX slots to allocate
1129device		iwi		# Intel PRO/Wireless 2200BG/2915ABG
1130device		iwm		# Intel Dual Band Wireless AC 316x/726x/826x
1131options		IWM_DEBUG	# turn on debugging output
1132device		iwn		# Intel WiFi Link 4965/1000/5000/5150/5300/6000/6050
1133options		IWN_DEBUG	# turn on debugging output
1134device		wi		# WaveLAN/IEEE, PRISM-II, Spectrum24 802.11DS
1135device		xe		# Xircom PCMCIA
1136device		ral		# Ralink Technology 802.11 wireless NIC
1137device		wpi
1138options		WPI_DEBUG	# turn on debugging output
1139
1140# IEEE 802.11 adapter firmware modules
1141
1142# iwifw:	Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware
1143# iwmfw		Intel Dual Band Wireless AC 3160/3165/3168/7260/7265/8260/8265
1144# iwnfw:	Intel WiFi Link 4965/1000/5000/5150/5300/6000/6050
1145# ralfw:	Ralink Technology RT25xx and RT26xx firmware
1146# wpifw:	Intel 3945ABG Wireless LAN Controller firmware
1147
1148device		iwifw
1149device		iwmfw
1150device		iwnfw
1151device		ralfw
1152device		wpifw
1153
1154# Bluetooth Protocols
1155device		bluetooth
1156
1157# Sound drivers
1158#
1159
1160# Basic sound card support:
1161device		sound
1162# For PCI sound cards:
1163device		"snd_als4000"
1164device		"snd_atiixp"
1165device		"snd_cmi"
1166device		"snd_cs4281"
1167device		"snd_emu10k1"
1168device		"snd_emu10kx"
1169device		"snd_envy24"
1170device		"snd_envy24ht"
1171device		"snd_es137x"
1172device		"snd_fm801"
1173device		"snd_hda"
1174device		"snd_hdspe"
1175device		"snd_ich"
1176device		"snd_maestro"
1177device		"snd_neomagic"
1178device		"snd_solo"
1179device		"snd_spicds"
1180device		"snd_t4dwave"
1181device		"snd_via8233"
1182device		"snd_via82c686"
1183device		"snd_vibes"
1184# USB
1185device		"snd_uaudio"
1186
1187#
1188# Following options are intended for debugging/testing purposes:
1189#
1190# SND_DEBUG                    Enable extra debugging code that includes
1191#                              sanity checking and possible increase of
1192#                              verbosity.
1193#
1194# SND_DIAGNOSTIC               Similar in a spirit of INVARIANTS/DIAGNOSTIC,
1195#                              zero tolerance against inconsistencies.
1196#
1197# SND_FEEDER_MULTIFORMAT       By default, only 16/32 bit feeders are compiled
1198#                              in. This options enable most feeder converters
1199#                              except for 8bit. WARNING: May bloat the kernel.
1200#
1201# SND_FEEDER_FULL_MULTIFORMAT  Ditto, but includes 8bit feeders as well.
1202#
1203# SND_FEEDER_RATE_HP           (feeder_rate) High precision 64bit arithmetic
1204#                              as much as possible (the default trying to
1205#                              avoid it). Possible slowdown.
1206#
1207# SND_OLDSTEREO                Only 2 channels are allowed, effectively
1208#                              disabling multichannel processing.
1209#
1210options		SND_DEBUG
1211#options		SND_DIAGNOSTIC
1212options		SND_FEEDER_MULTIFORMAT
1213options		SND_FEEDER_FULL_MULTIFORMAT
1214options		SND_FEEDER_RATE_HP
1215options		SND_OLDSTEREO
1216
1217#
1218# Miscellaneous hardware:
1219#
1220# bktr: Brooktree bt848/848a/849a/878/879 video capture and TV Tuner board
1221# coremctl: Intel Core/E3 memory controller (required by ecc(4) and memtemp(4))
1222# dimm: Location inforamtion (required by ecc(4) and memtemp(4))
1223# ecc: ECC memory controller
1224# ipmi: Intelligent Platform Management Interface
1225# joy: joystick
1226# nmdm: nullmodem terminal driver (see nmdm(4))
1227# tpm: Trusted Platform Module
1228
1229# Notes on the Specialix SI/XIO driver:
1230#  **This is NOT a Specialix supported Driver!**
1231#  The host card is memory, not IO mapped.
1232#  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
1233#  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
1234#  The cards can use an IRQ of 11, 12 or 15.
1235
1236device		coremctl
1237device		dimm
1238device		ecc
1239device		joy0	at isa? port IO_GAME
1240# nullmodem terminal driver
1241device		nmdm
1242device		tpm
1243options		TPM_HARVEST	# This options turns TPM into entropy source.
1244device		ipmi
1245
1246# The adw driver will attempt to use memory mapped I/O for all PCI
1247# controllers that have it configured only if this option is set.
1248options 	ADW_ALLOW_MEMIO
1249
1250#
1251# PCI devices & PCI options:
1252#
1253# The main PCI bus device is `pci'.  It provides auto-detection and
1254# configuration support for all devices on the PCI bus, using either
1255# configuration mode defined in the PCI specification.
1256
1257device		pci
1258
1259# AGP GART support
1260#
1261device		agp
1262
1263#
1264# AGP debugging.
1265#
1266options                AGP_DEBUG
1267
1268# The `amd' device provides support for the AMD 53C974 SCSI host
1269# adapter chip as found on devices such as the Tekram DC-390(T).
1270#
1271# The `bge' device provides support for gigabit ethernet adapters
1272# based on the Broadcom BCM570x family of controllers, including the
1273# 3Com 3c996-T, the Netgear GA302T, the SysKonnect SK-9D21 and SK-9D41,
1274# and the embedded gigE NICs on Dell PowerEdge 2550 servers.
1275#
1276# The `ncr' device provides support for the NCR 53C810 and 53C825
1277# self-contained SCSI host adapters.
1278#
1279# The `isp' device provides support for the Qlogic ISP 1020, 1040
1280# nd 1040B PCI SCSI host adapters, ISP 1240 Dual Ultra SCSI,
1281# ISP 1080 and 1280 (Dual) Ultra2, ISP 12160 Ultra3 SCSI, as well as
1282# the Qlogic ISP 2100 and ISP 2200 Fibre Channel Host Adapters.
1283#
1284# The `dc' device provides support for PCI fast ethernet adapters
1285# based on the DEC/Intel 21143 and various workalikes including:
1286# the ADMtek AL981 Comet and AN985 Centaur, the ASIX Electronics
1287# AX88140A and AX88141, the Davicom DM9100 and DM9102, the Lite-On
1288# 82c168 and 82c169 PNIC, the Lite-On/Macronix LC82C115 PNIC II
1289# and the Macronix 98713/98713A/98715/98715A/98725 PMAC. This driver
1290# replaces the old al, ax, dm, pn and mx drivers.  List of brands:
1291# Digital DE500-BA, Kingston KNE100TX, D-Link DFE-570TX, SOHOware SFA110,
1292# SVEC PN102-TX, CNet Pro110B, 120A, and 120B, Compex RL100-TX,
1293# LinkSys LNE100TX, LNE100TX V2.0, Jaton XpressNet, Alfa Inc GFC2204,
1294# KNE110TX.
1295#
1296# The `de' device provides support for the Digital Equipment DC21040
1297# self-contained Ethernet adapter.
1298#
1299# The `em' device provides support for the Intel Pro/1000 Family of Gigabit
1300# adapters (82542, 82543, 82544, 82540).
1301#
1302# The `et' device provides support for the Agere ET1310 10/100/1000 PCIe
1303# adapters.
1304#
1305# The `fxp' device provides support for the Intel EtherExpress Pro/100B
1306# PCI Fast Ethernet adapters.
1307#
1308# The 'lge' device provides support for PCI gigabit ethernet adapters
1309# based on the Level 1 LXT1001 NetCellerator chipset. This includes the
1310# D-Link DGE-500SX, SMC TigerCard 1000 (SMC9462SX), and some Addtron cards.
1311#
1312# The 'my' device provides support for the Myson MTD80X and MTD89X PCI
1313# Fast Ethernet adapters.
1314#
1315# The 'nge' device provides support for PCI gigabit ethernet adapters
1316# based on the National Semiconductor DP83820 and DP83821 chipset. This
1317# includes the SMC EZ Card 1000 (SMC9462TX), D-Link DGE-500T, Asante
1318# FriendlyNet GigaNIX 1000TA and 1000TPC, the Addtron AEG320T, the
1319# LinkSys EG1032 and EG1064, the Surecom EP-320G-TX and the Netgear GA622T.
1320#
1321# The 'oce' device provides support for Emulex 10 Gbit adapters
1322# (OneConnect Ethernet).
1323#
1324# The 'pcn' device provides support for PCI fast ethernet adapters based
1325# on the AMD Am79c97x chipsets, including the PCnet/FAST, PCnet/FAST+,
1326# PCnet/PRO and PCnet/Home. These were previously handled by the lnc
1327# driver (and still will be if you leave this driver out of the kernel).
1328#
1329# Te 're' device provides support for PCI GigaBit ethernet adapters based
1330# on the RealTek 8169 chipset. It also supports the 8139C+ and is the
1331# preferred driver for that chip.
1332#
1333# The 'rl' device provides support for PCI fast ethernet adapters based
1334# on the RealTek 8129/8139 chipset. Note that the RealTek driver defaults
1335# to using programmed I/O to do register accesses because memory mapped
1336# mode seems to cause severe lockups on SMP hardware. This driver also
1337# supports the Accton EN1207D `Cheetah' adapter, which uses a chip called
1338# the MPX 5030/5038, which is either a RealTek in disguise or a RealTek
1339# workalike.  Note that the D-Link DFE-530TX+ uses the RealTek chipset
1340# and is supported by this driver, not the 'vr' driver.
1341#
1342# The 'sf' device provides support for Adaptec Duralink PCI fast
1343# ethernet adapters based on the Adaptec AIC-6915 "starfire" controller.
1344# This includes dual and quad port cards, as well as one 100baseFX card.
1345# Most of these are 64-bit PCI devices, except for one single port
1346# card which is 32-bit.
1347#
1348# The 'ste' device provides support for adapters based on the Sundance
1349# Technologies ST201 PCI fast ethernet controller. This includes the
1350# D-Link DFE-550TX.
1351#
1352# The 'sis' device provides support for adapters based on the Silicon
1353# Integrated Systems SiS 900 and SiS 7016 PCI fast ethernet controller
1354# chips.
1355#
1356# The 'sk' device provides support for the SysKonnect SK-984x series
1357# PCI gigabit ethernet NICs. This includes the SK-9841 and SK-9842
1358# single port cards (single mode and multimode fiber) and the
1359# SK-9843 and SK-9844 dual port cards (also single mode and multimode).
1360# The driver will autodetect the number of ports on the card and
1361# attach each one as a separate network interface.
1362#
1363# The 'ti' device provides support for PCI gigabit ethernet NICs based
1364# on the Alteon Networks Tigon 1 and Tigon 2 chipsets. This includes the
1365# Alteon AceNIC, the 3Com 3c985, the Netgear GA620 and various others.
1366# Note that you will probably want to bump up NMBCLUSTERS a lot to use
1367# this driver.
1368#
1369# The 'tl' device provides support for the Texas Instruments TNETE100
1370# series 'ThunderLAN' cards and integrated ethernet controllers. This
1371# includes several Compaq Netelligent 10/100 cards and the built-in
1372# ethernet controllers in several Compaq Prosignia, Proliant and
1373# Deskpro systems. It also supports several Olicom 10Mbps and 10/100
1374# boards.
1375#
1376# The `tx' device provides support for the SMC 9432 TX, BTX and FTX cards.
1377#
1378# The `txp' device provides support for the 3Com 3cR990 "Typhoon"
1379# 10/100 adapters.
1380#
1381# The `vr' device provides support for various fast ethernet adapters
1382# based on the VIA Technologies VT3043 `Rhine I' and VT86C100A `Rhine II'
1383# chips, including the D-Link DFE530TX (see 'rl' for DFE530TX+), the Hawking
1384# Technologies PN102TX, and the AOpen/Acer ALN-320.
1385#
1386# The `wb' device provides support for various fast ethernet adapters
1387# based on the Winbond W89C840F chip. Note: this is not the same as
1388# the Winbond W89C940F, which is an NE2000 clone.
1389#
1390# The `xl' device provides support for the 3Com 3c900, 3c905 and
1391# 3c905B (Fast) Etherlink XL cards and integrated controllers. This
1392# includes the integrated 3c905B-TX chips in certain Dell Optiplex and
1393# Dell Precision desktop machines and the integrated 3c905-TX chips
1394# in Dell Latitude laptop docking stations.
1395#
1396# The 'bktr' device is a PCI video capture device using the Brooktree
1397# bt848/bt848a/bt849a/bt878/bt879 chipset. When used with a TV Tuner it forms a
1398# TV card, eg Miro PC/TV, Hauppauge WinCast/TV WinTV, VideoLogic Captivator,
1399# Intel Smart Video III, AverMedia, IMS Turbo, FlyVideo.
1400#
1401# options 	OVERRIDE_CARD=xxx
1402# options 	OVERRIDE_TUNER=xxx
1403# options 	OVERRIDE_MSP=1
1404# options 	OVERRIDE_DBX=1
1405# These options can be used to override the auto detection
1406# The current values for xxx are found in src/sys/dev/video/bktr/bktr_card.h
1407# Using sysctl(8) run-time overrides on a per-card basis can be made
1408#
1409# options 	BKTR_SYSTEM_DEFAULT=BROOKTREE_PAL
1410# or
1411# options 	BKTR_SYSTEM_DEFAULT=BROOKTREE_NTSC
1412# Specifies the default video capture mode.
1413# This is required for Dual Crystal (28&35Mhz) boards where PAL is used
1414# to prevent hangs during initialisation.  eg VideoLogic Captivator PCI.
1415#
1416# options 	BKTR_USE_PLL
1417# PAL or SECAM users who have a 28Mhz crystal (and no 35Mhz crystal)
1418# must enable PLL mode with this option. eg some new Bt878 cards.
1419#
1420# options 	BKTR_GPIO_ACCESS
1421# This enable IOCTLs which give user level access to the GPIO port.
1422#
1423# options 	BKTR_NO_MSP_RESET
1424# Prevents the MSP34xx reset. Good if you initialise the MSP in another OS first
1425#
1426# options 	BKTR_430_FX_MODE
1427# Switch Bt878/879 cards into Intel 430FX chipset compatibility mode.
1428#
1429# options 	BKTR_SIS_VIA_MODE
1430# Switch Bt878/879 cards into SIS/VIA chipset compatibility mode which is
1431# needed for some old SiS and VIA chipset motherboards.
1432# This also allows Bt878/879 chips to work on old OPTi (<1997) chipset
1433# motherboards and motherboards with bad or incomplete PCI 2.1 support.
1434# As a rough guess, old = before 1998
1435#
1436# options 	BKTR_NEW_MSP34XX_DRIVER
1437# Use new, more complete initialization scheme for the msp34* soundchip.
1438# Should fix stereo autodetection if the old driver does only output
1439# mono sound.
1440#
1441# options	BKTR_OVERRIDE_CARD=xxx
1442# options	BKTR_OVERRIDE_DBX=xxx
1443# options	BKTR_OVERRIDE_MSP=xxx
1444# options	BKTR_OVERRIDE_TUNER=xxx
1445# These options can be used to select a specific device, regardless of
1446# the autodetection and i2c device checks (see comments in bktr_card.c).
1447#
1448device		amd		# AMD 53C974 (Tekram DC-390(T))
1449device		isp		# Qlogic family
1450device		ispfw		# Firmware for QLogic HBAs
1451device		mpr		# LSI-Logic MPT-Fusion 3
1452device		mps		# LSI-Logic MPT-Fusion 2
1453device		mpt		# LSI '909 FC adapters
1454device		ncr		# NCR/Symbios Logic
1455device		sym		# NCR/Symbios Logic (newer chipsets)
1456device		trm		# Tekram DC395U/UW/F and DC315U
1457#
1458# Options for ISP
1459#
1460#	ISP_TARGET_MODE		-	enable target mode operation
1461#options 	ISP_TARGET_MODE=1
1462
1463# Options used in dev/disk/sym/ (Symbios SCSI driver).
1464#options 	SYM_SETUP_LP_PROBE_MAP	#-Low Priority Probe Map (bits)
1465					# Allows the ncr to take precedence
1466					# 1 (1<<0) -> 810a, 860
1467					# 2 (1<<1) -> 825a, 875, 885, 895
1468					# 4 (1<<2) -> 895a, 896, 1510d
1469#options 	SYM_SETUP_SCSI_DIFF	#-HVD support for 825a, 875, 885
1470					# disabled:0 (default), enabled:1
1471#options 	SYM_SETUP_PCI_PARITY	#-PCI parity checking
1472					# disabled:0, enabled:1 (default)
1473#options 	SYM_SETUP_MAX_LUN	#-Number of LUNs supported
1474					# default:8, range:[1..64]
1475
1476
1477# MII bus support is required for some PCI 10/100 ethernet NICs,
1478# namely those which use MII-compliant transceivers or implement
1479# transceiver control interfaces that operate like an MII. Adding
1480# "device miibus0" to the kernel config pulls in support for
1481# the generic miibus API and all of the PHY drivers, including a
1482# generic one for PHYs that aren't specifically handled by an
1483# individual driver.
1484device		miibus
1485
1486# PCI Ethernet NICs that use the common MII bus controller code.
1487device		ae		# Attansic/Atheros L2 Fast Ethernet
1488device		alc		# Atheros AR8131/AR8132
1489device		ale		# Atheros AR8121/AR8113/AR8114
1490device		age		# Attansic/Atheros L1 Gigabit Ethernet
1491device		bce		# Broadcom NetXtreme II Gigabit Ethernet
1492device		bfe		# Broadcom BCM440x 10/100 Ethernet
1493device		bnx		# Broadcom NetXtreme 5718/57785 Gigabit Ethernet
1494device		dc		# DEC/Intel 21143 and various workalikes
1495device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
1496device		my		# Myson Fast Ethernet (MTD80X, MTD89X)
1497device		pcn		# AMD Am79C97x PCI 10/100 NICs
1498device		re		# RealTek 8139C+/8169
1499device		rl		# RealTek 8129/8139
1500device		sbsh		# Granch SBNI16 SHDSL modem
1501device		sf		# Adaptec AIC-6915 (``Starfire'')
1502device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
1503device		ste		# Sundance ST201 (D-Link DFE-550TX)
1504device		tl		# Texas Instruments ThunderLAN
1505device		tx		# SMC EtherPower II (83c17x ``EPIC'')
1506device		vge		# VIA 612x GigE
1507device		vr		# VIA Rhine, Rhine II
1508device		wb		# Winbond W89C840F
1509device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
1510
1511# PCI Ethernet NICs.
1512device		de		# DEC/Intel DC21x4x (``Tulip'')
1513device		txp		# 3Com 3cR990 (``Typhoon'')
1514
1515# Gigabit Ethernet NICs.
1516device		bge		# Broadcom BCM570x (``Tigon III'')
1517device		em		# Intel Pro/1000 (8254x,8257x)
1518				# Requires ig_hal
1519device		emx		# Intel Pro/1000 (8257{1,2,3,4})
1520				# Requires ig_hal
1521device		igb		# Intel Pro/1000 (82575, 82576, 82580, i350)
1522				# Requires ig_hal
1523device		ig_hal		# Intel Pro/1000 hardware abstraction layer
1524device		ix		# Intel PRO/10GbE PCIE Ethernet Family
1525device		et		# Agere ET1310 10/100/1000 Ethernet
1526device		lge		# Level 1 LXT1001 (``Mercury'')
1527device		mxge		# Myricom Myri-10G 10GbE NIC
1528device		mxgefw		# Firmware for Myricom Myri-10G 10GbE NIC
1529device		nfe		# nVidia nForce2/3 MCP04/51/55 CK804
1530device		nge		# NatSemi DP83820 and DP83821
1531device		oce		# Emulex 10 GbE (OneConnect Ethernet)
1532device		sk		# SysKonnect GEnesis, LinkSys EG1023, D-Link
1533device		ti		# Alteon (``Tigon I'', ``Tigon II'')
1534device		stge		# Sundance/Tamarack TC9021 Gigabit Ethernet
1535device		msk		# Marvell/SysKonnect Yukon II Gigabit Ethernet
1536device		jme		# JMicron Gigabit/Fast Ethernet
1537
1538# Brooktree driver has been ported to the new I2C framework. Thus,
1539# you'll need to have the following 3 lines in the kernel config.
1540#     device smbus
1541#     device iicbus
1542#     device iicbb
1543# The iic and smb devices are only needed if you want to control other
1544# I2C slaves connected to the external connector of some cards.
1545#
1546device		bktr
1547options 	BKTR_NEW_MSP34XX_DRIVER
1548
1549# WinTV PVR-250/350 driver
1550device		cxm
1551
1552#
1553# PCCARD/PCMCIA
1554#
1555# pccard: pccard slots
1556# cardbus/cbb: cardbus bridge
1557device		pccard
1558device		cardbus
1559device		cbb
1560
1561#
1562# MMC/SD
1563#
1564# mmc 		MMC/SD bus
1565# mmcsd		MMC/SD memory card
1566# sdhci		Generic PCI SD Host Controller
1567#
1568device		mmc
1569device		mmcsd
1570device		sdhci
1571
1572#
1573# SMB bus
1574#
1575# System Management Bus support is provided by the 'smbus' device.
1576# Access to the SMBus device is via the 'smb' device (/dev/smb*),
1577# which is a child of the 'smbus' device.
1578#
1579# Supported devices:
1580# smb		standard io through /dev/smb*
1581#
1582# ACPI support:
1583# smbacpi	support for ACPI I2cSerialBus resources
1584#
1585# Supported SMB interfaces:
1586# iicsmb	I2C to SMB bridge with any iicbus interface
1587# bktr		brooktree848 I2C hardware interface
1588# intpm		Intel PIIX4 (82371AB, 82443MX) Power Management Unit
1589# alpm		Acer Aladdin-IV/V/Pro2 Power Management Unit
1590# ichiic	Intel generation 4 I2C controller
1591# ichsmb	Intel ICH SMBus controller chips (82801AA, 82801AB, 82801BA)
1592# viapm		VIA VT82C586B,596,686A and VT8233 SMBus controllers
1593# amdpm		AMD 756 Power Management Unit
1594# amdsmb	AMD 8111 SMBus 2.0 Controller
1595#
1596device		smbus		# Bus support, required for smb below.
1597
1598device		intpm
1599device		alpm
1600device		ichiic
1601device		ichsmb
1602device		viapm
1603device		amdpm
1604device		amdsmb
1605
1606device		smb
1607
1608device		smbacpi
1609
1610#
1611# I2C Bus
1612#
1613# Philips i2c bus support is provided by the `iicbus' device.
1614#
1615# Supported devices:
1616# ic	i2c network interface
1617# iic	i2c standard io
1618# iicsmb i2c to smb bridge. Allow i2c i/o with smb commands.
1619#
1620# Supported interfaces:
1621# pcf	Philips PCF8584 ISA-bus controller
1622# bktr	brooktree848 I2C software interface
1623#
1624# Other:
1625# iicbb	generic I2C bit-banging code (needed by lpbb, bktr)
1626#
1627device		iicbus		# Bus support, required for ic/iic/iicsmb below.
1628device		iicbb
1629
1630device		ic
1631device		iic
1632device		iicsmb		# smb over i2c bridge
1633
1634device		pcf0	at isa? port 0x320 irq 5
1635
1636# Intel performance-energy bias
1637device		perfbias
1638
1639# Intel software controlled clock modulation
1640device		clockmod
1641
1642# Intel Sandy Bridge and newer CPUs power usage estimation
1643device		corepower
1644
1645# amdtemp: On-die sensor on AMD K8/K10/K11 CPUs
1646# coretemp: Intel Core and newer CPUs on-die digital thermal sensor support
1647device		amdtemp
1648device		coretemp
1649
1650# Generic panel backlight support
1651device		backlight
1652
1653# Memory thermal sensor
1654device		memtemp
1655
1656# CPU control pseudo-device. Provides access to MSRs, CPUID info and
1657# microcode update feature.
1658device		cpuctl
1659
1660#
1661# AMD System Management Network (SMN)
1662#
1663device		amdsmn
1664
1665# Effective CPU frequency interface via APERF/MPERF MSRs
1666device		aperf
1667
1668# AMD Family 0Fh, 10h and 11h temperature sensors
1669device		kate
1670device		km
1671
1672# ThinkPad Active Protection System accelerometer
1673device		aps0	at isa? port 0x1600
1674
1675# HW monitoring devices lm(4), it(4) and nsclpcsio.
1676device		lm0	at isa? port 0x290
1677device		it0	at isa? port 0x290
1678device		it1	at isa? port 0xc00
1679device		it2	at isa? port 0xd00
1680device		it3	at isa?	port 0x228
1681device		nsclpcsio0 at isa? port 0x2e
1682device		nsclpcsio1 at isa? port 0x4e
1683device		wbsio0	at isa? port 0x2e
1684device		wbsio1	at isa? port 0x4e
1685device		uguru0	at isa? port 0xe0	# ABIT uGuru
1686
1687# EFI Runtime Services support (not functional yet).
1688options 	EFIRT
1689
1690# Parallel-Port Bus
1691#
1692# Parallel port bus support is provided by the `ppbus' device.
1693# Multiple devices may be attached to the parallel port, devices
1694# are automatically probed and attached when found.
1695#
1696# Supported devices:
1697# vpo	Iomega Zip Drive
1698#	Requires SCSI disk support ('scbus' and 'da'); the best
1699#	performance is achieved with ports in EPP 1.9 mode.
1700# lpt	Parallel Printer
1701# plip	Parallel network interface
1702# ppi	General-purpose I/O ("Geek Port") + IEEE1284 I/O
1703# pps	Pulse per second Timing Interface
1704# lpbb	Philips official parallel port I2C bit-banging interface
1705#
1706# Supported interfaces:
1707# ppc	ISA-bus parallel port interfaces.
1708#
1709
1710options 	PPC_PROBE_CHIPSET # Enable chipset specific detection
1711				  # (see flags in ppc(4))
1712options 	DEBUG_1284	# IEEE1284 signaling protocol debug
1713options 	PERIPH_1284	# Makes your computer act as an IEEE1284
1714				# compliant peripheral
1715options 	DONTPROBE_1284	# Avoid boot detection of PnP parallel devices
1716options 	VP0_DEBUG	# ZIP/ZIP+ debug
1717options 	LPT_DEBUG	# Printer driver debug
1718options 	PPC_DEBUG=2	# Parallel chipset level debug
1719options 	PLIP_DEBUG	# Parallel network IP interface debug
1720options 	PCFCLOCK_VERBOSE         # Verbose pcfclock driver
1721options 	PCFCLOCK_MAX_RETRIES=5   # Maximum read tries (default 10)
1722
1723device		ppc0	at isa? irq 7
1724device		ppbus
1725device		vpo
1726device		lpt
1727device		plip
1728device		ppi
1729device		pps
1730device		lpbb
1731device		pcfclock
1732
1733# Kernel BOOTP support
1734
1735options 	BOOTP		# Use BOOTP to obtain IP address/hostname
1736options 	BOOTP_NFSROOT	# NFS mount root filesystem using BOOTP info
1737options 	BOOTP_COMPAT	# Workaround for broken bootp daemons.
1738options 	BOOTP_WIRED_TO=fxp0 # Use interface fxp0 for BOOTP
1739
1740# Disable swapping. This option removes all code which actually performs
1741# swapping, so it's not possible to turn it back on at run-time.
1742#
1743# This is sometimes usable for systems which don't have any swap space
1744# (see also sysctls "vm.defer_swapspace_pageouts" and
1745# "vm.disable_swapspace_pageouts")
1746#
1747#options 	NO_SWAPPING
1748
1749# Set the size of the buffer cache KVM reservation, in buffers.  This is
1750# scaled by approximately 16384 bytes.  The system will auto-size the buffer
1751# cache if this option is not specified.
1752#
1753options 	NBUF=512
1754
1755# Set the size of the mbuf KVM reservation, in clusters.  This is scaled
1756# by approximately 2048 bytes.  The system will auto-size the mbuf area
1757# to (512 + maxusers*16) if this option is not specified.
1758# maxusers is in turn computed at boot time depending on available memory
1759# or set to the value specified by "options MAXUSERS=x" (x=0 means
1760# autoscaling).
1761# So, to take advantage of autoscaling, you have to remove both
1762# NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.
1763#
1764options 	NMBCLUSTERS=1024
1765
1766# Set the number of mbufs available in the system. Each mbuf
1767# consumes 256 bytes. The system will autosize this (to 4 times
1768# the number of NMBCLUSTERS, depending on other constraints)
1769# if this option is not specified.
1770#
1771options 	NMBUFS=4096
1772
1773# Tune the buffer cache maximum KVA reservation, in bytes.  The maximum is
1774# usually capped at 200 MB, effecting machines with > 1GB of ram.  Note
1775# that the buffer cache only really governs write buffering and disk block
1776# translations.  The VM page cache is our primary disk cache and is not
1777# effected by the size of the buffer cache.
1778#
1779options 	VM_BCACHE_SIZE_MAX="(100*1024*1024)"
1780
1781# Tune the swap zone KVA reservation, in bytes.  The default is typically
1782# 70 MB, giving the system the ability to manage a maximum of 28GB worth
1783# of swapped out data.
1784#
1785options 	VM_SWZONE_SIZE_MAX="(50*1024*1024)"
1786
1787#
1788# Enable extra debugging code for locks.  This stores the filename and
1789# line of whatever acquired the lock in the lock itself, and change a
1790# number of function calls to pass around the relevant data.  This is
1791# not at all useful unless you are debugging lock code.  Also note
1792# that it is likely to break e.g. fstat(1) unless you recompile your
1793# userland with -DDEBUG_LOCKS as well.
1794#
1795# DEBUG_LOCKS_LATENCY adds a sysctl to add a forced latency loop
1796# (count to N) in front of any spinlock or gettoken.
1797#
1798options 	DEBUG_LOCKS
1799options		DEBUG_LOCKS_LATENCY
1800
1801# Set the amount of time (in seconds) the system will wait before
1802# rebooting automatically when a kernel panic occurs.  If set to (-1),
1803# the system will wait indefinitely until a key is pressed on the
1804# console.
1805options 	PANIC_REBOOT_WAIT_TIME=16
1806
1807# Specify a lower limit for the number of swap I/O buffers.
1808#
1809options		NSWBUF_MIN=120
1810
1811# The 'asr' driver provides support for current DPT/Adaptec SCSI RAID
1812# controllers (SmartRAID V and VI and later).
1813# These controllers require the CAM infrastructure.
1814#
1815device		asr
1816
1817# The 'dpt' driver provides support for DPT controllers (http://www.dpt.com/).
1818# These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
1819# The DPT controllers are commonly re-licensed under other brand-names -
1820# some controllers by Olivetti, Dec, HP, AT&T, SNI, AST, Alphatronic, NEC and
1821# Compaq are actually DPT controllers.
1822#
1823# See src/sys/dev/raid/dpt for debugging and other subtle options.
1824#   DPT_MEASURE_PERFORMANCE Enables a set of (semi)invasive metrics. Various
1825#                           instruments are enabled.  The tools in
1826#                           /usr/sbin/dpt_* assume these to be enabled.
1827#   DPT_HANDLE_TIMEOUTS     Normally device timeouts are handled by the DPT.
1828#                           If you ant the driver to handle timeouts, enable
1829#                           this option.  If your system is very busy, this
1830#                           option will create more trouble than solve.
1831#   DPT_TIMEOUT_FACTOR      Used to compute the excessive amount of time to
1832#                           wait when timing out with the above option.
1833#  DPT_DEBUG_xxxx           These are controllable from sys/dev/raid/dpt/dpt.h
1834#  DPT_LOST_IRQ             When enabled, will try, once per second, to catch
1835#                           any interrupt that got lost.  Seems to help in some
1836#                           DPT-firmware/Motherboard combinations.  Minimal
1837#                           cost, great benefit.
1838#  DPT_RESET_HBA            Make "reset" actually reset the controller
1839#                           instead of fudging it.  Only enable this if you
1840#			    are 100% certain you need it.
1841
1842device		dpt
1843
1844# DPT options
1845#!CAM# options 	DPT_MEASURE_PERFORMANCE
1846#!CAM# options 	DPT_HANDLE_TIMEOUTS
1847options 	DPT_TIMEOUT_FACTOR=4
1848options 	DPT_LOST_IRQ
1849options 	DPT_RESET_HBA
1850
1851#
1852# Compaq "CISS" RAID controllers (SmartRAID 5* series)
1853# These controllers have a SCSI-like interface, and require the
1854# CAM infrastructure.
1855#
1856device		ciss
1857
1858#
1859# Intel Integrated RAID controllers.
1860# This driver is supported and maintained by
1861# "Leubner, Achim" <Achim_Leubner@adaptec.com>.
1862#
1863device          iir
1864
1865#
1866# Mylex AcceleRAID and eXtremeRAID controllers with v6 and later
1867# firmware.  These controllers have a SCSI-like interface, and require
1868# the CAM infrastructure.
1869#
1870device          mly
1871
1872# USB support
1873#
1874
1875# UHCI controller
1876device		uhci
1877# OHCI controller
1878device		ohci
1879# EHCI controller
1880device		ehci
1881# XHCI controller
1882device		xhci
1883# General USB code (mandatory for USB)
1884device		usb
1885# Human Interface Device (anything with buttons and dials)
1886device		uhid
1887# USB keyboard
1888device		ukbd
1889# USB printer
1890device		ulpt
1891# USB mass storage (Requires scbus and da)
1892device		umass
1893# USB mass storage driver for device-side mode
1894device		usfs
1895# USB modem support
1896device		umodem
1897# USB mouse
1898device		ums
1899# USB touchpad(s)
1900device		wsp
1901# eGalax USB touch screen
1902device		uep
1903# Diamond Rio 500 MP3 player
1904device		urio
1905# USB com devices
1906device		"u3g"
1907device		uark
1908device		ubsa
1909device		ubser
1910device		uchcom
1911device		ucom
1912device		ucycom
1913device		ufoma
1914device		uftdi
1915device		ugensa
1916device		uipaq
1917device		umcs
1918device		umct
1919device		umoscom
1920device		uplcom
1921device		uslcom
1922device		uvisor
1923device		uvscom
1924
1925#
1926# USB ethernet support
1927device		uether
1928#
1929# ADMtek USB ethernet. Supports the LinkSys USB100TX,
1930# the Billionton USB100, the Melco LU-ATX, the D-Link DSB-650TX
1931# and the SMC 2202USB. Also works with the ADMtek AN986 Pegasus
1932# eval board.
1933device		aue
1934#
1935# ASIX Electronics AX88172 USB 2.0 ethernet driver. Used in the
1936# LinkSys USB200M and various other adapters.
1937device		axe
1938#
1939# ASIX Electronics AX88178A/AX88179 USB 2.0/3.0 gigabit ethernet driver.
1940device		axge
1941#
1942# Devices which communicate using Ethernet over USB, particularly
1943# Communication Device Class (CDC) Ethernet specification. Supports
1944# Sharp Zaurus PDAs, some DOCSIS cable modems and so on.
1945device		cdce
1946#
1947# CATC USB-EL1201A USB ethernet. Supports the CATC Netmate
1948# and Netmate II, and the Belkin F5U111.
1949device		cue
1950#
1951# USB Apple iPhone/iPad tethered Ethernet driver
1952device		ipheth
1953#
1954# Kawasaki LSI ethernet. Supports the LinkSys USB10T,
1955# Entrega USB-NET-E45, Peracom Ethernet Adapter, the
1956# 3Com 3c19250, the ADS Technologies USB-10BT, the ATen UC10T,
1957# the Netgear EA101, the D-Link DSB-650, the SMC 2102USB
1958# and 2104USB, and the Corega USB-T.
1959device		kue
1960#
1961# Moschip MCS7730/MCS7840 USB to fast ethernet. Supports the Sitecom LN030.
1962device		mos
1963#
1964# Davicom DM9601E USB to fast ethernet. Supports the Corega FEther USB-TXC.
1965device		udav
1966
1967# USB wireless NICs, requires wlan_amrr
1968#
1969# Ralink Technology RT2501USB/RT2601USB
1970device		rum
1971#
1972# Ralink Technology RT2700U/RT2800U/RT3000U wireless driver
1973device		run
1974device		runfw
1975#
1976# RNDIS USB ethernet driver
1977device		urndis
1978#
1979# Realtek RTL8188CU/RTL8192CU wireless driver
1980device		urtwn
1981device		urtwnfw
1982#options		URTWN_WITHOUT_UCODE
1983
1984# Fm Radio
1985#
1986device		ufm
1987
1988# Templates for programming USB device side drivers
1989#
1990device		usb_template
1991
1992# debugging options for the USB subsystem
1993#
1994options 	USB_DEBUG
1995
1996# options for ukbd:
1997options 	UKBD_DFLT_KEYMAP	# specify the built-in keymap
1998makeoptions	UKBD_DFLT_KEYMAP=it.iso
1999
2000# Firewire support
2001device		firewire	# Firewire bus code
2002device		sbp		# SCSI over Firewire (Requires scbus and da)
2003device		fwe		# Ethernet over Firewire (non-standard!)
2004
2005# dcons support (Dumb Console Device)
2006device		dcons			# dumb console driver
2007device		dcons_crom		# FireWire attachment
2008options		DCONS_BUF_SIZE=16384	# buffer size
2009options		DCONS_POLL_HZ=100	# polling rate
2010options		DCONS_FORCE_CONSOLE=1	# force to be the primary console
2011options		DCONS_FORCE_GDB=1	# force to be the gdb device
2012
2013#####################################################################
2014# crypto subsystem
2015#
2016# This is a port of the openbsd crypto framework.  Include this when
2017# you have a h/w crypto device to accelerate user applications that
2018# link to openssl.
2019#
2020# Drivers are ports from openbsd with some simple enhancements that have
2021# been fed back to openbsd (and hopefully will be included).
2022
2023device		crypto		# core crypto support
2024device		cryptodev	# /dev/crypto for access to h/w
2025
2026device		rndtest		# FIPS 140-2 entropy tester
2027
2028device		hifn		# Hifn 7951, 7781, etc.
2029options		HIFN_DEBUG	# enable debugging support: hw.hifn.debug
2030#options	HIFN_NO_RNG	# for devices without RNG
2031options		HIFN_RNDTEST	# enable rndtest support
2032
2033device		safe		# SafeNet 1141
2034options 	SAFE_DEBUG	# enable debugging support: hw.safe.debug
2035#options	SAFE_NO_RNG	# for devices without RNG
2036options 	SAFE_RNDTEST	# enable rndtest support
2037
2038device		ubsec		# Broadcom 5501, 5601, 58xx
2039options		UBSEC_DEBUG	# enable debugging support: hw.ubsec.debug
2040#options	UBSEC_NO_RNG	# for devices without RNG
2041options		UBSEC_RNDTEST	# enable rndtest support
2042
2043device		aesni		# hardware crypto/RNG for AES-NI
2044device		padlock		# hardware crypto/RNG for VIA C3/C7/Eden
2045device		rdrand		# hardware RNG for RdRand
2046
2047#
2048# ACPI support using the Intel ACPI Component Architecture reference
2049# implementation.
2050#
2051# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
2052# kernel environment variables to select initial debugging levels for the
2053# Intel ACPICA code.
2054
2055device		acpi
2056options 	ACPI_DEBUG
2057
2058# ACPI WMI Mapping driver
2059device		acpi_wmi
2060
2061# ACPI Asus Extras (LCD backlight/brightness, video output, etc.)
2062device		acpi_asus
2063
2064# ACPI Fujitsu Extras (Buttons)
2065device		acpi_fujitsu
2066
2067# ACPI extras driver for HP laptops
2068device		acpi_hp
2069
2070# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.)
2071device		acpi_panasonic
2072
2073# ACPI pvpanic driver for virtual machines running in Qemu
2074device		acpi_pvpanic
2075
2076# ACPI Sony extra (LCD brightness)
2077device		acpi_sony
2078
2079# ACPI extras driver for ThinkPad laptops
2080device		acpi_thinkpad
2081
2082# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.)
2083device		acpi_toshiba
2084
2085# ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
2086device		acpi_video
2087
2088# ACPI Docking Station
2089device		acpi_dock
2090
2091device		aibs		# ASUSTeK AI Booster (ACPI ASOC ATK0110)
2092
2093# DRM options:
2094# drm:		General DRM code
2095# i915:		Intel integrated GPUs, starting from the 830M family
2096# radeon:	ATI/AMD Radeon cards
2097#
2098# DRM_DEBUG:	include debug printfs, very slow
2099#
2100# DRM requires AGP in the kernel.
2101#
2102# Also you'll need to have the following 3 lines in the kernel config.
2103#	device acpi
2104#	device iicbus
2105#	device iicbb
2106
2107device		drm
2108
2109# For testing and debugging.
2110device		"i915"
2111device		radeon
2112
2113options 	DRM_DEBUG
2114options		VGA_SWITCHEROO
2115
2116#
2117# Misc devices
2118#
2119device		cmx		# Omnikey CardMan 4040 smartcard reader
2120device		amdsbwd		# AMD South Bridge watchdog
2121device		gpio		# Enable support for the gpio framework
2122device		ichwd		# Intel ICH watchdog interrupt timer
2123device		tbridge		# regression testing
2124
2125#
2126# Amazon EC2 support
2127#
2128device		ena
2129
2130#
2131# Hyper-V support
2132#
2133device		vmbus
2134
2135#
2136# Virtio support
2137#
2138device		virtio		# Generic VirtIO bus/PCI interface (required)
2139device		virtio_balloon	# VirtIO Memory Balloon device
2140device		virtio_blk	# VirtIO Block device
2141device		virtio_random	# VirtIO Entropy device
2142device		virtio_scsi	# VirtIO SCSI device
2143device		vtnet		# VirtIO Ethernet device
2144
2145# VMware support
2146#
2147device		pvscsi		# VMware PVSCSI
2148options		PVSCSI_DEBUG_LOGGING
2149device		vmx		# VMware VMXNET3 Ethernet
2150
2151#
2152# Gpio support for ACPI based SoC platforms
2153#
2154device		gpio_acpi
2155device		gpio_intel	# GPIO support for Intel SoCs
2156
2157#
2158# Embedded system options:
2159#
2160# An embedded system might want to run something other than init.
2161options 	INIT_PATH="/sbin/init:/sbin/oinit"
2162
2163# Debug options
2164options 	BUS_DEBUG       # enable newbus debugging
2165options		RSS_DEBUG	# enable RSS (Receive Side Scaling) debugging
2166
2167# Record the program counter of the code interrupted by the statistics
2168# clock interrupt.  Use pctrack(8) to dump this information.
2169options		DEBUG_PCTRACK
2170
2171# evdev interface
2172device		evdev		# input event device support
2173options		EVDEV_SUPPORT	# evdev support in legacy drivers
2174options		EVDEV_DEBUG	# enable event debug messages
2175
2176# More undocumented options for linting.
2177# Note that documenting these are not considered an affront.
2178
2179#options 	BKTR_ALLOC_PAGES=xxx
2180options 	CAM_DEBUG_DELAY
2181options 	CLUSTERDEBUG
2182options 	DEBUG
2183options 	DEBUG_CRIT_SECTIONS
2184options		BCE_RSS_DEBUG
2185options		BCE_TSS_DEBUG
2186options		BNX_RSS_DEBUG
2187options		BNX_TSO_DEBUG
2188options		BNX_TSS_DEBUG
2189options		EMX_RSS_DEBUG
2190options		EMX_TSO_DEBUG
2191options		EMX_TSS_DEBUG
2192options		JME_RSS_DEBUG
2193options		IGB_RSS_DEBUG
2194options		IGB_TSS_DEBUG
2195options		IGB_MSIX_DEBUG
2196options		IX_RSS_DEBUG
2197options 	ENABLE_ALART
2198options 	FB_DEBUG=2
2199options 	FB_INSTALL_CDEV
2200#options	IEEE80211_DEBUG_REFCNT
2201options		IEEE80211_SUPPORT_SUPERG
2202options 	KBDIO_DEBUG=10
2203options 	KBD_MAXRETRY=4
2204options 	KBD_MAXWAIT=6
2205options 	KBD_RESETDELAY=201
2206#options 	KERN_TIMESTAMP
2207options 	KEY
2208options 	LOCKF_DEBUG
2209#options	MAXFILES=xxx
2210options		MBUF_DEBUG
2211options		NO_LWKT_SPLIT_USERPRI
2212options 	PANIC_DEBUG
2213options 	PMAP_DEBUG
2214options 	PSM_DEBUG=4
2215options 	SCSI_NCR_DEBUG
2216options 	SCSI_NCR_MAX_SYNC=10000
2217options 	SCSI_NCR_MAX_WIDE=1
2218options 	SCSI_NCR_MYADDR=7
2219options		SLAB_DEBUG
2220options 	SOCKBUF_DEBUG
2221options		TDMA_BINTVAL_DEFAULT=5
2222options		TDMA_SLOTCNT_DEFAULT=2
2223options		TDMA_SLOTLEN_DEFAULT=10*1000
2224options		TDMA_TXRATE_11A_DEFAULT=2*24
2225options		TDMA_TXRATE_11B_DEFAULT=2*11
2226options		TDMA_TXRATE_11G_DEFAULT=2*24
2227options		TDMA_TXRATE_11NA_DEFAULT="(4|IEEE80211_RATE_MCS)"
2228options		TDMA_TXRATE_11NG_DEFAULT="(4|IEEE80211_RATE_MCS)"
2229options		TDMA_TXRATE_HALF_DEFAULT=2*12
2230options		TDMA_TXRATE_QUARTER_DEFAULT=2*6
2231options		TDMA_TXRATE_TURBO_DEFAULT=2*24
2232#options 	TIMER_FREQ="((14318182+6)/12)"
2233options 	VFS_BIO_DEBUG
2234options		VM_PAGE_DEBUG
2235options 	XBONEHACK
2236
2237options	KTR
2238options KTR_ALL
2239options	KTR_ENTRIES=1024
2240options	KTR_VERBOSE=1
2241#options KTR_ACPI_EC
2242#options KTR_CTXSW
2243#options KTR_DMCRYPT
2244#options KTR_ETHERNET
2245#options KTR_HAMMER
2246#options KTR_IFQ
2247#options KTR_IF_BGE
2248#options KTR_IF_EM
2249#options KTR_IF_EMX
2250#options KTR_IF_POLL
2251#options KTR_IF_START
2252#options KTR_IPIQ
2253#options KTR_KERNENTRY
2254#options KTR_LAPIC
2255#options KTR_MEMORY
2256#options KTR_SERIALIZER
2257#options KTR_SOWAKEUP
2258#options KTR_SPIN_CONTENTION
2259#options KTR_TESTLOG
2260#options KTR_TOKENS
2261#options KTR_TSLEEP
2262#options KTR_UDP
2263#options KTR_USCHED_BSD4
2264#options KTR_USCHED_DFLY
2265
2266# ALTQ
2267options 	ALTQ		#alternate queueing
2268options 	ALTQ_CBQ	#class based queueing
2269options 	ALTQ_RED	#random early detection
2270options 	ALTQ_RIO	#triple red for diffserv (needs RED)
2271options 	ALTQ_HFSC	#hierarchical fair service curve
2272options 	ALTQ_PRIQ	#priority queue
2273options 	ALTQ_FAIRQ	#fair queue
2274#options 	ALTQ_NOPCC	#don't use processor cycle counter
2275options 	ALTQ_DEBUG	#for debugging
2276# you might want to set kernel timer to 1kHz if you use CBQ,
2277# especially with 100baseT
2278#options 	HZ_DEFAULT=1000
2279
2280# WATCHDOG
2281options		WDOG_DISABLE_ON_PANIC	# Automatically disable watchdogs on panic
2282
2283# LED
2284device		led
2285options		ERROR_LED_ON_PANIC	# If an error led is present, light it up on panic
2286