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