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