options revision 97728
1# $FreeBSD: head/sys/conf/options 97728 2002-06-02 04:32:52Z alfred $ 2# 3# On the handling of kernel options 4# 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 12# coverage. 13# 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. 23# 24# This handling scheme is not yet fully implemented. 25# 26# 27# Format of this file: 28# Option name filename 29# 30# If filename is missing, the default is 31# opt_<name-of-option-in-lower-case>.h 32 33# Adaptec Array Controller driver options 34AAC_COMPAT_LINUX opt_aac.h # Enable the linux ioctl interface 35 36AAC_DEBUG opt_aac.h # Debugging levels: 37 # 0 - quiet, only emit warnings 38 # 1 - noisy, emit major function 39 # points and things done 40 # 2 - extremely noisy, emit trace 41 # items in loops, etc. 42 43# Adaptec aic7xxx SCSI controller options 44AHC_ALLOW_MEMIO opt_aic7xxx.h # Allow PCI devices to use memory 45 # mapped I/O 46 47AHC_TMODE_ENABLE opt_aic7xxx.h # Bitmap of units to enable 48 # targetmode operations. 49 50AHC_DUMP_EEPROM opt_aic7xxx.h # Dump the contents of our 51 # configuration prom. 52 53AHC_DEBUG_SEQUENCER opt_aic7xxx.h # Enable diagnostic sequencer code 54 55ADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory 56 # mapped I/O 57 58# Miscellaneous options. 59GEOM opt_geom.h 60GEOM_GPT opt_geom.h # Add support for GUID Partition 61 # Tables (GPTs). 62ADAPTIVE_MUTEXES 63COMPAT_43 opt_compat.h 64COMPAT_SUNOS opt_compat.h 65COMPILING_LINT opt_global.h 66CY_PCI_FASTINTR 67DDB 68DDB_NOKLDSYM opt_ddb.h 69DDB_UNATTENDED opt_ddb.h 70GDB_REMOTE_CHAT opt_ddb.h 71NODEVFS opt_devfs.h 72HW_WDOG 73KTRACE 74LIBICONV 75MD_ROOT opt_md.h 76MD_ROOT_SIZE opt_md.h 77NTIMECOUNTER opt_ntp.h 78NSWAPDEV opt_swap.h 79PPS_SYNC opt_ntp.h 80QUOTA 81SPX_HACK 82SUIDDIR opt_suiddir.h 83SYSVMSG opt_sysvipc.h 84SYSVSEM opt_sysvipc.h 85SYSVSHM opt_sysvipc.h 86SHMALL opt_sysvipc.h 87SHMMAX opt_sysvipc.h 88SHMMAXPGS opt_sysvipc.h 89SHMMIN opt_sysvipc.h 90SHMMNI opt_sysvipc.h 91SHMSEG opt_sysvipc.h 92SEMMAP opt_sysvipc.h 93SEMMNI opt_sysvipc.h 94SEMMNS opt_sysvipc.h 95SEMMNU opt_sysvipc.h 96SEMMSL opt_sysvipc.h 97SEMOPM opt_sysvipc.h 98SEMUME opt_sysvipc.h 99MSGMNB opt_sysvipc.h 100MSGMNI opt_sysvipc.h 101MSGSEG opt_sysvipc.h 102MSGSSZ opt_sysvipc.h 103MSGTQL opt_sysvipc.h 104VFS_AIO 105 106# POSIX kernel options 107P1003_1B opt_posix.h 108_KPOSIX_PRIORITY_SCHEDULING opt_posix.h 109_KPOSIX_VERSION opt_posix.h 110 111# TrustedBSD and POSIX.1e Kernel Options 112CAPABILITIES opt_cap.h 113 114# Do we want the config file compiled into the kernel? 115INCLUDE_CONFIG_FILE opt_config.h 116 117# Options for static filesystems. These should only be used at config 118# time, since the corresponding lkms cannot work if there are any static 119# dependencies. Unusability is enforced by hiding the defines for the 120# options in a never-included header. 121CD9660 opt_dontuse.h 122CODA opt_dontuse.h 123EXT2FS opt_dontuse.h 124FDESCFS opt_dontuse.h 125LINPROCFS opt_dontuse.h 126MSDOSFS opt_dontuse.h 127NULLFS opt_dontuse.h 128NWFS opt_dontuse.h 129PORTALFS opt_dontuse.h 130PROCFS opt_dontuse.h 131PSEUDOFS opt_dontuse.h 132UMAPFS opt_dontuse.h 133NTFS opt_dontuse.h 134HPFS opt_dontuse.h 135UNIONFS opt_dontuse.h 136UDF opt_dontuse.h 137 138# Broken - ffs_snapshot() dependency from ufs_lookup() :-( 139FFS opt_ffs_broken_fixme.h 140 141# These static filesystems has one slightly bogus static dependency in 142# sys/i386/i386/autoconf.c. If any of these filesystems are 143# statically compiled into the kernel, code for mounting them as root 144# filesystems will be enabled - but look below. 145NFSCLIENT opt_nfs.h 146NFSSERVER opt_nfs.h 147 148# If you are following the conditions in the copyright, 149# you can enable soft-updates which will speed up a lot of thigs 150# and make the system safer from crashes at the same time. 151# otherwise a STUB module will be compiled in. 152SOFTUPDATES opt_ffs.h 153 154# Enabling this option turns on support for Access Control Lists in UFS, 155# which can be used to support high security configurations. Depends on 156# UFS_EXTATTR. 157UFS_ACL opt_ufs.h 158 159# Enabling this option turns on support for extended attributes in UFS-based 160# filesystems, which can be used to support high security configurations 161# as well as new filesystem features. 162UFS_EXTATTR opt_ufs.h 163UFS_EXTATTR_AUTOSTART opt_ufs.h 164 165# Enable fast hash lookups for large directories on UFS-based filesystems. 166UFS_DIRHASH opt_ufs.h 167 168# The above static dependencies are planned removed, with a 169# <filesystem>_ROOT option to control if it usable as root. This list 170# allows these options to be present in config files already (though 171# they won't make any difference yet). 172NFS_ROOT opt_nfsroot.h 173 174# Options used only in subr_param.c. 175HZ opt_param.h 176MAXFILES opt_param.h 177NBUF opt_param.h 178NMBCLUSTERS opt_param.h 179NSFBUFS opt_param.h 180VM_BCACHE_SIZE_MAX opt_param.h 181VM_SWZONE_SIZE_MAX opt_param.h 182MAXUSERS 183DFLDSIZ opt_param.h 184MAXDSIZ opt_param.h 185MAXSSIZ opt_param.h 186 187# Generic SCSI options. 188CAM_MAX_HIGHPOWER opt_cam.h 189CAMDEBUG opt_cam.h 190CAM_DEBUG_DELAY opt_cam.h 191CAM_DEBUG_BUS opt_cam.h 192CAM_DEBUG_TARGET opt_cam.h 193CAM_DEBUG_LUN opt_cam.h 194CAM_DEBUG_FLAGS opt_cam.h 195CAM_NEW_TRAN_CODE opt_cam.h 196SCSI_DELAY opt_scsi.h 197SCSI_NO_SENSE_STRINGS opt_scsi.h 198SCSI_NO_OP_STRINGS opt_scsi.h 199 200 201 202# Options used only in cam/scsi/scsi_cd.c 203CHANGER_MIN_BUSY_SECONDS opt_cd.h 204CHANGER_MAX_BUSY_SECONDS opt_cd.h 205 206# Options used only in cam/scsi/scsi_sa.c. 207SA_IO_TIMEOUT opt_sa.h 208SA_SPACE_TIMEOUT opt_sa.h 209SA_REWIND_TIMEOUT opt_sa.h 210SA_ERASE_TIMEOUT opt_sa.h 211SA_1FM_AT_EOD opt_sa.h 212 213# Options used only in cam/scsi/scsi_pt.c 214SCSI_PT_DEFAULT_TIMEOUT opt_pt.h 215 216# Options used only in cam/scsi/scsi_ses.c 217SES_ENABLE_PASSTHROUGH opt_ses.h 218 219# Options used in dev/sym/ (Symbios SCSI driver). 220SYM_SETUP_LP_PROBE_MAP opt_sym.h #-Low Priority Probe Map (bits) 221 # Allows the ncr to take precedence 222 # 1 (1<<0) -> 810a, 860 223 # 2 (1<<1) -> 825a, 875, 885, 895 224 # 4 (1<<2) -> 895a, 896, 1510d 225SYM_SETUP_SCSI_DIFF opt_sym.h #-HVD support for 825a, 875, 885 226 # disabled:0 (default), enabled:1 227SYM_SETUP_PCI_PARITY opt_sym.h #-PCI parity checking 228 # disabled:0, enabled:1 (default) 229SYM_SETUP_MAX_LUN opt_sym.h #-Number of LUNs supported 230 # default:8, range:[1..64] 231 232# Options used only in pci/ncr.c 233SCSI_NCR_DEBUG opt_ncr.h 234SCSI_NCR_MAX_SYNC opt_ncr.h 235SCSI_NCR_MAX_WIDE opt_ncr.h 236SCSI_NCR_MYADDR opt_ncr.h 237 238# Options used only in dev/isp/* 239ISP_TARGET_MODE opt_isp.h 240ISP_FW_CRASH_DUMP opt_isp.h 241 242# Options used in the 'ata' ATA/ATAPI driver 243ACD_DEBUG opt_ata.h 244AST_DEBUG opt_ata.h 245ATAPI_DEBUG opt_ata.h 246ATA_DEBUG opt_ata.h 247ATA_STATIC_ID opt_ata.h 248DEV_ATADISK opt_ata.h 249DEV_ATAPICD opt_ata.h 250DEV_ATAPIST opt_ata.h 251DEV_ATAPIFD opt_ata.h 252 253# Net stuff. 254ACCEPT_FILTER_DATA 255ACCEPT_FILTER_HTTP 256BOOTP opt_bootp.h 257BOOTP_COMPAT opt_bootp.h 258BOOTP_NFSROOT opt_bootp.h 259BOOTP_NFSV3 opt_bootp.h 260BOOTP_WIRED_TO opt_bootp.h 261BRIDGE opt_bdg.h 262ETHER_II opt_ef.h 263ETHER_8023 opt_ef.h 264ETHER_8022 opt_ef.h 265ETHER_SNAP opt_ef.h 266MROUTING opt_mrouting.h 267INET opt_inet.h 268INET6 opt_inet6.h 269IPSEC opt_ipsec.h 270IPSEC_ESP opt_ipsec.h 271IPSEC_DEBUG opt_ipsec.h 272IPDIVERT 273DUMMYNET opt_ipdn.h 274IPFILTER opt_ipfilter.h 275IPFILTER_LOG opt_ipfilter.h 276IPFILTER_DEFAULT_BLOCK opt_ipfilter.h 277PFIL_HOOKS opt_pfil_hooks.h 278IPFIREWALL opt_ipfw.h 279IPFIREWALL_VERBOSE opt_ipfw.h 280IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h 281IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h 282IPFIREWALL_FORWARD opt_ipfw.h 283IPV6FIREWALL opt_ip6fw.h 284IPV6FIREWALL_VERBOSE opt_ip6fw.h 285IPV6FIREWALL_VERBOSE_LIMIT opt_ip6fw.h 286IPV6FIREWALL_DEFAULT_TO_ACCEPT opt_ip6fw.h 287IPSTEALTH 288IPX opt_ipx.h 289IPXIP opt_ipx.h 290IPTUNNEL opt_ipx.h 291LIBMCHAIN 292NCP opt_ncp.h 293NETATALK opt_atalk.h 294PPP_BSDCOMP opt_ppp.h 295PPP_DEFLATE opt_ppp.h 296PPP_FILTER opt_ppp.h 297RANDOM_IP_ID 298SLIP_IFF_OPTS opt_slip.h 299TCPDEBUG 300TCP_DROP_SYNFIN opt_tcp_input.h 301XBONEHACK 302 303# Netgraph(4). Use option NETGRAPH to enable the base netgraph code. 304# Each netgraph node type can be either be compiled into the kernel 305# or loaded dynamically. To get the former, include the corresponding 306# option below. Each type has its own man page, e.g. ng_async(4). 307NETGRAPH 308NETGRAPH_ASYNC opt_netgraph.h 309NETGRAPH_BPF opt_netgraph.h 310NETGRAPH_BRIDGE opt_netgraph.h 311NETGRAPH_CISCO opt_netgraph.h 312NETGRAPH_ECHO opt_netgraph.h 313NETGRAPH_ETHER opt_netgraph.h 314NETGRAPH_FRAME_RELAY opt_netgraph.h 315NETGRAPH_GIF opt_netgraph.h 316NETGRAPH_GIF_DEMUX opt_netgraph.h 317NETGRAPH_HOLE opt_netgraph.h 318NETGRAPH_IFACE opt_netgraph.h 319NETGRAPH_IP_INPUT opt_netgraph.h 320NETGRAPH_KSOCKET opt_netgraph.h 321NETGRAPH_LMI opt_netgraph.h 322# MPPC compression requires proprietary files (not included) 323NETGRAPH_MPPC_COMPRESSION opt_netgraph.h 324NETGRAPH_MPPC_ENCRYPTION opt_netgraph.h 325NETGRAPH_ONE2MANY opt_netgraph.h 326NETGRAPH_PPP opt_netgraph.h 327NETGRAPH_PPPOE opt_netgraph.h 328NETGRAPH_PPTPGRE opt_netgraph.h 329NETGRAPH_RFC1490 opt_netgraph.h 330NETGRAPH_SOCKET opt_netgraph.h 331NETGRAPH_SPLIT opt_netgraph.h 332NETGRAPH_TEE opt_netgraph.h 333NETGRAPH_TTY opt_netgraph.h 334NETGRAPH_UI opt_netgraph.h 335NETGRAPH_VJC opt_netgraph.h 336 337# DRM options 338DRM_LINUX opt_drm.h 339DRM_DEBUG opt_drm.h 340 341# ATM (HARP version) 342ATM_CORE opt_atm.h 343ATM_IP opt_atm.h 344ATM_SIGPVC opt_atm.h 345ATM_SPANS opt_atm.h 346ATM_UNI opt_atm.h 347 348# XXX Conflict: # of devices vs network protocol (Native ATM). 349# This makes "atm.h" unusable. 350NATM opt_natm.h 351 352DPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory 353 # mapped I/O 354# DPT driver debug flags 355DPT_MEASURE_PERFORMANCE opt_dpt.h 356DPT_HANDLE_TIMEOUTS opt_dpt.h 357DPT_TIMEOUT_FACTOR opt_dpt.h 358DPT_LOST_IRQ opt_dpt.h 359DPT_RESET_HBA opt_dpt.h 360 361# Adaptec ASR and DPT V/VI controller options 362ASR_MEASURE_PERFORMANCE opt_asr.h 363 364# Misc debug flags. Most of these should probably be replaced with 365# 'DEBUG', and then let people recompile just the interesting modules 366# with 'make CC="cc -DDEBUG"'. 367CLUSTERDEBUG opt_debug_cluster.h 368DEBUG_1284 opt_ppb_1284.h 369VP0_DEBUG opt_vpo.h 370LPT_DEBUG opt_lpt.h 371PLIP_DEBUG opt_plip.h 372LOCKF_DEBUG opt_debug_lockf.h 373NPX_DEBUG opt_debug_npx.h 374NETATALKDEBUG opt_atalk.h 375SI_DEBUG opt_debug_si.h 376 377# Fb options 378FB_DEBUG opt_fb.h 379FB_INSTALL_CDEV opt_fb.h 380 381# ppbus related options 382PERIPH_1284 opt_ppb_1284.h 383DONTPROBE_1284 opt_ppb_1284.h 384 385# smbus related options 386ENABLE_ALART opt_intpm.h 387 388# These cause changes all over the kernel 389BLKDEV_IOSIZE opt_global.h 390DEBUG opt_global.h 391DEBUG_LOCKS opt_global.h 392DEBUG_VFS_LOCKS opt_global.h 393LOOKUP_SHARED opt_global.h 394DIAGNOSTIC opt_global.h 395ENABLE_VFS_IOOPT opt_global.h 396INVARIANT_SUPPORT opt_global.h 397INVARIANTS opt_global.h 398REGRESSION opt_global.h 399RESTARTABLE_PANICS opt_global.h 400VFS_BIO_DEBUG opt_global.h 401 402# These are VM related options 403VM_KMEM_SIZE opt_vm.h 404VM_KMEM_SIZE_SCALE opt_vm.h 405VM_KMEM_SIZE_MAX opt_vm.h 406NO_SWAPPING opt_vm.h 407MALLOC_PROFILE opt_vm.h 408PQ_NOOPT opt_vmpage.h 409PQ_NORMALCACHE opt_vmpage.h 410PQ_MEDIUMCACHE opt_vmpage.h 411PQ_LARGECACHE opt_vmpage.h 412PQ_HUGECACHE opt_vmpage.h 413PQ_CACHESIZE opt_vmpage.h 414 415# Standard SMP options 416SMP opt_global.h 417 418# Size of the kernel message buffer 419MSGBUF_SIZE opt_msgbuf.h 420 421# PCI related options 422PCI_ENABLE_IO_MODES opt_pci.h 423PCI_ALLOW_UNSUPPORTED_IO_RANGE opt_pci.h 424 425# NFS options 426NFS_MINATTRTIMO opt_nfs.h 427NFS_MAXATTRTIMO opt_nfs.h 428NFS_MINDIRATTRTIMO opt_nfs.h 429NFS_MAXDIRATTRTIMO opt_nfs.h 430NFS_GATHERDELAY opt_nfs.h 431NFS_WDELAYHASHSIZ opt_nfs.h 432NFS_DEBUG opt_nfs.h 433 434# For the Bt848/Bt848A/Bt849/Bt878/Bt879 driver 435OVERRIDE_CARD opt_bktr.h 436OVERRIDE_TUNER opt_bktr.h 437OVERRIDE_DBX opt_bktr.h 438OVERRIDE_MSP opt_bktr.h 439BROOKTREE_SYSTEM_DEFAULT opt_bktr.h 440BROOKTREE_ALLOC_PAGES opt_bktr.h 441BKTR_OVERRIDE_CARD opt_bktr.h 442BKTR_OVERRIDE_TUNER opt_bktr.h 443BKTR_OVERRIDE_DBX opt_bktr.h 444BKTR_OVERRIDE_MSP opt_bktr.h 445BKTR_SYSTEM_DEFAULT opt_bktr.h 446BKTR_ALLOC_PAGES opt_bktr.h 447BKTR_USE_PLL opt_bktr.h 448BKTR_GPIO_ACCESS opt_bktr.h 449BKTR_NO_MSP_RESET opt_bktr.h 450BKTR_430_FX_MODE opt_bktr.h 451BKTR_SIS_VIA_MODE opt_bktr.h 452BKTR_USE_FREEBSD_SMBUS opt_bktr.h 453 454# meteor opt_meteor.h 455METEOR_ALLOC_PAGES opt_meteor.h 456METEOR_TEST_VIDEO opt_meteor.h 457METEOR_SYSTEM_DEFAULT opt_meteor.h 458METEOR_DEALLOC_PAGES opt_meteor.h 459METEOR_DEALLOC_ABOVE opt_meteor.h 460 461# Various mi ISA bus flags 462COM_ESP opt_sio.h 463COM_MULTIPORT opt_sio.h 464BREAK_TO_DEBUGGER opt_comconsole.h 465ALT_BREAK_TO_DEBUGGER opt_comconsole.h 466DEV_ISA opt_isa.h 467 468# Include tweaks for running under the SimOS machine simulator. 469SIMOS opt_simos.h 470 471# options for bus/device framework 472BUS_DEBUG opt_bus.h 473 474# options for USB support 475UHCI_DEBUG opt_usb.h 476OHCI_DEBUG opt_usb.h 477USB_DEBUG opt_usb.h 478UGEN_DEBUG opt_usb.h 479UHID_DEBUG opt_usb.h 480UHUB_DEBUG opt_usb.h 481UKBD_DEBUG opt_usb.h 482ULPT_DEBUG opt_usb.h 483UMASS_DEBUG opt_usb.h 484UMS_DEBUG opt_usb.h 485URIO_DEBUG opt_usb.h 486UKBD_DFLT_KEYMAP opt_ukbd.h 487 488# Vinum options 489VINUMDEBUG opt_vinum.h 490 491# Embedded system options 492INIT_PATH opt_init_path.h 493 494ROOTDEVNAME opt_rootdevname.h 495 496FDC_DEBUG opt_fdc.h 497PCFCLOCK_VERBOSE opt_pcfclock.h 498PCFCLOCK_MAX_RETRIES opt_pcfclock.h 499TDFX_LINUX opt_tdfx.h 500 501KTR opt_global.h 502KTR_MASK opt_ktr.h 503KTR_CPUMASK opt_ktr.h 504KTR_COMPILE opt_global.h 505KTR_ENTRIES opt_global.h 506KTR_VERBOSE opt_ktr.h 507MUTEX_DEBUG opt_global.h 508WITNESS opt_global.h 509WITNESS_DDB opt_witness.h 510WITNESS_SKIPSPIN opt_witness.h 511 512# options for ACPI support 513ACPI_DEBUG opt_acpi.h 514ACPI_NO_SEMAPHORES opt_acpi.h 515ACPI_MAX_THREADS opt_acpi.h 516 517# options for DEVFS, see sys/fs/devfs/devfs.h 518NDEVFSINO opt_devfs.h 519NDEVFSOVERFLOW opt_devfs.h 520 521# various 'device presence' options. 522DEV_MCA opt_mca.h 523DEV_BPF opt_bpf.h 524 525# ed driver 526ED_NO_MIIBUS opt_ed.h 527 528# Polling device handling 529DEVICE_POLLING opt_global.h 530 531# Mutex profiling 532MUTEX_PROFILING opt_global.h 533