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