xref: /freebsd/sys/conf/options (revision a6de7b79d998199f4efde818c633856e53be9a2c)
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