xref: /freebsd/sys/conf/options (revision df394affa248f24fd597b349ef3e04ff0e5a9476)
1df394affSJohn-Mark Gurney#	$Id: options,v 1.78 1998/06/28 01:03:13 dfr 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
333d20a1ffSBruce Evans# Miscellaneous options.
348890984dSGarrett WollmanBOUNCE_BUFFERS	opt_bounce.h
35f71bb3a1SEivind EklundCOMPAT_43	opt_compat.h
36f71bb3a1SEivind EklundCOMPAT_SUNOS	opt_compat.h
37346ebe51SEivind EklundCOMPILING_LINT	opt_lint.h
380e41ee30SGarrett WollmanDDB
391664f6f5SPaul TrainaDDB_UNATTENDED	opt_ddb.h
40562d05dfSPaul TrainaGDB_REMOTE_CHAT	opt_ddb.h
4114c35d6cSDoug RabsonDB_KLD_SYMBOLS	opt_ddb.h
4214c35d6cSDoug RabsonDB_ELF_SYMBOLS	opt_ddb.h
437b778b5eSEivind EklundDEVFS
44c0bab11dSJulian ElischerSLICE		opt_devfs.h
457dff1433SEivind EklundFAILSAFE
46d94f38acSEivind EklundHW_WDOG
474bd49128SPeter WemmKTRACE
48455bb211SEivind EklundMD5
497b778b5eSEivind EklundMFS_AUTOLOAD	opt_mfs.h
507b778b5eSEivind EklundMFS_ROOT	opt_mfs.h
51be41061bSEivind EklundNO_LKM
52f71bb3a1SEivind EklundNSWAPDEV	opt_swap.h
53e0d781f3SEivind EklundPPS_SYNC	opt_ntp.h
543d20a1ffSBruce EvansQUOTA
55cecc50bcSEivind EklundSPX_HACK
56f71bb3a1SEivind EklundSUIDDIR		opt_suiddir.h
573d20a1ffSBruce EvansSYSVMSG		opt_sysvipc.h
583d20a1ffSBruce EvansSYSVSEM		opt_sysvipc.h
593d20a1ffSBruce EvansSYSVSHM		opt_sysvipc.h
603d20a1ffSBruce EvansUCONSOLE
61d03b4017SBruce Evans
628a6472b7SPeter Dufault# POSIX kernel options
638a6472b7SPeter DufaultP1003_1B	opt_posix.h
648a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h
658a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h
66917e476dSPeter Dufault
67808129f0SPeter Wemm# Do we want the config file compiled into the kernel?
68808129f0SPeter WemmINCLUDE_CONFIG_FILE	opt_config.h
69808129f0SPeter Wemm
70d03b4017SBruce Evans# Options for static file systems.  These should only be used at config
71d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static
72d03b4017SBruce Evans# dependencies.  Unusability is enforced by hiding the defines for the
73d03b4017SBruce Evans# options in a never-included header.
74f41991baSEivind EklundEXT2FS		opt_dontuse.h
75d03b4017SBruce EvansFDESC		opt_dontuse.h
76d03b4017SBruce EvansKERNFS		opt_dontuse.h
776cce9950SJoerg WunschMFS		opt_dontuse.h
78f41991baSEivind EklundMSDOSFS		opt_dontuse.h
79d03b4017SBruce EvansNULLFS		opt_dontuse.h
80d03b4017SBruce EvansPORTAL		opt_dontuse.h
81d03b4017SBruce EvansPROCFS		opt_dontuse.h
82d03b4017SBruce EvansUMAPFS		opt_dontuse.h
83d03b4017SBruce Evans
847b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in
857b778b5eSEivind Eklund# sys/i386/i386/autoconf.c.  If any of these filesystems are
867b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root
877b778b5eSEivind Eklund# filesystems will be enabled - but look below.  Boot-code is purposely
887b778b5eSEivind Eklund# unavailable for the LKM-based versions.
890ef41896SJordan K. HubbardCFS
905a9714deSJoerg WunschCD9660
917b778b5eSEivind EklundFFS
927b778b5eSEivind EklundNFS
935a9714deSJoerg Wunsch
94b1897c19SJulian Elischer# If you are following the conditions in the copyright,
95b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs
96b1897c19SJulian Elischer# and make the system safer from crashes at the same time.
97b1897c19SJulian Elischer# otherwise a STUB module will be compiled in.
98b1897c19SJulian ElischerSOFTUPDATES	opt_ffs.h
99b1897c19SJulian Elischer
1007b778b5eSEivind Eklund# The above static dependencies are planned removed, with a
1017b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root.  This list
1027b778b5eSEivind Eklund# allows these options to be present in config files already (though
1037b778b5eSEivind Eklund# they won't make any difference yet).
1047b778b5eSEivind EklundCD9660_ROOT	opt_cd9660.h
1057b778b5eSEivind EklundFFS_ROOT	opt_ffs.h
106df394affSJohn-Mark GurneyNFS_ROOT	opt_nfsroot.h
1077b778b5eSEivind Eklund
1087b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to
1097b778b5eSEivind Eklund# "settle".  If we are about mounting them as the root f/s, we gotta
1107b778b5eSEivind Eklund# wait a little.
1115a9714deSJoerg WunschCD9660_ROOTDELAY	opt_cd9660.h
1125a9714deSJoerg Wunsch
113d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't
114d03b4017SBruce Evans# hidden yet.
115d03b4017SBruce EvansUNION
116d03b4017SBruce Evans
11781fc841cSBruce Evans# Options used only in param.c.
1185131d64eSBruce EvansEXTRAVNODES	opt_defunct.h
1193d20a1ffSBruce EvansMSGMNB		opt_param.h
1203d20a1ffSBruce EvansMSGMNI		opt_param.h
1213d20a1ffSBruce EvansMSGSEG		opt_param.h
1223d20a1ffSBruce EvansMSGSSZ		opt_param.h
1233d20a1ffSBruce EvansMSGTQL		opt_param.h
1243d20a1ffSBruce EvansNBUF		opt_param.h
1254bd49128SPeter WemmNMBCLUSTERS	opt_param.h
1264bd49128SPeter WemmSEMMAP		opt_param.h
1274bd49128SPeter WemmSEMMNI		opt_param.h
1284bd49128SPeter WemmSEMMNS		opt_param.h
1294bd49128SPeter WemmSEMMNU		opt_param.h
1304bd49128SPeter WemmSEMMSL		opt_param.h
1314bd49128SPeter WemmSEMOPM		opt_param.h
1324bd49128SPeter WemmSEMUME		opt_param.h
1333d20a1ffSBruce EvansSHMALL		opt_param.h
1343d20a1ffSBruce EvansSHMMAX		opt_param.h
1353d20a1ffSBruce EvansSHMMAXPGS	opt_param.h
1363d20a1ffSBruce EvansSHMMIN		opt_param.h
1373d20a1ffSBruce EvansSHMMNI		opt_param.h
1383d20a1ffSBruce EvansSHMSEG		opt_param.h
13981fc841cSBruce Evans
14081fc841cSBruce Evans# Generic SCSI options.
1416bc025e1SJoerg WunschSCSIDEBUG		opt_scsi.h
1423d20a1ffSBruce EvansSCSI_DELAY		opt_scsi.h
1433d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY	opt_scsi.h
144ec1f7adfSEivind EklundSCSI_2_DEF		opt_scsi.h
14581fc841cSBruce Evans
146c30bc9dbSJoerg Wunsch# Options used only in scsi/od.c.
147c30bc9dbSJoerg WunschOD_AUTO_TURNOFF		opt_od.h
1483d20a1ffSBruce EvansOD_BOGUS_NOT_READY	opt_od.h
149c30bc9dbSJoerg Wunsch
15021ffa5aeSStefan Eßer# Options used only in pci/ncr.c
1513d20a1ffSBruce EvansSCSI_NCR_DEBUG		opt_ncr.h
1523d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS	opt_ncr.h
153a5bef142SBruce EvansSCSI_NCR_MAX_SYNC	opt_ncr.h
154a5bef142SBruce EvansSCSI_NCR_MAX_WIDE	opt_ncr.h
1553d20a1ffSBruce EvansSCSI_NCR_MYADDR		opt_ncr.h
15621ffa5aeSStefan Eßer
15781fc841cSBruce Evans# Resource limits.
1580f171f59SBruce EvansCHILD_MAX		opt_defunct.h
159e9822d92SJoerg WunschDFLDSIZ			opt_rlimit.h
1603d20a1ffSBruce EvansMAXDSIZ			opt_rlimit.h
1610f171f59SBruce EvansOPEN_MAX		opt_defunct.h
16281fc841cSBruce Evans
16381fc841cSBruce Evans# Net stuff.
1641e49bd9cSGarrett WollmanARP_PROXYALL		opt_defunct.h
165e4f4247aSEivind EklundBOOTP			opt_bootp.h
166e4f4247aSEivind EklundBOOTP_COMPAT		opt_bootp.h
167e4f4247aSEivind EklundBOOTP_NFSROOT		opt_bootp.h
168e4f4247aSEivind EklundBOOTP_NFSV3		opt_bootp.h
1698f7030a7STor EggeBOOTP_WIRED_TO		opt_bootp.h
1700f171f59SBruce EvansGATEWAY			opt_defunct.h
1714bd49128SPeter WemmMROUTING		opt_mrouting.h
1721d5e9e22SEivind EklundINET			opt_inet.h
173fbd1372aSJoerg WunschIPDIVERT
17474a9466cSGary PalmerIPFIREWALL		opt_ipfw.h
17574a9466cSGary PalmerIPFIREWALL_VERBOSE	opt_ipfw.h
176fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT	opt_ipfw.h
177ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT	opt_ipfw.h
178bb60f459SJulian Elischer#temp option to change ipfw/divert semantics. Should become standard.
179e256a933SJulian ElischerIPFW_DIVERT_OLDRESTART	opt_ipfw.h
180430df5f4SEivind EklundIPX			opt_ipx.h
181430df5f4SEivind EklundIPXIP			opt_ipx.h
182430df5f4SEivind EklundIPTUNNEL		opt_ipx.h
1837262d3e4SEivind EklundNETATALK		opt_atalk.h
18413c49711SPeter WemmPPP_BSDCOMP		opt_ppp.h
18513c49711SPeter WemmPPP_DEFLATE		opt_ppp.h
186d41238deSPeter WemmPPP_FILTER		opt_ppp.h
18792252381SEivind EklundTCP_COMPAT_42		opt_compat.h
1880cc12cc5SJoerg WunschTCPDEBUG
1891ee25934SPeter WemmIPFILTER		opt_ipfilter.h
1901ee25934SPeter WemmIPFILTER_LOG		opt_ipfilter.h
1911ee25934SPeter WemmIPFILTER_LKM		opt_ipfilter.h
1923458e54aSJulian Elischer
193e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM).
194e0d781f3SEivind Eklund# This makes "atm.h" unusable.
195e0d781f3SEivind EklundNATM			opt_natm.h
196e0d781f3SEivind Eklund
1973458e54aSJulian Elischer# DPT driver debug flags
1983458e54aSJulian ElischerDPT_VERIFY_HINTR        opt_dpt.h
1993458e54aSJulian ElischerDPT_USE_SINTR           opt_dpt.h
2003458e54aSJulian ElischerDPT_RESTRICTED_FREELIST opt_dpt.h
2013458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE opt_dpt.h
2023458e54aSJulian ElischerDPT_FREELIST_IS_STACK   opt_dpt.h
2033458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS     opt_dpt.h
2043458e54aSJulian ElischerDPT_TIMEOUT_FACTOR      opt_dpt.h
2053458e54aSJulian ElischerDPT_INTR_DELAY		opt_dpt.h
2063458e54aSJulian ElischerDPT_LOST_IRQ		opt_dpt.h
2073f2076daSEivind Eklund
2083f2076daSEivind Eklund# Misc debug flags.  Most of these should probably be replaced with
2093f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules
2103f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'.
2113f2076daSEivind EklundCLUSTERDEBUG		opt_debug_cluster.h
2123f2076daSEivind EklundDEBUG_1284		opt_debug_1284.h
2133f2076daSEivind EklundLOCKF_DEBUG		opt_debug_lockf.h
2143f2076daSEivind EklundLOUTB			opt_debug_outb.h
2153f2076daSEivind EklundNPX_DEBUG		opt_debug_npx.h
2163f2076daSEivind EklundNETATALKDEBUG		opt_atalk.h
2173f2076daSEivind EklundNULLFS_DIAGNOSTIC	opt_debug_nullfs.h
2183f2076daSEivind EklundSI_DEBUG		opt_debug_si.h
2193f2076daSEivind Eklund
2203f2076daSEivind Eklund
22114834de4SEivind Eklund# These cause changes all over the kernel
22214834de4SEivind EklundDEBUG			opt_global.h
22314834de4SEivind EklundDIAGNOSTIC		opt_global.h
2243f2076daSEivind EklundSIMPLELOCK_DEBUG	opt_global.h
225b1a7842bSJohn DysonENABLE_VFS_IOOPT	opt_global.h
226d9bed5beSJohn Dyson
227d9bed5beSJohn Dyson# These are VM related options
228d9bed5beSJohn DysonVM_KMEM_SIZE	opt_vm.h
229d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h
230d9bed5beSJohn DysonVM_KMEM_SIZE_MAX	opt_vm.h
231751bf650SJun-ichiro itojun Hagino
232751bf650SJun-ichiro itojun Hagino# sys/netkey
233751bf650SJun-ichiro itojun HaginoKEY
234751bf650SJun-ichiro itojun HaginoKEY_DEBUG		opt_key.h
23558067a99SPoul-Henning Kamp
23658067a99SPoul-Henning Kamp# Size of the kernel message buffer
23758067a99SPoul-Henning KampMSGBUF_SIZE		opt_msgbuf.h
238ecbb00a2SDoug Rabson
239df394affSJohn-Mark Gurney# NFS options
240df394affSJohn-Mark GurneyNFS_MINATTRTIMO		opt_nfs.h
241df394affSJohn-Mark GurneyNFS_MAXATTRTIMO		opt_nfs.h
242df394affSJohn-Mark GurneyNFS_MINDIRATTRTIMO	opt_nfs.h
243df394affSJohn-Mark GurneyNFS_MAXDIRATTRTIMO	opt_nfs.h
244df394affSJohn-Mark GurneyNFS_GATHERDELAY		opt_nfs.h
245df394affSJohn-Mark GurneyNFS_UIDHASHSIZ		opt_nfs.h
246df394affSJohn-Mark GurneyNFS_WDELAYHASHSIZ	opt_nfs.h
247df394affSJohn-Mark GurneyNFS_MUIDHASHSIZ		opt_nfs.h
248df394affSJohn-Mark GurneyNFS_NOSERVER		opt_nfs.h
249df394affSJohn-Mark GurneyNFS_DEBUG		opt_nfs.h
250df394affSJohn-Mark Gurney
251ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator.
252ecbb00a2SDoug RabsonSIMOS			opt_simos.h
253