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