3 # On the handling of kernel options
5 # All kernel options should be listed in NOTES, with suitable
6 # descriptions. Negative options (options that make some code not
7 # compile) should be commented out; LINT (generated from NOTES) should
8 # compile as much code as possible. Try to structure option-using
9 # code so that a single option only switch code on, or only switch
10 # code off, to make it possible to have a full compile-test. If
11 # necessary, you can check for COMPILING_LINT to get maximum code
14 # All new options shall also be listed in either "conf/options" or
15 # "conf/options.<machine>". Options that affect a single source-file
16 # <xxx>.[c|s] should be directed into "opt_<xxx>.h", while options
17 # that affect multiple files should either go in "opt_global.h" if
18 # this is a kernel-wide option (used just about everywhere), or in
19 # "opt_<option-name-in-lower-case>.h" if it affect only some files.
20 # Note that the effect of listing only an option without a
21 # header-file-name in conf/options (and cousins) is that the last
22 # convention is followed.
24 # This handling scheme is not yet fully implemented.
27 # Format of this file:
28 # Option name filename
30 # If filename is missing, the default is
31 # opt_<name-of-option-in-lower-case>.h
34 AHC_ALLOW_MEMIO opt_aic7xxx.h
35 AHC_TMODE_ENABLE opt_aic7xxx.h
36 AHC_DUMP_EEPROM opt_aic7xxx.h
37 AHC_DEBUG opt_aic7xxx.h
38 AHC_DEBUG_OPTS opt_aic7xxx.h
39 AHC_REG_PRETTY_PRINT opt_aic7xxx.h
40 AHD_DEBUG opt_aic79xx.h
41 AHD_DEBUG_OPTS opt_aic79xx.h
42 AHD_TMODE_ENABLE opt_aic79xx.h
43 AHD_REG_PRETTY_PRINT opt_aic79xx.h
44 ADW_ALLOW_MEMIO opt_adw.h
47 TWA_FLASH_FIRMWARE opt_twa.h
55 KDB_UNATTENDED opt_kdb.h
56 SYSCTL_DEBUG opt_sysctl.h
58 NO_SYSCTL_DESCR opt_global.h
60 # Miscellaneous options.
61 ADAPTIVE_GIANT opt_adaptive_mutexes.h
62 NO_ADAPTIVE_MUTEXES opt_adaptive_mutexes.h
65 CODA_COMPAT_5 opt_coda.h
66 COMPAT_43 opt_compat.h
67 COMPAT_43TTY opt_compat.h
68 COMPAT_FREEBSD4 opt_compat.h
69 COMPAT_FREEBSD5 opt_compat.h
70 COMPAT_FREEBSD6 opt_compat.h
71 COMPILING_LINT opt_global.h
74 FULL_PREEMPTION opt_sched.h
75 IPI_PREEMPTION opt_sched.h
81 GEOM_CONCAT opt_geom.h
86 GEOM_JOURNAL opt_geom.h
89 GEOM_MIRROR opt_geom.h
94 GEOM_STRIPE opt_geom.h
95 GEOM_SUNLABEL opt_geom.h
103 KTRACE_REQUEST_POOL opt_ktrace.h
106 MAC_ALWAYS_LABEL_MBUF opt_mac.h
107 MAC_BIBA opt_dontuse.h
108 MAC_BSDEXTENDED opt_dontuse.h
109 MAC_IFOFF opt_dontuse.h
110 MAC_LOMAC opt_dontuse.h
111 MAC_MLS opt_dontuse.h
112 MAC_NONE opt_dontuse.h
113 MAC_PARTITION opt_dontuse.h
114 MAC_PORTACL opt_dontuse.h
115 MAC_SEEOTHERUIDS opt_dontuse.h
117 MAC_STUB opt_dontuse.h
118 MAC_TEST opt_dontuse.h
120 MD_ROOT_SIZE opt_md.h
122 MFI_DECODE_LOG opt_mfi.h
123 MPROF_BUFFERS opt_mprof.h
124 MPROF_HASH_SIZE opt_mprof.h
126 NSWBUF_MIN opt_swap.h
127 PANIC_REBOOT_WAIT_TIME opt_panic.h
129 PPC_PROBE_CHIPSET opt_ppc.h
131 PREEMPTION opt_sched.h
133 SCHED_4BSD opt_sched.h
134 SCHED_CORE opt_sched.h
135 SCHED_ULE opt_sched.h
138 SLHCI_DEBUG opt_slhci.h
155 SHMMAXPGS opt_sysvipc.h
159 SYSVMSG opt_sysvipc.h
160 SYSVSEM opt_sysvipc.h
161 SYSVSHM opt_sysvipc.h
162 SW_WATCHDOG opt_watchdog.h
166 VERBOSE_SYSINIT opt_global.h
167 WLCACHE opt_wavelan.h
168 WLDEBUG opt_wavelan.h
170 # POSIX kernel options
171 P1003_1B_MQUEUE opt_posix.h
172 P1003_1B_SEMAPHORES opt_posix.h
173 _KPOSIX_PRIORITY_SCHEDULING opt_posix.h
175 # Do we want the config file compiled into the kernel?
176 INCLUDE_CONFIG_FILE opt_config.h
178 # Options for static filesystems. These should only be used at config
179 # time, since the corresponding lkms cannot work if there are any static
180 # dependencies. Unusability is enforced by hiding the defines for the
181 # options in a never-included header.
185 FDESCFS opt_dontuse.h
187 MSDOSFS opt_dontuse.h
191 PORTALFS opt_dontuse.h
193 PSEUDOFS opt_dontuse.h
194 REISERFS opt_dontuse.h
198 UNIONFS opt_dontuse.h
201 PSEUDOFS_TRACE opt_pseudofs.h
203 # Broken - ffs_snapshot() dependency from ufs_lookup() :-(
204 FFS opt_ffs_broken_fixme.h
206 # These static filesystems have one slightly bogus static dependency in
207 # sys/i386/i386/autoconf.c. If any of these filesystems are
208 # statically compiled into the kernel, code for mounting them as root
209 # filesystems will be enabled - but look below.
214 # filesystems and libiconv bridge
215 CD9660_ICONV opt_dontuse.h
216 MSDOSFS_ICONV opt_dontuse.h
217 NTFS_ICONV opt_dontuse.h
218 UDF_ICONV opt_dontuse.h
220 # If you are following the conditions in the copyright,
221 # you can enable soft-updates which will speed up a lot of thigs
222 # and make the system safer from crashes at the same time.
223 # otherwise a STUB module will be compiled in.
224 SOFTUPDATES opt_ffs.h
226 # On small, embedded systems, it can be useful to turn off support for
227 # snapshots. It saves about 30-40k for a feature that would be lightly
228 # used, if it is used at all.
229 NO_FFS_SNAPSHOT opt_ffs.h
231 # Enabling this option turns on support for Access Control Lists in UFS,
232 # which can be used to support high security configurations. Depends on
236 # Enabling this option turns on support for extended attributes in UFS-based
237 # filesystems, which can be used to support high security configurations
238 # as well as new filesystem features.
239 UFS_EXTATTR opt_ufs.h
240 UFS_EXTATTR_AUTOSTART opt_ufs.h
242 # Enable fast hash lookups for large directories on UFS-based filesystems.
243 UFS_DIRHASH opt_ufs.h
245 # Enable gjournal-based UFS journal.
246 UFS_GJOURNAL opt_ufs.h
248 # The below sentence is not in English, and neither is this one.
249 # We plan to remove the static dependences above, with a
250 # <filesystem>_ROOT option to control if it usable as root. This list
251 # allows these options to be present in config files already (though
252 # they won't make any difference yet).
253 NFS_ROOT opt_nfsroot.h
258 # Experimental support for large MS-DOS filesystems; SEE WARNING IN "NOTES"!
259 MSDOSFS_LARGE opt_msdosfs.h
261 # Options used only in subr_param.c.
266 VM_BCACHE_SIZE_MAX opt_param.h
267 VM_SWZONE_SIZE_MAX opt_param.h
273 # Generic SCSI options.
274 CAM_MAX_HIGHPOWER opt_cam.h
276 CAM_DEBUG_DELAY opt_cam.h
277 CAM_DEBUG_BUS opt_cam.h
278 CAM_DEBUG_TARGET opt_cam.h
279 CAM_DEBUG_LUN opt_cam.h
280 CAM_DEBUG_FLAGS opt_cam.h
281 SCSI_DELAY opt_scsi.h
282 SCSI_NO_SENSE_STRINGS opt_scsi.h
283 SCSI_NO_OP_STRINGS opt_scsi.h
285 # Options used only in cam/scsi/scsi_cd.c
286 CHANGER_MIN_BUSY_SECONDS opt_cd.h
287 CHANGER_MAX_BUSY_SECONDS opt_cd.h
289 # Options used only in cam/scsi/scsi_sa.c.
290 SA_IO_TIMEOUT opt_sa.h
291 SA_SPACE_TIMEOUT opt_sa.h
292 SA_REWIND_TIMEOUT opt_sa.h
293 SA_ERASE_TIMEOUT opt_sa.h
294 SA_1FM_AT_EOD opt_sa.h
296 # Options used only in cam/scsi/scsi_pt.c
297 SCSI_PT_DEFAULT_TIMEOUT opt_pt.h
299 # Options used only in cam/scsi/scsi_ses.c
300 SES_ENABLE_PASSTHROUGH opt_ses.h
302 # Options used in dev/sym/ (Symbios SCSI driver).
303 SYM_SETUP_LP_PROBE_MAP opt_sym.h #-Low Priority Probe Map (bits)
304 # Allows the ncr to take precedence
305 # 1 (1<<0) -> 810a, 860
306 # 2 (1<<1) -> 825a, 875, 885, 895
307 # 4 (1<<2) -> 895a, 896, 1510d
308 SYM_SETUP_SCSI_DIFF opt_sym.h #-HVD support for 825a, 875, 885
309 # disabled:0 (default), enabled:1
310 SYM_SETUP_PCI_PARITY opt_sym.h #-PCI parity checking
311 # disabled:0, enabled:1 (default)
312 SYM_SETUP_MAX_LUN opt_sym.h #-Number of LUNs supported
313 # default:8, range:[1..64]
315 # Options used only in pci/ncr.c
316 SCSI_NCR_DEBUG opt_ncr.h
317 SCSI_NCR_MAX_SYNC opt_ncr.h
318 SCSI_NCR_MAX_WIDE opt_ncr.h
319 SCSI_NCR_MYADDR opt_ncr.h
321 # Options used only in dev/isp/*
322 ISP_TARGET_MODE opt_isp.h
323 ISP_FW_CRASH_DUMP opt_isp.h
324 ISP_DEFAULT_ROLES opt_isp.h
326 # Options used in the 'ata' ATA/ATAPI driver
327 ATA_STATIC_ID opt_ata.h
340 ALTQ_NOPCC opt_altq.h
341 ALTQ_DEBUG opt_altq.h
343 BOOTP_COMPAT opt_bootp.h
344 BOOTP_NFSROOT opt_bootp.h
345 BOOTP_NFSV3 opt_bootp.h
346 BOOTP_WIRED_TO opt_bootp.h
356 MROUTING opt_mrouting.h
361 IPSEC_ESP opt_ipsec.h
362 IPSEC_DEBUG opt_ipsec.h
363 IPSEC_FILTERGIF opt_ipsec.h
364 FAST_IPSEC opt_ipsec.h
367 IPFILTER opt_ipfilter.h
368 IPFILTER_LOG opt_ipfilter.h
369 IPFILTER_LOOKUP opt_ipfilter.h
370 IPFILTER_DEFAULT_BLOCK opt_ipfilter.h
371 IPFIREWALL opt_ipfw.h
372 IPFIREWALL_VERBOSE opt_ipfw.h
373 IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h
374 IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h
375 IPFIREWALL_FORWARD opt_ipfw.h
385 NET_WITH_GIANT opt_net.h
386 PPP_BSDCOMP opt_ppp.h
387 PPP_DEFLATE opt_ppp.h
389 SLIP_IFF_OPTS opt_slip.h
391 TCP_SIGNATURE opt_inet.h
392 TCP_SACK_DEBUG opt_tcp_sack.h
393 TCP_DROP_SYNFIN opt_tcp_input.h
395 VLAN_ARRAY opt_vlan.h
398 # Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
399 # Each netgraph node type can be either be compiled into the kernel
400 # or loaded dynamically. To get the former, include the corresponding
401 # option below. Each type has its own man page, e.g. ng_async(4).
403 NETGRAPH_DEBUG opt_netgraph.h
404 NETGRAPH_ASYNC opt_netgraph.h
405 NETGRAPH_ATMLLC opt_netgraph.h
406 NETGRAPH_ATM_ATMPIF opt_netgraph.h
407 NETGRAPH_BLUETOOTH opt_netgraph.h
408 NETGRAPH_BLUETOOTH_BT3C opt_netgraph.h
409 NETGRAPH_BLUETOOTH_H4 opt_netgraph.h
410 NETGRAPH_BLUETOOTH_HCI opt_netgraph.h
411 NETGRAPH_BLUETOOTH_L2CAP opt_netgraph.h
412 NETGRAPH_BLUETOOTH_SOCKET opt_netgraph.h
413 NETGRAPH_BLUETOOTH_UBT opt_netgraph.h
414 NETGRAPH_BLUETOOTH_UBTBCMFW opt_netgraph.h
415 NETGRAPH_BPF opt_netgraph.h
416 NETGRAPH_BRIDGE opt_netgraph.h
417 NETGRAPH_CISCO opt_netgraph.h
418 NETGRAPH_DEVICE opt_netgraph.h
419 NETGRAPH_ECHO opt_netgraph.h
420 NETGRAPH_EIFACE opt_netgraph.h
421 NETGRAPH_ETHER opt_netgraph.h
422 NETGRAPH_FEC opt_netgraph.h
423 NETGRAPH_FRAME_RELAY opt_netgraph.h
424 NETGRAPH_GIF opt_netgraph.h
425 NETGRAPH_GIF_DEMUX opt_netgraph.h
426 NETGRAPH_HOLE opt_netgraph.h
427 NETGRAPH_IFACE opt_netgraph.h
428 NETGRAPH_IP_INPUT opt_netgraph.h
429 NETGRAPH_IPFW opt_netgraph.h
430 NETGRAPH_KSOCKET opt_netgraph.h
431 NETGRAPH_L2TP opt_netgraph.h
432 NETGRAPH_LMI opt_netgraph.h
433 # MPPC compression requires proprietary files (not included)
434 NETGRAPH_MPPC_COMPRESSION opt_netgraph.h
435 NETGRAPH_MPPC_ENCRYPTION opt_netgraph.h
436 NETGRAPH_NAT opt_netgraph.h
437 NETGRAPH_NETFLOW opt_netgraph.h
438 NETGRAPH_ONE2MANY opt_netgraph.h
439 NETGRAPH_PPP opt_netgraph.h
440 NETGRAPH_PPPOE opt_netgraph.h
441 NETGRAPH_PPTPGRE opt_netgraph.h
442 NETGRAPH_RFC1490 opt_netgraph.h
443 NETGRAPH_SOCKET opt_netgraph.h
444 NETGRAPH_SPLIT opt_netgraph.h
445 NETGRAPH_SPPP opt_netgraph.h
446 NETGRAPH_TAG opt_netgraph.h
447 NETGRAPH_TCPMSS opt_netgraph.h
448 NETGRAPH_TEE opt_netgraph.h
449 NETGRAPH_TTY opt_netgraph.h
450 NETGRAPH_UI opt_netgraph.h
451 NETGRAPH_VJC opt_netgraph.h
454 NGATM_ATM opt_netgraph.h
455 NGATM_ATMBASE opt_netgraph.h
456 NGATM_SSCOP opt_netgraph.h
457 NGATM_SSCFU opt_netgraph.h
458 NGATM_UNI opt_netgraph.h
459 NGATM_CCATM opt_netgraph.h
464 ZERO_COPY_SOCKETS opt_zero.h
465 TI_PRIVATE_JUMBOS opt_ti.h
466 TI_JUMBO_HDRSPLIT opt_ti.h
475 # XXX Conflict: # of devices vs network protocol (Native ATM).
476 # This makes "atm.h" unusable.
479 # DPT driver debug flags
480 DPT_MEASURE_PERFORMANCE opt_dpt.h
481 DPT_HANDLE_TIMEOUTS opt_dpt.h
482 DPT_TIMEOUT_FACTOR opt_dpt.h
483 DPT_LOST_IRQ opt_dpt.h
484 DPT_RESET_HBA opt_dpt.h
486 # Misc debug flags. Most of these should probably be replaced with
487 # 'DEBUG', and then let people recompile just the interesting modules
488 # with 'make CC="cc -DDEBUG"'.
489 CLUSTERDEBUG opt_debug_cluster.h
490 DEBUG_1284 opt_ppb_1284.h
493 PLIP_DEBUG opt_plip.h
494 LOCKF_DEBUG opt_debug_lockf.h
495 NETATALKDEBUG opt_atalk.h
496 SI_DEBUG opt_debug_si.h
500 FB_INSTALL_CDEV opt_fb.h
502 # ppbus related options
503 PERIPH_1284 opt_ppb_1284.h
504 DONTPROBE_1284 opt_ppb_1284.h
506 # smbus related options
507 ENABLE_ALART opt_intpm.h
509 # These cause changes all over the kernel
510 BLKDEV_IOSIZE opt_global.h
511 BURN_BRIDGES opt_global.h
513 DEBUG_LOCKS opt_global.h
514 DEBUG_VFS_LOCKS opt_global.h
515 DIAGNOSTIC opt_global.h
516 INVARIANT_SUPPORT opt_global.h
517 INVARIANTS opt_global.h
518 MCLSHIFT opt_global.h
519 MUTEX_DEBUG opt_global.h
520 MUTEX_NOINLINE opt_global.h
521 MUTEX_PROFILING opt_global.h
523 REGRESSION opt_global.h
524 RESTARTABLE_PANICS opt_global.h
525 RWLOCK_NOINLINE opt_global.h
526 VFS_BIO_DEBUG opt_global.h
528 # These are VM related options
529 VM_KMEM_SIZE opt_vm.h
530 VM_KMEM_SIZE_SCALE opt_vm.h
531 VM_KMEM_SIZE_MAX opt_vm.h
533 MALLOC_MAKE_FAILURES opt_vm.h
534 MALLOC_PROFILE opt_vm.h
535 PQ_NOOPT opt_vmpage.h
537 # The MemGuard replacement allocator used for tamper-after-free detection
538 DEBUG_MEMGUARD opt_vm.h
540 # The RedZone malloc(9) protection
541 DEBUG_REDZONE opt_vm.h
543 # Standard SMP options
546 # Size of the kernel message buffer
547 MSGBUF_SIZE opt_msgbuf.h
550 NFS_MINATTRTIMO opt_nfs.h
551 NFS_MAXATTRTIMO opt_nfs.h
552 NFS_MINDIRATTRTIMO opt_nfs.h
553 NFS_MAXDIRATTRTIMO opt_nfs.h
554 NFS_GATHERDELAY opt_nfs.h
555 NFS_WDELAYHASHSIZ opt_nfs.h
558 # For the Bt848/Bt848A/Bt849/Bt878/Bt879 driver
559 OVERRIDE_CARD opt_bktr.h
560 OVERRIDE_TUNER opt_bktr.h
561 OVERRIDE_DBX opt_bktr.h
562 OVERRIDE_MSP opt_bktr.h
563 BROOKTREE_SYSTEM_DEFAULT opt_bktr.h
564 BROOKTREE_ALLOC_PAGES opt_bktr.h
565 BKTR_OVERRIDE_CARD opt_bktr.h
566 BKTR_OVERRIDE_TUNER opt_bktr.h
567 BKTR_OVERRIDE_DBX opt_bktr.h
568 BKTR_OVERRIDE_MSP opt_bktr.h
569 BKTR_SYSTEM_DEFAULT opt_bktr.h
570 BKTR_ALLOC_PAGES opt_bktr.h
571 BKTR_USE_PLL opt_bktr.h
572 BKTR_GPIO_ACCESS opt_bktr.h
573 BKTR_NO_MSP_RESET opt_bktr.h
574 BKTR_430_FX_MODE opt_bktr.h
575 BKTR_SIS_VIA_MODE opt_bktr.h
576 BKTR_USE_FREEBSD_SMBUS opt_bktr.h
577 BKTR_NEW_MSP34XX_DRIVER opt_bktr.h
579 BREAK_TO_DEBUGGER opt_comconsole.h
580 ALT_BREAK_TO_DEBUGGER opt_comconsole.h
582 # Options to support PPS
583 UART_PPS_ON_CTS opt_uart.h
585 # options for bus/device framework
588 # options for USB support
591 UKBD_DFLT_KEYMAP opt_ukbd.h
592 UPLCOM_INTR_INTERVAL opt_uplcom.h
593 UVSCOM_DEFAULT_OPKTSIZE opt_uvscom.h
594 UVSCOM_INTR_INTERVAL opt_uvscom.h
596 # Embedded system options
602 PCFCLOCK_VERBOSE opt_pcfclock.h
603 PCFCLOCK_MAX_RETRIES opt_pcfclock.h
605 KDTRACE opt_kdtrace.h
609 KTR_CPUMASK opt_ktr.h
610 KTR_COMPILE opt_global.h
611 KTR_ENTRIES opt_global.h
612 KTR_VERBOSE opt_ktr.h
614 WITNESS_KDB opt_witness.h
615 WITNESS_SKIPSPIN opt_witness.h
617 # options for ACPI support
618 ACPI_DEBUG opt_acpi.h
619 ACPI_MAX_THREADS opt_acpi.h
620 ACPI_NO_SEMAPHORES opt_acpi.h
621 ACPICA_PEDANTIC opt_acpi.h
627 # various 'device presence' options.
631 DEV_SPLASH opt_splash.h
633 EISA_SLOTS opt_eisa.h
644 WI_SYMBOL_FIRMWARE opt_wi.h
646 SOCKBUF_DEBUG opt_global.h
648 # options for ubsec driver
649 UBSEC_DEBUG opt_ubsec.h
650 UBSEC_RNDTEST opt_ubsec.h
651 UBSEC_NO_RNG opt_ubsec.h
653 # options for hifn driver
654 HIFN_DEBUG opt_hifn.h
655 HIFN_RNDTEST opt_hifn.h
657 # options for safenet driver
658 SAFE_DEBUG opt_safe.h
659 SAFE_NO_RNG opt_safe.h
660 SAFE_RNDTEST opt_safe.h
663 MAXCONS opt_syscons.h
664 SC_ALT_MOUSE_IMAGE opt_syscons.h
665 SC_CUT_SPACES2TABS opt_syscons.h
666 SC_CUT_SEPCHARS opt_syscons.h
667 SC_DEBUG_LEVEL opt_syscons.h
668 SC_DFLT_FONT opt_syscons.h
669 SC_DISABLE_KDBKEY opt_syscons.h
670 SC_DISABLE_REBOOT opt_syscons.h
671 SC_HISTORY_SIZE opt_syscons.h
672 SC_KERNEL_CONS_ATTR opt_syscons.h
673 SC_KERNEL_CONS_REV_ATTR opt_syscons.h
674 SC_MOUSE_CHAR opt_syscons.h
675 SC_NO_CUTPASTE opt_syscons.h
676 SC_NO_FONT_LOADING opt_syscons.h
677 SC_NO_HISTORY opt_syscons.h
678 SC_NO_SUSPEND_VTYSWITCH opt_syscons.h
679 SC_NO_SYSMOUSE opt_syscons.h
680 SC_NORM_ATTR opt_syscons.h
681 SC_NORM_REV_ATTR opt_syscons.h
682 SC_PIXEL_MODE opt_syscons.h
683 SC_RENDER_DEBUG opt_syscons.h
684 SC_TWOBUTTON_MOUSE opt_syscons.h
687 KBD_DISABLE_KEYMAP_LOAD opt_kbd.h
688 KBD_INSTALL_CDEV opt_kbd.h
689 KBD_MAXRETRY opt_kbd.h
690 KBD_MAXWAIT opt_kbd.h
691 KBD_RESETDELAY opt_kbd.h
692 KBDIO_DEBUG opt_kbd.h
694 # options for the Atheros driver
698 ATH_DIAGAPI opt_ath.h
699 ATH_TX99_DIAG opt_ath.h
702 DCONS_BUF_SIZE opt_dcons.h
703 DCONS_POLL_HZ opt_dcons.h
704 DCONS_FORCE_CONSOLE opt_dcons.h
705 DCONS_FORCE_GDB opt_dcons.h
716 LOOKUP_SHARED opt_vfs.h
721 # XBOX options for FreeBSD/i386, but some files are MI
727 # snd_emu10kx sound driver options
728 SND_EMU10KX_MULTICHANNEL opt_emu10kx.h