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