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