1a6de7b79SNicolas Souchu# $Id: options,v 1.116 1999/01/10 07:45:17 phk 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 35528784edSJustin 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 40528784edSJustin T. GibbsADW_ALLOW_MEMIO opt_adw.h # Allow PCI devices to use memory 41528784edSJustin T. Gibbs # mapped I/O 42528784edSJustin T. Gibbs 433d20a1ffSBruce Evans# Miscellaneous options. 44f71bb3a1SEivind EklundCOMPAT_43 opt_compat.h 45f71bb3a1SEivind EklundCOMPAT_SUNOS opt_compat.h 46346ebe51SEivind EklundCOMPILING_LINT opt_lint.h 470e41ee30SGarrett WollmanDDB 481664f6f5SPaul TrainaDDB_UNATTENDED opt_ddb.h 49562d05dfSPaul TrainaGDB_REMOTE_CHAT opt_ddb.h 507b778b5eSEivind EklundDEVFS 517dff1433SEivind EklundFAILSAFE 52d94f38acSEivind EklundHW_WDOG 534bd49128SPeter WemmKTRACE 54455bb211SEivind EklundMD5 557b778b5eSEivind EklundMFS_ROOT opt_mfs.h 561315dabdSBruce EvansMFS_ROOT_SIZE opt_mfs.h 57c2906d55SPoul-Henning KampNTIMECOUNTER opt_ntp.h 58a9c94e9bSJohn-Mark GurneyEXPORTMFS opt_mfs.h 59be41061bSEivind EklundNO_LKM 60f71bb3a1SEivind EklundNSWAPDEV opt_swap.h 61e0d781f3SEivind EklundPPS_SYNC opt_ntp.h 623d20a1ffSBruce EvansQUOTA 63cecc50bcSEivind EklundSPX_HACK 64f71bb3a1SEivind EklundSUIDDIR opt_suiddir.h 653d20a1ffSBruce EvansSYSVMSG opt_sysvipc.h 663d20a1ffSBruce EvansSYSVSEM opt_sysvipc.h 673d20a1ffSBruce EvansSYSVSHM opt_sysvipc.h 683d20a1ffSBruce EvansUCONSOLE 69dadea2faSMatthew DillonICMP_BANDLIM 70d03b4017SBruce Evans 718a6472b7SPeter Dufault# POSIX kernel options 728a6472b7SPeter DufaultP1003_1B opt_posix.h 738a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h 748a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h 75917e476dSPeter Dufault 76808129f0SPeter Wemm# Do we want the config file compiled into the kernel? 77808129f0SPeter WemmINCLUDE_CONFIG_FILE opt_config.h 78808129f0SPeter Wemm 79d03b4017SBruce Evans# Options for static file systems. These should only be used at config 80d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static 81d03b4017SBruce Evans# dependencies. Unusability is enforced by hiding the defines for the 82d03b4017SBruce Evans# options in a never-included header. 83f41991baSEivind EklundEXT2FS opt_dontuse.h 84d03b4017SBruce EvansFDESC opt_dontuse.h 85d03b4017SBruce EvansKERNFS opt_dontuse.h 866cce9950SJoerg WunschMFS opt_dontuse.h 87f41991baSEivind EklundMSDOSFS opt_dontuse.h 88d03b4017SBruce EvansNULLFS opt_dontuse.h 89d03b4017SBruce EvansPORTAL opt_dontuse.h 90d03b4017SBruce EvansPROCFS opt_dontuse.h 91d03b4017SBruce EvansUMAPFS opt_dontuse.h 92d03b4017SBruce Evans 937b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in 947b778b5eSEivind Eklund# sys/i386/i386/autoconf.c. If any of these filesystems are 957b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root 967b778b5eSEivind Eklund# filesystems will be enabled - but look below. Boot-code is purposely 977b778b5eSEivind Eklund# unavailable for the LKM-based versions. 989afcea2fSRobert V. BaronCODA 995a9714deSJoerg WunschCD9660 1007b778b5eSEivind EklundFFS 1017b778b5eSEivind EklundNFS 1025a9714deSJoerg Wunsch 103b1897c19SJulian Elischer# If you are following the conditions in the copyright, 104b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs 105b1897c19SJulian Elischer# and make the system safer from crashes at the same time. 106b1897c19SJulian Elischer# otherwise a STUB module will be compiled in. 107b1897c19SJulian ElischerSOFTUPDATES opt_ffs.h 108b1897c19SJulian Elischer 1097b778b5eSEivind Eklund# The above static dependencies are planned removed, with a 1107b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root. This list 1117b778b5eSEivind Eklund# allows these options to be present in config files already (though 1127b778b5eSEivind Eklund# they won't make any difference yet). 1137b778b5eSEivind EklundCD9660_ROOT opt_cd9660.h 1147b778b5eSEivind EklundFFS_ROOT opt_ffs.h 115df394affSJohn-Mark GurneyNFS_ROOT opt_nfsroot.h 1167b778b5eSEivind Eklund 1177b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to 1187b778b5eSEivind Eklund# "settle". If we are about mounting them as the root f/s, we gotta 1197b778b5eSEivind Eklund# wait a little. 1205a9714deSJoerg WunschCD9660_ROOTDELAY opt_cd9660.h 1215a9714deSJoerg Wunsch 122d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't 123d03b4017SBruce Evans# hidden yet. 124d03b4017SBruce EvansUNION 125d03b4017SBruce Evans 12681fc841cSBruce Evans# Options used only in param.c. 12795de6ecfSBruce EvansMAXUSERS opt_param.h 1283d20a1ffSBruce EvansMSGMNB opt_param.h 1293d20a1ffSBruce EvansMSGMNI opt_param.h 1303d20a1ffSBruce EvansMSGSEG opt_param.h 1313d20a1ffSBruce EvansMSGSSZ opt_param.h 1323d20a1ffSBruce EvansMSGTQL opt_param.h 1333d20a1ffSBruce EvansNBUF opt_param.h 1344bd49128SPeter WemmNMBCLUSTERS opt_param.h 135dd0b2081SDavid GreenmanNSFBUFS opt_param.h 1364bd49128SPeter WemmSEMMAP opt_param.h 1374bd49128SPeter WemmSEMMNI opt_param.h 1384bd49128SPeter WemmSEMMNS opt_param.h 1394bd49128SPeter WemmSEMMNU opt_param.h 1404bd49128SPeter WemmSEMMSL opt_param.h 1414bd49128SPeter WemmSEMOPM opt_param.h 1424bd49128SPeter WemmSEMUME opt_param.h 1433d20a1ffSBruce EvansSHMALL opt_param.h 1443d20a1ffSBruce EvansSHMMAX opt_param.h 1453d20a1ffSBruce EvansSHMMAXPGS opt_param.h 1463d20a1ffSBruce EvansSHMMIN opt_param.h 1473d20a1ffSBruce EvansSHMMNI opt_param.h 1483d20a1ffSBruce EvansSHMSEG opt_param.h 14981fc841cSBruce Evans 15081fc841cSBruce Evans# Generic SCSI options. 151bf21c633SJustin T. GibbsCAM_MAX_HIGHPOWER opt_cam.h 152bf21c633SJustin T. GibbsCAMDEBUG opt_cam.h 153bf21c633SJustin T. GibbsCAM_DEBUG_BUS opt_cam.h 154bf21c633SJustin T. GibbsCAM_DEBUG_TARGET opt_cam.h 155bf21c633SJustin T. GibbsCAM_DEBUG_LUN opt_cam.h 156bf21c633SJustin T. GibbsCAM_DEBUG_FLAGS opt_cam.h 1573d20a1ffSBruce EvansSCSI_DELAY opt_scsi.h 1583d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY opt_scsi.h 159bf21c633SJustin T. GibbsSCSI_NO_SENSE_STRINGS opt_scsi.h 160bf21c633SJustin T. GibbsSCSI_NO_OP_STRINGS opt_scsi.h 161bf21c633SJustin T. Gibbs 162bf21c633SJustin T. Gibbs# Options used only in cam/scsi/scsi_cd.c 163bf21c633SJustin T. GibbsCHANGER_MIN_BUSY_SECONDS opt_cd.h 164bf21c633SJustin T. GibbsCHANGER_MAX_BUSY_SECONDS opt_cd.h 16581fc841cSBruce Evans 1669dfb4471SKenneth D. Merry# Options used only in cam/scsi/sa.c. 1679dfb4471SKenneth D. MerrySA_SPACE_TIMEOUT opt_sa.h 1689dfb4471SKenneth D. MerrySA_REWIND_TIMEOUT opt_sa.h 1699dfb4471SKenneth D. MerrySA_ERASE_TIMEOUT opt_sa.h 170c30bc9dbSJoerg Wunsch 17121ffa5aeSStefan Eßer# Options used only in pci/ncr.c 1723d20a1ffSBruce EvansSCSI_NCR_DEBUG opt_ncr.h 1733d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS opt_ncr.h 174a5bef142SBruce EvansSCSI_NCR_MAX_SYNC opt_ncr.h 175a5bef142SBruce EvansSCSI_NCR_MAX_WIDE opt_ncr.h 1763d20a1ffSBruce EvansSCSI_NCR_MYADDR opt_ncr.h 17721ffa5aeSStefan Eßer 17881fc841cSBruce Evans# Resource limits. 179e9822d92SJoerg WunschDFLDSIZ opt_rlimit.h 1803d20a1ffSBruce EvansMAXDSIZ opt_rlimit.h 18181fc841cSBruce Evans 18281fc841cSBruce Evans# Net stuff. 183e4f4247aSEivind EklundBOOTP opt_bootp.h 184e4f4247aSEivind EklundBOOTP_COMPAT opt_bootp.h 185e4f4247aSEivind EklundBOOTP_NFSROOT opt_bootp.h 186e4f4247aSEivind EklundBOOTP_NFSV3 opt_bootp.h 1878f7030a7STor EggeBOOTP_WIRED_TO opt_bootp.h 188508d0661SLuigi RizzoBRIDGE opt_bdg.h 1894bd49128SPeter WemmMROUTING opt_mrouting.h 1901d5e9e22SEivind EklundINET opt_inet.h 191fbd1372aSJoerg WunschIPDIVERT 192508d0661SLuigi RizzoDUMMYNET opt_ipdn.h 19374a9466cSGary PalmerIPFIREWALL opt_ipfw.h 19474a9466cSGary PalmerIPFIREWALL_VERBOSE opt_ipfw.h 195fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT opt_ipfw.h 196ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h 197cdcc2613SJulian ElischerIPFIREWALL_FORWARD opt_ipfw.h 198430df5f4SEivind EklundIPX opt_ipx.h 199430df5f4SEivind EklundIPXIP opt_ipx.h 200430df5f4SEivind EklundIPTUNNEL opt_ipx.h 2017262d3e4SEivind EklundNETATALK opt_atalk.h 20213c49711SPeter WemmPPP_BSDCOMP opt_ppp.h 20313c49711SPeter WemmPPP_DEFLATE opt_ppp.h 204d41238deSPeter WemmPPP_FILTER opt_ppp.h 20592252381SEivind EklundTCP_COMPAT_42 opt_compat.h 2060cc12cc5SJoerg WunschTCPDEBUG 2071ee25934SPeter WemmIPFILTER opt_ipfilter.h 2081ee25934SPeter WemmIPFILTER_LOG opt_ipfilter.h 2091ee25934SPeter WemmIPFILTER_LKM opt_ipfilter.h 2103458e54aSJulian Elischer 2113f8c4506SPoul-Henning Kamp# ATM (HARP version) 2123f8c4506SPoul-Henning KampATM_CORE opt_atm.h 2133f8c4506SPoul-Henning KampATM_IP opt_atm.h 2143f8c4506SPoul-Henning KampATM_SIGPVC opt_atm.h 2153f8c4506SPoul-Henning KampATM_SPANS opt_atm.h 2163f8c4506SPoul-Henning KampATM_UNI opt_atm.h 2173f8c4506SPoul-Henning Kamp 218e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM). 219e0d781f3SEivind Eklund# This makes "atm.h" unusable. 220e0d781f3SEivind EklundNATM opt_natm.h 221e0d781f3SEivind Eklund 222528784edSJustin T. GibbsDPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory 223528784edSJustin T. Gibbs # mapped I/O 2243458e54aSJulian Elischer# DPT driver debug flags 2253458e54aSJulian ElischerDPT_VERIFY_HINTR opt_dpt.h 2263458e54aSJulian ElischerDPT_USE_SINTR opt_dpt.h 2273458e54aSJulian ElischerDPT_RESTRICTED_FREELIST opt_dpt.h 2283458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE opt_dpt.h 2293458e54aSJulian ElischerDPT_FREELIST_IS_STACK opt_dpt.h 2303458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS opt_dpt.h 2313458e54aSJulian ElischerDPT_TIMEOUT_FACTOR opt_dpt.h 2323458e54aSJulian ElischerDPT_INTR_DELAY opt_dpt.h 2333458e54aSJulian ElischerDPT_LOST_IRQ opt_dpt.h 234b755b885SEivind EklundDPT_SHUTDOWN_SLEEP opt_dpt.h 235b755b885SEivind EklundDPT_RESET_HBA opt_dpt.h 2363f2076daSEivind Eklund 2373f2076daSEivind Eklund# Misc debug flags. Most of these should probably be replaced with 2383f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules 2393f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'. 2403f2076daSEivind EklundCLUSTERDEBUG opt_debug_cluster.h 241a6de7b79SNicolas SouchuDEBUG_1284 opt_ppb_1284.h 242a6de7b79SNicolas SouchuPERIPH_1284 opt_ppb_1284.h 243a6de7b79SNicolas SouchuDONTPROBE_1284 opt_ppb_1284.h 244a6de7b79SNicolas SouchuVP0_DEBUG opt_vpo.h 245a6de7b79SNicolas SouchuNLPT_DEBUG opt_nlpt.h 2463f2076daSEivind EklundLOCKF_DEBUG opt_debug_lockf.h 2473f2076daSEivind EklundLOUTB opt_debug_outb.h 2483f2076daSEivind EklundNPX_DEBUG opt_debug_npx.h 2493f2076daSEivind EklundNETATALKDEBUG opt_atalk.h 2503f2076daSEivind EklundNULLFS_DIAGNOSTIC opt_debug_nullfs.h 2513f2076daSEivind EklundSI_DEBUG opt_debug_si.h 2523f2076daSEivind Eklund 2533f2076daSEivind Eklund 25414834de4SEivind Eklund# These cause changes all over the kernel 25514834de4SEivind EklundDEBUG opt_global.h 2565526d2d9SEivind EklundDEBUG_VFS_LOCKS opt_global.h 25714834de4SEivind EklundDIAGNOSTIC opt_global.h 258b1a7842bSJohn DysonENABLE_VFS_IOOPT opt_global.h 2595526d2d9SEivind EklundINVARIANT_SUPPORT opt_global.h 2605526d2d9SEivind EklundINVARIANTS opt_global.h 2615526d2d9SEivind EklundSIMPLELOCK_DEBUG opt_global.h 2625526d2d9SEivind EklundVFS_BIO_DEBUG opt_global.h 263d9bed5beSJohn Dyson 264d9bed5beSJohn Dyson# These are VM related options 265d9bed5beSJohn DysonVM_KMEM_SIZE opt_vm.h 266d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h 267d9bed5beSJohn DysonVM_KMEM_SIZE_MAX opt_vm.h 268faa5f8d8SAndrzej BialeckiNO_SWAPPING opt_vm.h 26920f71813SJohn-Mark GurneyPQ_NOOPT opt_vmpage.h 27020f71813SJohn-Mark GurneyPQ_NORMALCACHE opt_vmpage.h 27120f71813SJohn-Mark GurneyPQ_MEDIUMCACHE opt_vmpage.h 27220f71813SJohn-Mark GurneyPQ_LARGECACHE opt_vmpage.h 27320f71813SJohn-Mark GurneyPQ_HUGECACHE opt_vmpage.h 27420f71813SJohn-Mark Gurney 275ecd19816SMike Smith# Standard SMP options 276ecd19816SMike SmithSMP opt_global.h 277ecd19816SMike SmithNCPU opt_smp.h 278ecd19816SMike SmithNBUS opt_smp.h 279751bf650SJun-ichiro itojun Hagino 280751bf650SJun-ichiro itojun Hagino# sys/netkey 281751bf650SJun-ichiro itojun HaginoKEY 282751bf650SJun-ichiro itojun HaginoKEY_DEBUG opt_key.h 28358067a99SPoul-Henning Kamp 28458067a99SPoul-Henning Kamp# Size of the kernel message buffer 28558067a99SPoul-Henning KampMSGBUF_SIZE opt_msgbuf.h 286ecbb00a2SDoug Rabson 287e261d589SJohn-Mark Gurney# PCI related options 288e261d589SJohn-Mark GurneyPCI_QUIET opt_pci.h 289e261d589SJohn-Mark Gurney 290df394affSJohn-Mark Gurney# NFS options 291df394affSJohn-Mark GurneyNFS_MINATTRTIMO opt_nfs.h 292df394affSJohn-Mark GurneyNFS_MAXATTRTIMO opt_nfs.h 293df394affSJohn-Mark GurneyNFS_MINDIRATTRTIMO opt_nfs.h 294df394affSJohn-Mark GurneyNFS_MAXDIRATTRTIMO opt_nfs.h 295df394affSJohn-Mark GurneyNFS_GATHERDELAY opt_nfs.h 296df394affSJohn-Mark GurneyNFS_UIDHASHSIZ opt_nfs.h 297df394affSJohn-Mark GurneyNFS_WDELAYHASHSIZ opt_nfs.h 298df394affSJohn-Mark GurneyNFS_MUIDHASHSIZ opt_nfs.h 299df394affSJohn-Mark GurneyNFS_NOSERVER opt_nfs.h 300df394affSJohn-Mark GurneyNFS_DEBUG opt_nfs.h 301df394affSJohn-Mark Gurney 3023f139a1aSJohn-Mark Gurney# give bktr an opt_bktr.h file 303dd70aa7fSSøren SchmidtOVERRIDE_CARD opt_bktr.h 3043f139a1aSJohn-Mark GurneyOVERRIDE_TUNER opt_bktr.h 3055d0c8abaSSøren SchmidtOVERRIDE_DBX opt_bktr.h 3065d0c8abaSSøren SchmidtOVERRIDE_MSP opt_bktr.h 3075d0c8abaSSøren SchmidtBROOKTREE_SYSTEM_DEFAULT opt_bktr.h 30858dde31aSSøren SchmidtBKTR_USE_PLL opt_bktr.h 30958dde31aSSøren Schmidt 3103f139a1aSJohn-Mark Gurney 311afc2d1c7SJordan K. Hubbard# meteor opt_meteor.h 312afc2d1c7SJordan K. HubbardMETEOR_ALLOC_PAGES opt_meteor.h 313afc2d1c7SJordan K. HubbardMETEOR_TEST_VIDEO opt_meteor.h 314afc2d1c7SJordan K. HubbardMETEOR_SYSTEM_DEFAULT opt_meteor.h 315afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_PAGES opt_meteor.h 316afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_ABOVE opt_meteor.h 317afc2d1c7SJordan K. Hubbard 318ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator. 319ecbb00a2SDoug RabsonSIMOS opt_simos.h 320709f2df6SDoug Rabson 321709f2df6SDoug Rabson# options for bus/device framework 322709f2df6SDoug RabsonBUS_DEBUG opt_bus.h 3230cec007cSNick Hibma 3240cec007cSNick Hibma# options for USB support 3250cec007cSNick HibmaUSB_DEBUG opt_usb.h 3260cec007cSNick HibmaUSBVERBOSE opt_usb.h 327a9d45962SPeter Wemm 328a9d45962SPeter Wemm# Vinum options 329a9d45962SPeter WemmVINUMDEBUG opt_vinum.h 330