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