1bf21c633SJustin T. Gibbs# $Id: options,v 1.96 1998/09/14 19:56:36 sos Exp $ 294db1b81SEivind Eklund# 394db1b81SEivind Eklund# On the handling of kernel options 494db1b81SEivind Eklund# 594db1b81SEivind Eklund# All kernel options should be listed in LINT, with suitable 694db1b81SEivind Eklund# descriptions. Negative options (options that make some code not 794db1b81SEivind Eklund# compile) should be commented out; LINT should compile as much code 894db1b81SEivind Eklund# as possible. Try to structure option-using code so that a single 994db1b81SEivind Eklund# option only switch code on, or only switch code off, to make it 1094db1b81SEivind Eklund# possible to have a full compile-test. If necessary, you can include 1194db1b81SEivind Eklund# "opt_lint.h" and check for COMPILING_LINT to get maximum code 1294db1b81SEivind Eklund# coverage. 1394db1b81SEivind Eklund# 1494db1b81SEivind Eklund# All new options shall also be listed in either "conf/options" or 1594db1b81SEivind Eklund# "<machine>/conf/options.<machine>". Options that affect a single 1694db1b81SEivind Eklund# source-file <xxx>.[c|s] should be directed into "opt_<xxx>.h", while 1794db1b81SEivind Eklund# options that affect multiple files should either go in 1894db1b81SEivind Eklund# "opt_global.h" if this is a kernel-wide option (used just about 1994db1b81SEivind Eklund# everywhere), or in "opt_<option-name-in-lower-case>.h" if it affect 2094db1b81SEivind Eklund# only some files. Note that the effect of listing only an option 2194db1b81SEivind Eklund# without a header-file-name in conf/options (and cousins) is that the 2294db1b81SEivind Eklund# last convention is followed. 2394db1b81SEivind Eklund# 2494db1b81SEivind Eklund# This handling scheme is not yet fully implemented. 2594db1b81SEivind Eklund# 2694db1b81SEivind Eklund# 2794db1b81SEivind Eklund# Format of this file: 284bd49128SPeter Wemm# Option name filename 2994db1b81SEivind Eklund# 3094db1b81SEivind Eklund# If filename is missing, the default is 3194db1b81SEivind Eklund# opt_<name-of-option-in-lower-case>.h 3281fc841cSBruce Evans 33bf21c633SJustin T. Gibbs# Adaptec aic7xxx SCSI controller options 34bf21c633SJustin T. GibbsAHC_ALLOW_MEMIO opt_aic7xxx.h # Allow PCI devices to use memory 35bf21c633SJustin T. Gibbs # mapped I/o 36bf21c633SJustin T. Gibbs 37bf21c633SJustin T. GibbsAHC_TMODE_ENABLE opt_aic7xxx.h # Bitmap of units to enable 38bf21c633SJustin T. Gibbs # targetmode operations. 39bf21c633SJustin T. Gibbs 403d20a1ffSBruce Evans# Miscellaneous options. 418890984dSGarrett WollmanBOUNCE_BUFFERS opt_bounce.h 42f71bb3a1SEivind EklundCOMPAT_43 opt_compat.h 43f71bb3a1SEivind EklundCOMPAT_SUNOS opt_compat.h 44346ebe51SEivind EklundCOMPILING_LINT opt_lint.h 450e41ee30SGarrett WollmanDDB 461664f6f5SPaul TrainaDDB_UNATTENDED opt_ddb.h 47562d05dfSPaul TrainaGDB_REMOTE_CHAT opt_ddb.h 4814c35d6cSDoug RabsonDB_KLD_SYMBOLS opt_ddb.h 4914c35d6cSDoug RabsonDB_ELF_SYMBOLS opt_ddb.h 507b778b5eSEivind EklundDEVFS 517dff1433SEivind EklundFAILSAFE 52d94f38acSEivind EklundHW_WDOG 534bd49128SPeter WemmKTRACE 54455bb211SEivind EklundMD5 557b778b5eSEivind EklundMFS_AUTOLOAD opt_mfs.h 567b778b5eSEivind EklundMFS_ROOT opt_mfs.h 57a9c94e9bSJohn-Mark GurneyEXPORTMFS opt_mfs.h 58be41061bSEivind EklundNO_LKM 59f71bb3a1SEivind EklundNSWAPDEV opt_swap.h 60e0d781f3SEivind EklundPPS_SYNC opt_ntp.h 613d20a1ffSBruce EvansQUOTA 62cecc50bcSEivind EklundSPX_HACK 63f71bb3a1SEivind EklundSUIDDIR opt_suiddir.h 643d20a1ffSBruce EvansSYSVMSG opt_sysvipc.h 653d20a1ffSBruce EvansSYSVSEM opt_sysvipc.h 663d20a1ffSBruce EvansSYSVSHM opt_sysvipc.h 673d20a1ffSBruce EvansUCONSOLE 68d03b4017SBruce Evans 698a6472b7SPeter Dufault# POSIX kernel options 708a6472b7SPeter DufaultP1003_1B opt_posix.h 718a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h 728a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h 73917e476dSPeter Dufault 74808129f0SPeter Wemm# Do we want the config file compiled into the kernel? 75808129f0SPeter WemmINCLUDE_CONFIG_FILE opt_config.h 76808129f0SPeter Wemm 77d03b4017SBruce Evans# Options for static file systems. These should only be used at config 78d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static 79d03b4017SBruce Evans# dependencies. Unusability is enforced by hiding the defines for the 80d03b4017SBruce Evans# options in a never-included header. 81f41991baSEivind EklundEXT2FS opt_dontuse.h 82d03b4017SBruce EvansFDESC opt_dontuse.h 83d03b4017SBruce EvansKERNFS opt_dontuse.h 846cce9950SJoerg WunschMFS opt_dontuse.h 85f41991baSEivind EklundMSDOSFS opt_dontuse.h 86d03b4017SBruce EvansNULLFS opt_dontuse.h 87d03b4017SBruce EvansPORTAL opt_dontuse.h 88d03b4017SBruce EvansPROCFS opt_dontuse.h 89d03b4017SBruce EvansUMAPFS opt_dontuse.h 90d03b4017SBruce Evans 917b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in 927b778b5eSEivind Eklund# sys/i386/i386/autoconf.c. If any of these filesystems are 937b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root 947b778b5eSEivind Eklund# filesystems will be enabled - but look below. Boot-code is purposely 957b778b5eSEivind Eklund# unavailable for the LKM-based versions. 969afcea2fSRobert V. BaronCODA 975a9714deSJoerg WunschCD9660 987b778b5eSEivind EklundFFS 997b778b5eSEivind EklundNFS 1005a9714deSJoerg Wunsch 101b1897c19SJulian Elischer# If you are following the conditions in the copyright, 102b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs 103b1897c19SJulian Elischer# and make the system safer from crashes at the same time. 104b1897c19SJulian Elischer# otherwise a STUB module will be compiled in. 105b1897c19SJulian ElischerSOFTUPDATES opt_ffs.h 106b1897c19SJulian Elischer 1077b778b5eSEivind Eklund# The above static dependencies are planned removed, with a 1087b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root. This list 1097b778b5eSEivind Eklund# allows these options to be present in config files already (though 1107b778b5eSEivind Eklund# they won't make any difference yet). 1117b778b5eSEivind EklundCD9660_ROOT opt_cd9660.h 1127b778b5eSEivind EklundFFS_ROOT opt_ffs.h 113df394affSJohn-Mark GurneyNFS_ROOT opt_nfsroot.h 1147b778b5eSEivind Eklund 1157b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to 1167b778b5eSEivind Eklund# "settle". If we are about mounting them as the root f/s, we gotta 1177b778b5eSEivind Eklund# wait a little. 1185a9714deSJoerg WunschCD9660_ROOTDELAY opt_cd9660.h 1195a9714deSJoerg Wunsch 120d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't 121d03b4017SBruce Evans# hidden yet. 122d03b4017SBruce EvansUNION 123d03b4017SBruce Evans 12481fc841cSBruce Evans# Options used only in param.c. 12595de6ecfSBruce EvansMAXUSERS opt_param.h 1263d20a1ffSBruce EvansMSGMNB opt_param.h 1273d20a1ffSBruce EvansMSGMNI opt_param.h 1283d20a1ffSBruce EvansMSGSEG opt_param.h 1293d20a1ffSBruce EvansMSGSSZ opt_param.h 1303d20a1ffSBruce EvansMSGTQL opt_param.h 1313d20a1ffSBruce EvansNBUF opt_param.h 1324bd49128SPeter WemmNMBCLUSTERS opt_param.h 1334bd49128SPeter WemmSEMMAP opt_param.h 1344bd49128SPeter WemmSEMMNI opt_param.h 1354bd49128SPeter WemmSEMMNS opt_param.h 1364bd49128SPeter WemmSEMMNU opt_param.h 1374bd49128SPeter WemmSEMMSL opt_param.h 1384bd49128SPeter WemmSEMOPM opt_param.h 1394bd49128SPeter WemmSEMUME opt_param.h 1403d20a1ffSBruce EvansSHMALL opt_param.h 1413d20a1ffSBruce EvansSHMMAX opt_param.h 1423d20a1ffSBruce EvansSHMMAXPGS opt_param.h 1433d20a1ffSBruce EvansSHMMIN opt_param.h 1443d20a1ffSBruce EvansSHMMNI opt_param.h 1453d20a1ffSBruce EvansSHMSEG opt_param.h 14681fc841cSBruce Evans 14781fc841cSBruce Evans# Generic SCSI options. 148bf21c633SJustin T. GibbsCAM_MAX_HIGHPOWER opt_cam.h 149bf21c633SJustin T. GibbsCAMDEBUG opt_cam.h 150bf21c633SJustin T. GibbsCAM_DEBUG_BUS opt_cam.h 151bf21c633SJustin T. GibbsCAM_DEBUG_TARGET opt_cam.h 152bf21c633SJustin T. GibbsCAM_DEBUG_LUN opt_cam.h 153bf21c633SJustin T. GibbsCAM_DEBUG_FLAGS opt_cam.h 154bf21c633SJustin T. GibbsSCSI_CAM opt_scsi.h 1553d20a1ffSBruce EvansSCSI_DELAY opt_scsi.h 1563d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY opt_scsi.h 157bf21c633SJustin T. GibbsSCSI_NO_SENSE_STRINGS opt_scsi.h 158bf21c633SJustin T. GibbsSCSI_NO_OP_STRINGS opt_scsi.h 159bf21c633SJustin T. Gibbs 160bf21c633SJustin T. Gibbs# Options used only in cam/scsi/scsi_cd.c 161bf21c633SJustin T. GibbsCHANGER_MIN_BUSY_SECONDS opt_cd.h 162bf21c633SJustin T. GibbsCHANGER_MAX_BUSY_SECONDS opt_cd.h 16381fc841cSBruce Evans 164c30bc9dbSJoerg Wunsch# Options used only in scsi/od.c. 165c30bc9dbSJoerg WunschOD_AUTO_TURNOFF opt_od.h 1663d20a1ffSBruce EvansOD_BOGUS_NOT_READY opt_od.h 167c30bc9dbSJoerg Wunsch 16821ffa5aeSStefan Eßer# Options used only in pci/ncr.c 1693d20a1ffSBruce EvansSCSI_NCR_DEBUG opt_ncr.h 1703d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS opt_ncr.h 171a5bef142SBruce EvansSCSI_NCR_MAX_SYNC opt_ncr.h 172a5bef142SBruce EvansSCSI_NCR_MAX_WIDE opt_ncr.h 1733d20a1ffSBruce EvansSCSI_NCR_MYADDR opt_ncr.h 17421ffa5aeSStefan Eßer 17581fc841cSBruce Evans# Resource limits. 176e9822d92SJoerg WunschDFLDSIZ opt_rlimit.h 1773d20a1ffSBruce EvansMAXDSIZ opt_rlimit.h 17881fc841cSBruce Evans 17981fc841cSBruce Evans# Net stuff. 180e4f4247aSEivind EklundBOOTP opt_bootp.h 181e4f4247aSEivind EklundBOOTP_COMPAT opt_bootp.h 182e4f4247aSEivind EklundBOOTP_NFSROOT opt_bootp.h 183e4f4247aSEivind EklundBOOTP_NFSV3 opt_bootp.h 1848f7030a7STor EggeBOOTP_WIRED_TO opt_bootp.h 1854bd49128SPeter WemmMROUTING opt_mrouting.h 1861d5e9e22SEivind EklundINET opt_inet.h 187fbd1372aSJoerg WunschIPDIVERT 18874a9466cSGary PalmerIPFIREWALL opt_ipfw.h 18974a9466cSGary PalmerIPFIREWALL_VERBOSE opt_ipfw.h 190fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT opt_ipfw.h 191ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h 192cdcc2613SJulian ElischerIPFIREWALL_FORWARD opt_ipfw.h 193430df5f4SEivind EklundIPX opt_ipx.h 194430df5f4SEivind EklundIPXIP opt_ipx.h 195430df5f4SEivind EklundIPTUNNEL opt_ipx.h 1967262d3e4SEivind EklundNETATALK opt_atalk.h 19713c49711SPeter WemmPPP_BSDCOMP opt_ppp.h 19813c49711SPeter WemmPPP_DEFLATE opt_ppp.h 199d41238deSPeter WemmPPP_FILTER opt_ppp.h 20092252381SEivind EklundTCP_COMPAT_42 opt_compat.h 2010cc12cc5SJoerg WunschTCPDEBUG 2021ee25934SPeter WemmIPFILTER opt_ipfilter.h 2031ee25934SPeter WemmIPFILTER_LOG opt_ipfilter.h 2041ee25934SPeter WemmIPFILTER_LKM opt_ipfilter.h 2053458e54aSJulian Elischer 206e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM). 207e0d781f3SEivind Eklund# This makes "atm.h" unusable. 208e0d781f3SEivind EklundNATM opt_natm.h 209e0d781f3SEivind Eklund 2103458e54aSJulian Elischer# DPT driver debug flags 2113458e54aSJulian ElischerDPT_VERIFY_HINTR opt_dpt.h 2123458e54aSJulian ElischerDPT_USE_SINTR opt_dpt.h 2133458e54aSJulian ElischerDPT_RESTRICTED_FREELIST opt_dpt.h 2143458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE opt_dpt.h 2153458e54aSJulian ElischerDPT_FREELIST_IS_STACK opt_dpt.h 2163458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS opt_dpt.h 2173458e54aSJulian ElischerDPT_TIMEOUT_FACTOR opt_dpt.h 2183458e54aSJulian ElischerDPT_INTR_DELAY opt_dpt.h 2193458e54aSJulian ElischerDPT_LOST_IRQ opt_dpt.h 220b755b885SEivind EklundDPT_SHUTDOWN_SLEEP opt_dpt.h 221b755b885SEivind EklundDPT_RESET_HBA opt_dpt.h 2223f2076daSEivind Eklund 2233f2076daSEivind Eklund# Misc debug flags. Most of these should probably be replaced with 2243f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules 2253f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'. 2263f2076daSEivind EklundCLUSTERDEBUG opt_debug_cluster.h 2273f2076daSEivind EklundDEBUG_1284 opt_debug_1284.h 2283f2076daSEivind EklundLOCKF_DEBUG opt_debug_lockf.h 2293f2076daSEivind EklundLOUTB opt_debug_outb.h 2303f2076daSEivind EklundNPX_DEBUG opt_debug_npx.h 2313f2076daSEivind EklundNETATALKDEBUG opt_atalk.h 2323f2076daSEivind EklundNULLFS_DIAGNOSTIC opt_debug_nullfs.h 2333f2076daSEivind EklundSI_DEBUG opt_debug_si.h 2343f2076daSEivind Eklund 2353f2076daSEivind Eklund 23614834de4SEivind Eklund# These cause changes all over the kernel 23714834de4SEivind EklundDEBUG opt_global.h 23814834de4SEivind EklundDIAGNOSTIC opt_global.h 2393f2076daSEivind EklundSIMPLELOCK_DEBUG opt_global.h 240b1a7842bSJohn DysonENABLE_VFS_IOOPT opt_global.h 241d9bed5beSJohn Dyson 242d9bed5beSJohn Dyson# These are VM related options 243d9bed5beSJohn DysonVM_KMEM_SIZE opt_vm.h 244d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h 245d9bed5beSJohn DysonVM_KMEM_SIZE_MAX opt_vm.h 24620f71813SJohn-Mark GurneyPQ_NOOPT opt_vmpage.h 24720f71813SJohn-Mark GurneyPQ_NORMALCACHE opt_vmpage.h 24820f71813SJohn-Mark GurneyPQ_MEDIUMCACHE opt_vmpage.h 24920f71813SJohn-Mark GurneyPQ_LARGECACHE opt_vmpage.h 25020f71813SJohn-Mark GurneyPQ_HUGECACHE opt_vmpage.h 25120f71813SJohn-Mark Gurney 252751bf650SJun-ichiro itojun Hagino 253751bf650SJun-ichiro itojun Hagino# sys/netkey 254751bf650SJun-ichiro itojun HaginoKEY 255751bf650SJun-ichiro itojun HaginoKEY_DEBUG opt_key.h 25658067a99SPoul-Henning Kamp 25758067a99SPoul-Henning Kamp# Size of the kernel message buffer 25858067a99SPoul-Henning KampMSGBUF_SIZE opt_msgbuf.h 259ecbb00a2SDoug Rabson 260e261d589SJohn-Mark Gurney# PCI related options 261e261d589SJohn-Mark GurneyPCI_QUIET opt_pci.h 262e261d589SJohn-Mark Gurney 263df394affSJohn-Mark Gurney# NFS options 264df394affSJohn-Mark GurneyNFS_MINATTRTIMO opt_nfs.h 265df394affSJohn-Mark GurneyNFS_MAXATTRTIMO opt_nfs.h 266df394affSJohn-Mark GurneyNFS_MINDIRATTRTIMO opt_nfs.h 267df394affSJohn-Mark GurneyNFS_MAXDIRATTRTIMO opt_nfs.h 268df394affSJohn-Mark GurneyNFS_GATHERDELAY opt_nfs.h 269df394affSJohn-Mark GurneyNFS_UIDHASHSIZ opt_nfs.h 270df394affSJohn-Mark GurneyNFS_WDELAYHASHSIZ opt_nfs.h 271df394affSJohn-Mark GurneyNFS_MUIDHASHSIZ opt_nfs.h 272df394affSJohn-Mark GurneyNFS_NOSERVER opt_nfs.h 273df394affSJohn-Mark GurneyNFS_DEBUG opt_nfs.h 274df394affSJohn-Mark Gurney 2753f139a1aSJohn-Mark Gurney# give bktr an opt_bktr.h file 276dd70aa7fSSøren SchmidtOVERRIDE_CARD opt_bktr.h 2773f139a1aSJohn-Mark GurneyOVERRIDE_TUNER opt_bktr.h 2785d0c8abaSSøren SchmidtOVERRIDE_DBX opt_bktr.h 2795d0c8abaSSøren SchmidtOVERRIDE_MSP opt_bktr.h 2805d0c8abaSSøren SchmidtBROOKTREE_SYSTEM_DEFAULT opt_bktr.h 28158dde31aSSøren SchmidtBKTR_USE_PLL opt_bktr.h 28258dde31aSSøren Schmidt 2833f139a1aSJohn-Mark Gurney 284afc2d1c7SJordan K. Hubbard# meteor opt_meteor.h 285afc2d1c7SJordan K. HubbardMETEOR_ALLOC_PAGES opt_meteor.h 286afc2d1c7SJordan K. HubbardMETEOR_TEST_VIDEO opt_meteor.h 287afc2d1c7SJordan K. HubbardMETEOR_SYSTEM_DEFAULT opt_meteor.h 288afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_PAGES opt_meteor.h 289afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_ABOVE opt_meteor.h 290afc2d1c7SJordan K. Hubbard 291ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator. 292ecbb00a2SDoug RabsonSIMOS opt_simos.h 293