10cec007cSNick Hibma# $Id: options,v 1.108 1998/11/23 09:58:59 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 69d03b4017SBruce Evans 708a6472b7SPeter Dufault# POSIX kernel options 718a6472b7SPeter DufaultP1003_1B opt_posix.h 728a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h 738a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h 74917e476dSPeter Dufault 75808129f0SPeter Wemm# Do we want the config file compiled into the kernel? 76808129f0SPeter WemmINCLUDE_CONFIG_FILE opt_config.h 77808129f0SPeter Wemm 78d03b4017SBruce Evans# Options for static file systems. These should only be used at config 79d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static 80d03b4017SBruce Evans# dependencies. Unusability is enforced by hiding the defines for the 81d03b4017SBruce Evans# options in a never-included header. 82f41991baSEivind EklundEXT2FS opt_dontuse.h 83d03b4017SBruce EvansFDESC opt_dontuse.h 84d03b4017SBruce EvansKERNFS opt_dontuse.h 856cce9950SJoerg WunschMFS opt_dontuse.h 86f41991baSEivind EklundMSDOSFS opt_dontuse.h 87d03b4017SBruce EvansNULLFS opt_dontuse.h 88d03b4017SBruce EvansPORTAL opt_dontuse.h 89d03b4017SBruce EvansPROCFS opt_dontuse.h 90d03b4017SBruce EvansUMAPFS opt_dontuse.h 91d03b4017SBruce Evans 927b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in 937b778b5eSEivind Eklund# sys/i386/i386/autoconf.c. If any of these filesystems are 947b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root 957b778b5eSEivind Eklund# filesystems will be enabled - but look below. Boot-code is purposely 967b778b5eSEivind Eklund# unavailable for the LKM-based versions. 979afcea2fSRobert V. BaronCODA 985a9714deSJoerg WunschCD9660 997b778b5eSEivind EklundFFS 1007b778b5eSEivind EklundNFS 1015a9714deSJoerg Wunsch 102b1897c19SJulian Elischer# If you are following the conditions in the copyright, 103b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs 104b1897c19SJulian Elischer# and make the system safer from crashes at the same time. 105b1897c19SJulian Elischer# otherwise a STUB module will be compiled in. 106b1897c19SJulian ElischerSOFTUPDATES opt_ffs.h 107b1897c19SJulian Elischer 1087b778b5eSEivind Eklund# The above static dependencies are planned removed, with a 1097b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root. This list 1107b778b5eSEivind Eklund# allows these options to be present in config files already (though 1117b778b5eSEivind Eklund# they won't make any difference yet). 1127b778b5eSEivind EklundCD9660_ROOT opt_cd9660.h 1137b778b5eSEivind EklundFFS_ROOT opt_ffs.h 114df394affSJohn-Mark GurneyNFS_ROOT opt_nfsroot.h 1157b778b5eSEivind Eklund 1167b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to 1177b778b5eSEivind Eklund# "settle". If we are about mounting them as the root f/s, we gotta 1187b778b5eSEivind Eklund# wait a little. 1195a9714deSJoerg WunschCD9660_ROOTDELAY opt_cd9660.h 1205a9714deSJoerg Wunsch 121d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't 122d03b4017SBruce Evans# hidden yet. 123d03b4017SBruce EvansUNION 124d03b4017SBruce Evans 12581fc841cSBruce Evans# Options used only in param.c. 12695de6ecfSBruce EvansMAXUSERS opt_param.h 1273d20a1ffSBruce EvansMSGMNB opt_param.h 1283d20a1ffSBruce EvansMSGMNI opt_param.h 1293d20a1ffSBruce EvansMSGSEG opt_param.h 1303d20a1ffSBruce EvansMSGSSZ opt_param.h 1313d20a1ffSBruce EvansMSGTQL opt_param.h 1323d20a1ffSBruce EvansNBUF opt_param.h 1334bd49128SPeter WemmNMBCLUSTERS opt_param.h 134dd0b2081SDavid GreenmanNSFBUFS opt_param.h 1354bd49128SPeter WemmSEMMAP opt_param.h 1364bd49128SPeter WemmSEMMNI opt_param.h 1374bd49128SPeter WemmSEMMNS opt_param.h 1384bd49128SPeter WemmSEMMNU opt_param.h 1394bd49128SPeter WemmSEMMSL opt_param.h 1404bd49128SPeter WemmSEMOPM opt_param.h 1414bd49128SPeter WemmSEMUME opt_param.h 1423d20a1ffSBruce EvansSHMALL opt_param.h 1433d20a1ffSBruce EvansSHMMAX opt_param.h 1443d20a1ffSBruce EvansSHMMAXPGS opt_param.h 1453d20a1ffSBruce EvansSHMMIN opt_param.h 1463d20a1ffSBruce EvansSHMMNI opt_param.h 1473d20a1ffSBruce EvansSHMSEG opt_param.h 14881fc841cSBruce Evans 14981fc841cSBruce Evans# Generic SCSI options. 150bf21c633SJustin T. GibbsCAM_MAX_HIGHPOWER opt_cam.h 151bf21c633SJustin T. GibbsCAMDEBUG opt_cam.h 152bf21c633SJustin T. GibbsCAM_DEBUG_BUS opt_cam.h 153bf21c633SJustin T. GibbsCAM_DEBUG_TARGET opt_cam.h 154bf21c633SJustin T. GibbsCAM_DEBUG_LUN opt_cam.h 155bf21c633SJustin T. GibbsCAM_DEBUG_FLAGS opt_cam.h 1563d20a1ffSBruce EvansSCSI_DELAY opt_scsi.h 1573d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY opt_scsi.h 158bf21c633SJustin T. GibbsSCSI_NO_SENSE_STRINGS opt_scsi.h 159bf21c633SJustin T. GibbsSCSI_NO_OP_STRINGS opt_scsi.h 160bf21c633SJustin T. Gibbs 161bf21c633SJustin T. Gibbs# Options used only in cam/scsi/scsi_cd.c 162bf21c633SJustin T. GibbsCHANGER_MIN_BUSY_SECONDS opt_cd.h 163bf21c633SJustin T. GibbsCHANGER_MAX_BUSY_SECONDS opt_cd.h 16481fc841cSBruce Evans 1659dfb4471SKenneth D. Merry# Options used only in cam/scsi/sa.c. 1669dfb4471SKenneth D. MerrySA_SPACE_TIMEOUT opt_sa.h 1679dfb4471SKenneth D. MerrySA_REWIND_TIMEOUT opt_sa.h 1689dfb4471SKenneth D. MerrySA_ERASE_TIMEOUT opt_sa.h 169c30bc9dbSJoerg Wunsch 17021ffa5aeSStefan Eßer# Options used only in pci/ncr.c 1713d20a1ffSBruce EvansSCSI_NCR_DEBUG opt_ncr.h 1723d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS opt_ncr.h 173a5bef142SBruce EvansSCSI_NCR_MAX_SYNC opt_ncr.h 174a5bef142SBruce EvansSCSI_NCR_MAX_WIDE opt_ncr.h 1753d20a1ffSBruce EvansSCSI_NCR_MYADDR opt_ncr.h 17621ffa5aeSStefan Eßer 17781fc841cSBruce Evans# Resource limits. 178e9822d92SJoerg WunschDFLDSIZ opt_rlimit.h 1793d20a1ffSBruce EvansMAXDSIZ opt_rlimit.h 18081fc841cSBruce Evans 18181fc841cSBruce Evans# Net stuff. 182e4f4247aSEivind EklundBOOTP opt_bootp.h 183e4f4247aSEivind EklundBOOTP_COMPAT opt_bootp.h 184e4f4247aSEivind EklundBOOTP_NFSROOT opt_bootp.h 185e4f4247aSEivind EklundBOOTP_NFSV3 opt_bootp.h 1868f7030a7STor EggeBOOTP_WIRED_TO opt_bootp.h 1874bd49128SPeter WemmMROUTING opt_mrouting.h 1881d5e9e22SEivind EklundINET opt_inet.h 189fbd1372aSJoerg WunschIPDIVERT 19074a9466cSGary PalmerIPFIREWALL opt_ipfw.h 19174a9466cSGary PalmerIPFIREWALL_VERBOSE opt_ipfw.h 192fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT opt_ipfw.h 193ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h 194cdcc2613SJulian ElischerIPFIREWALL_FORWARD opt_ipfw.h 195430df5f4SEivind EklundIPX opt_ipx.h 196430df5f4SEivind EklundIPXIP opt_ipx.h 197430df5f4SEivind EklundIPTUNNEL opt_ipx.h 1987262d3e4SEivind EklundNETATALK opt_atalk.h 19913c49711SPeter WemmPPP_BSDCOMP opt_ppp.h 20013c49711SPeter WemmPPP_DEFLATE opt_ppp.h 201d41238deSPeter WemmPPP_FILTER opt_ppp.h 20292252381SEivind EklundTCP_COMPAT_42 opt_compat.h 2030cc12cc5SJoerg WunschTCPDEBUG 2041ee25934SPeter WemmIPFILTER opt_ipfilter.h 2051ee25934SPeter WemmIPFILTER_LOG opt_ipfilter.h 2061ee25934SPeter WemmIPFILTER_LKM opt_ipfilter.h 2073458e54aSJulian Elischer 2083f8c4506SPoul-Henning Kamp# ATM (HARP version) 2093f8c4506SPoul-Henning KampATM_CORE opt_atm.h 2103f8c4506SPoul-Henning KampATM_IP opt_atm.h 2113f8c4506SPoul-Henning KampATM_SIGPVC opt_atm.h 2123f8c4506SPoul-Henning KampATM_SPANS opt_atm.h 2133f8c4506SPoul-Henning KampATM_UNI opt_atm.h 2143f8c4506SPoul-Henning Kamp 215e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM). 216e0d781f3SEivind Eklund# This makes "atm.h" unusable. 217e0d781f3SEivind EklundNATM opt_natm.h 218e0d781f3SEivind Eklund 219528784edSJustin T. GibbsDPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory 220528784edSJustin T. Gibbs # mapped I/O 2213458e54aSJulian Elischer# DPT driver debug flags 2223458e54aSJulian ElischerDPT_VERIFY_HINTR opt_dpt.h 2233458e54aSJulian ElischerDPT_USE_SINTR opt_dpt.h 2243458e54aSJulian ElischerDPT_RESTRICTED_FREELIST opt_dpt.h 2253458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE opt_dpt.h 2263458e54aSJulian ElischerDPT_FREELIST_IS_STACK opt_dpt.h 2273458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS opt_dpt.h 2283458e54aSJulian ElischerDPT_TIMEOUT_FACTOR opt_dpt.h 2293458e54aSJulian ElischerDPT_INTR_DELAY opt_dpt.h 2303458e54aSJulian ElischerDPT_LOST_IRQ opt_dpt.h 231b755b885SEivind EklundDPT_SHUTDOWN_SLEEP opt_dpt.h 232b755b885SEivind EklundDPT_RESET_HBA opt_dpt.h 2333f2076daSEivind Eklund 2343f2076daSEivind Eklund# Misc debug flags. Most of these should probably be replaced with 2353f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules 2363f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'. 2373f2076daSEivind EklundCLUSTERDEBUG opt_debug_cluster.h 2383f2076daSEivind EklundDEBUG_1284 opt_debug_1284.h 2393f2076daSEivind EklundLOCKF_DEBUG opt_debug_lockf.h 2403f2076daSEivind EklundLOUTB opt_debug_outb.h 2413f2076daSEivind EklundNPX_DEBUG opt_debug_npx.h 2423f2076daSEivind EklundNETATALKDEBUG opt_atalk.h 2433f2076daSEivind EklundNULLFS_DIAGNOSTIC opt_debug_nullfs.h 2443f2076daSEivind EklundSI_DEBUG opt_debug_si.h 2453f2076daSEivind Eklund 2463f2076daSEivind Eklund 24714834de4SEivind Eklund# These cause changes all over the kernel 24814834de4SEivind EklundDEBUG opt_global.h 24914834de4SEivind EklundDIAGNOSTIC opt_global.h 2503f2076daSEivind EklundSIMPLELOCK_DEBUG opt_global.h 251b1a7842bSJohn DysonENABLE_VFS_IOOPT opt_global.h 252d9bed5beSJohn Dyson 253d9bed5beSJohn Dyson# These are VM related options 254d9bed5beSJohn DysonVM_KMEM_SIZE opt_vm.h 255d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h 256d9bed5beSJohn DysonVM_KMEM_SIZE_MAX opt_vm.h 257faa5f8d8SAndrzej BialeckiNO_SWAPPING opt_vm.h 25820f71813SJohn-Mark GurneyPQ_NOOPT opt_vmpage.h 25920f71813SJohn-Mark GurneyPQ_NORMALCACHE opt_vmpage.h 26020f71813SJohn-Mark GurneyPQ_MEDIUMCACHE opt_vmpage.h 26120f71813SJohn-Mark GurneyPQ_LARGECACHE opt_vmpage.h 26220f71813SJohn-Mark GurneyPQ_HUGECACHE opt_vmpage.h 26320f71813SJohn-Mark Gurney 264751bf650SJun-ichiro itojun Hagino 265751bf650SJun-ichiro itojun Hagino# sys/netkey 266751bf650SJun-ichiro itojun HaginoKEY 267751bf650SJun-ichiro itojun HaginoKEY_DEBUG opt_key.h 26858067a99SPoul-Henning Kamp 26958067a99SPoul-Henning Kamp# Size of the kernel message buffer 27058067a99SPoul-Henning KampMSGBUF_SIZE opt_msgbuf.h 271ecbb00a2SDoug Rabson 272e261d589SJohn-Mark Gurney# PCI related options 273e261d589SJohn-Mark GurneyPCI_QUIET opt_pci.h 274e261d589SJohn-Mark Gurney 275df394affSJohn-Mark Gurney# NFS options 276df394affSJohn-Mark GurneyNFS_MINATTRTIMO opt_nfs.h 277df394affSJohn-Mark GurneyNFS_MAXATTRTIMO opt_nfs.h 278df394affSJohn-Mark GurneyNFS_MINDIRATTRTIMO opt_nfs.h 279df394affSJohn-Mark GurneyNFS_MAXDIRATTRTIMO opt_nfs.h 280df394affSJohn-Mark GurneyNFS_GATHERDELAY opt_nfs.h 281df394affSJohn-Mark GurneyNFS_UIDHASHSIZ opt_nfs.h 282df394affSJohn-Mark GurneyNFS_WDELAYHASHSIZ opt_nfs.h 283df394affSJohn-Mark GurneyNFS_MUIDHASHSIZ opt_nfs.h 284df394affSJohn-Mark GurneyNFS_NOSERVER opt_nfs.h 285df394affSJohn-Mark GurneyNFS_DEBUG opt_nfs.h 286df394affSJohn-Mark Gurney 2873f139a1aSJohn-Mark Gurney# give bktr an opt_bktr.h file 288dd70aa7fSSøren SchmidtOVERRIDE_CARD opt_bktr.h 2893f139a1aSJohn-Mark GurneyOVERRIDE_TUNER opt_bktr.h 2905d0c8abaSSøren SchmidtOVERRIDE_DBX opt_bktr.h 2915d0c8abaSSøren SchmidtOVERRIDE_MSP opt_bktr.h 2925d0c8abaSSøren SchmidtBROOKTREE_SYSTEM_DEFAULT opt_bktr.h 29358dde31aSSøren SchmidtBKTR_USE_PLL opt_bktr.h 29458dde31aSSøren Schmidt 2953f139a1aSJohn-Mark Gurney 296afc2d1c7SJordan K. Hubbard# meteor opt_meteor.h 297afc2d1c7SJordan K. HubbardMETEOR_ALLOC_PAGES opt_meteor.h 298afc2d1c7SJordan K. HubbardMETEOR_TEST_VIDEO opt_meteor.h 299afc2d1c7SJordan K. HubbardMETEOR_SYSTEM_DEFAULT opt_meteor.h 300afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_PAGES opt_meteor.h 301afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_ABOVE opt_meteor.h 302afc2d1c7SJordan K. Hubbard 303ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator. 304ecbb00a2SDoug RabsonSIMOS opt_simos.h 305709f2df6SDoug Rabson 306709f2df6SDoug Rabson# options for bus/device framework 307709f2df6SDoug RabsonBUS_DEBUG opt_bus.h 3080cec007cSNick Hibma 3090cec007cSNick Hibma# options for USB support 3100cec007cSNick HibmaUSB_DEBUG opt_usb.h 3110cec007cSNick HibmaUSBVERBOSE opt_usb.h 312