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