xref: /freebsd/sys/conf/options (revision ecbb00a2629050fd720dc376a33c45f4ad767cea)
1ecbb00a2SDoug Rabson#	$Id: options,v 1.76 1998/06/05 22:39:49 julian 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
417b778b5eSEivind EklundDEVFS
42c0bab11dSJulian ElischerSLICE		opt_devfs.h
437dff1433SEivind EklundFAILSAFE
44d94f38acSEivind EklundHW_WDOG
454bd49128SPeter WemmKTRACE
46455bb211SEivind EklundMD5
477b778b5eSEivind EklundMFS_AUTOLOAD	opt_mfs.h
487b778b5eSEivind EklundMFS_ROOT	opt_mfs.h
49be41061bSEivind EklundNO_LKM
50f71bb3a1SEivind EklundNSWAPDEV	opt_swap.h
51e0d781f3SEivind EklundPPS_SYNC	opt_ntp.h
523d20a1ffSBruce EvansQUOTA
53cecc50bcSEivind EklundSPX_HACK
54f71bb3a1SEivind EklundSUIDDIR		opt_suiddir.h
553d20a1ffSBruce EvansSYSVMSG		opt_sysvipc.h
563d20a1ffSBruce EvansSYSVSEM		opt_sysvipc.h
573d20a1ffSBruce EvansSYSVSHM		opt_sysvipc.h
583d20a1ffSBruce EvansUCONSOLE
59d03b4017SBruce Evans
608a6472b7SPeter Dufault# POSIX kernel options
618a6472b7SPeter DufaultP1003_1B	opt_posix.h
628a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h
638a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h
64917e476dSPeter Dufault
65808129f0SPeter Wemm# Do we want the config file compiled into the kernel?
66808129f0SPeter WemmINCLUDE_CONFIG_FILE	opt_config.h
67808129f0SPeter Wemm
68d03b4017SBruce Evans# Options for static file systems.  These should only be used at config
69d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static
70d03b4017SBruce Evans# dependencies.  Unusability is enforced by hiding the defines for the
71d03b4017SBruce Evans# options in a never-included header.
72f41991baSEivind EklundEXT2FS		opt_dontuse.h
73d03b4017SBruce EvansFDESC		opt_dontuse.h
74d03b4017SBruce EvansKERNFS		opt_dontuse.h
756cce9950SJoerg WunschMFS		opt_dontuse.h
76f41991baSEivind EklundMSDOSFS		opt_dontuse.h
77d03b4017SBruce EvansNULLFS		opt_dontuse.h
78d03b4017SBruce EvansPORTAL		opt_dontuse.h
79d03b4017SBruce EvansPROCFS		opt_dontuse.h
80d03b4017SBruce EvansUMAPFS		opt_dontuse.h
81d03b4017SBruce Evans
827b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in
837b778b5eSEivind Eklund# sys/i386/i386/autoconf.c.  If any of these filesystems are
847b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root
857b778b5eSEivind Eklund# filesystems will be enabled - but look below.  Boot-code is purposely
867b778b5eSEivind Eklund# unavailable for the LKM-based versions.
870ef41896SJordan K. HubbardCFS
885a9714deSJoerg WunschCD9660
897b778b5eSEivind EklundFFS
907b778b5eSEivind EklundNFS
915a9714deSJoerg Wunsch
92b1897c19SJulian Elischer# If you are following the conditions in the copyright,
93b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs
94b1897c19SJulian Elischer# and make the system safer from crashes at the same time.
95b1897c19SJulian Elischer# otherwise a STUB module will be compiled in.
96b1897c19SJulian ElischerSOFTUPDATES	opt_ffs.h
97b1897c19SJulian Elischer
987b778b5eSEivind Eklund# The above static dependencies are planned removed, with a
997b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root.  This list
1007b778b5eSEivind Eklund# allows these options to be present in config files already (though
1017b778b5eSEivind Eklund# they won't make any difference yet).
1027b778b5eSEivind EklundCD9660_ROOT	opt_cd9660.h
1037b778b5eSEivind EklundFFS_ROOT	opt_ffs.h
1047b778b5eSEivind EklundNFS_ROOT	opt_nfs.h
1057b778b5eSEivind Eklund
1067b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to
1077b778b5eSEivind Eklund# "settle".  If we are about mounting them as the root f/s, we gotta
1087b778b5eSEivind Eklund# wait a little.
1095a9714deSJoerg WunschCD9660_ROOTDELAY	opt_cd9660.h
1105a9714deSJoerg Wunsch
111d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't
112d03b4017SBruce Evans# hidden yet.
113d03b4017SBruce EvansUNION
114d03b4017SBruce Evans
11581fc841cSBruce Evans# Options used only in param.c.
1165131d64eSBruce EvansEXTRAVNODES	opt_defunct.h
1173d20a1ffSBruce EvansMSGMNB		opt_param.h
1183d20a1ffSBruce EvansMSGMNI		opt_param.h
1193d20a1ffSBruce EvansMSGSEG		opt_param.h
1203d20a1ffSBruce EvansMSGSSZ		opt_param.h
1213d20a1ffSBruce EvansMSGTQL		opt_param.h
1223d20a1ffSBruce EvansNBUF		opt_param.h
1234bd49128SPeter WemmNMBCLUSTERS	opt_param.h
1244bd49128SPeter WemmSEMMAP		opt_param.h
1254bd49128SPeter WemmSEMMNI		opt_param.h
1264bd49128SPeter WemmSEMMNS		opt_param.h
1274bd49128SPeter WemmSEMMNU		opt_param.h
1284bd49128SPeter WemmSEMMSL		opt_param.h
1294bd49128SPeter WemmSEMOPM		opt_param.h
1304bd49128SPeter WemmSEMUME		opt_param.h
1313d20a1ffSBruce EvansSHMALL		opt_param.h
1323d20a1ffSBruce EvansSHMMAX		opt_param.h
1333d20a1ffSBruce EvansSHMMAXPGS	opt_param.h
1343d20a1ffSBruce EvansSHMMIN		opt_param.h
1353d20a1ffSBruce EvansSHMMNI		opt_param.h
1363d20a1ffSBruce EvansSHMSEG		opt_param.h
13781fc841cSBruce Evans
13881fc841cSBruce Evans# Generic SCSI options.
1396bc025e1SJoerg WunschSCSIDEBUG		opt_scsi.h
1403d20a1ffSBruce EvansSCSI_DELAY		opt_scsi.h
1413d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY	opt_scsi.h
142ec1f7adfSEivind EklundSCSI_2_DEF		opt_scsi.h
14381fc841cSBruce Evans
144c30bc9dbSJoerg Wunsch# Options used only in scsi/od.c.
145c30bc9dbSJoerg WunschOD_AUTO_TURNOFF		opt_od.h
1463d20a1ffSBruce EvansOD_BOGUS_NOT_READY	opt_od.h
147c30bc9dbSJoerg Wunsch
14821ffa5aeSStefan Eßer# Options used only in pci/ncr.c
1493d20a1ffSBruce EvansSCSI_NCR_DEBUG		opt_ncr.h
1503d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS	opt_ncr.h
151a5bef142SBruce EvansSCSI_NCR_MAX_SYNC	opt_ncr.h
152a5bef142SBruce EvansSCSI_NCR_MAX_WIDE	opt_ncr.h
1533d20a1ffSBruce EvansSCSI_NCR_MYADDR		opt_ncr.h
15421ffa5aeSStefan Eßer
15581fc841cSBruce Evans# Resource limits.
1560f171f59SBruce EvansCHILD_MAX		opt_defunct.h
157e9822d92SJoerg WunschDFLDSIZ			opt_rlimit.h
1583d20a1ffSBruce EvansMAXDSIZ			opt_rlimit.h
1590f171f59SBruce EvansOPEN_MAX		opt_defunct.h
16081fc841cSBruce Evans
16181fc841cSBruce Evans# Net stuff.
1621e49bd9cSGarrett WollmanARP_PROXYALL		opt_defunct.h
163e4f4247aSEivind EklundBOOTP			opt_bootp.h
164e4f4247aSEivind EklundBOOTP_COMPAT		opt_bootp.h
165e4f4247aSEivind EklundBOOTP_NFSROOT		opt_bootp.h
166e4f4247aSEivind EklundBOOTP_NFSV3		opt_bootp.h
1678f7030a7STor EggeBOOTP_WIRED_TO		opt_bootp.h
1680f171f59SBruce EvansGATEWAY			opt_defunct.h
1694bd49128SPeter WemmMROUTING		opt_mrouting.h
1701d5e9e22SEivind EklundINET			opt_inet.h
171fbd1372aSJoerg WunschIPDIVERT
17274a9466cSGary PalmerIPFIREWALL		opt_ipfw.h
17374a9466cSGary PalmerIPFIREWALL_VERBOSE	opt_ipfw.h
174fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT	opt_ipfw.h
175ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT	opt_ipfw.h
176bb60f459SJulian Elischer#temp option to change ipfw/divert semantics. Should become standard.
177e256a933SJulian ElischerIPFW_DIVERT_OLDRESTART	opt_ipfw.h
178430df5f4SEivind EklundIPX			opt_ipx.h
179430df5f4SEivind EklundIPXIP			opt_ipx.h
180430df5f4SEivind EklundIPTUNNEL		opt_ipx.h
1817262d3e4SEivind EklundNETATALK		opt_atalk.h
18213c49711SPeter WemmPPP_BSDCOMP		opt_ppp.h
18313c49711SPeter WemmPPP_DEFLATE		opt_ppp.h
184d41238deSPeter WemmPPP_FILTER		opt_ppp.h
18592252381SEivind EklundTCP_COMPAT_42		opt_compat.h
1860cc12cc5SJoerg WunschTCPDEBUG
1871ee25934SPeter WemmIPFILTER		opt_ipfilter.h
1881ee25934SPeter WemmIPFILTER_LOG		opt_ipfilter.h
1891ee25934SPeter WemmIPFILTER_LKM		opt_ipfilter.h
1903458e54aSJulian Elischer
191e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM).
192e0d781f3SEivind Eklund# This makes "atm.h" unusable.
193e0d781f3SEivind EklundNATM			opt_natm.h
194e0d781f3SEivind Eklund
1953458e54aSJulian Elischer# DPT driver debug flags
1963458e54aSJulian ElischerDPT_VERIFY_HINTR        opt_dpt.h
1973458e54aSJulian ElischerDPT_USE_SINTR           opt_dpt.h
1983458e54aSJulian ElischerDPT_RESTRICTED_FREELIST opt_dpt.h
1993458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE opt_dpt.h
2003458e54aSJulian ElischerDPT_FREELIST_IS_STACK   opt_dpt.h
2013458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS     opt_dpt.h
2023458e54aSJulian ElischerDPT_TIMEOUT_FACTOR      opt_dpt.h
2033458e54aSJulian ElischerDPT_INTR_DELAY		opt_dpt.h
2043458e54aSJulian ElischerDPT_LOST_IRQ		opt_dpt.h
2053f2076daSEivind Eklund
2063f2076daSEivind Eklund# Misc debug flags.  Most of these should probably be replaced with
2073f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules
2083f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'.
2093f2076daSEivind EklundCLUSTERDEBUG		opt_debug_cluster.h
2103f2076daSEivind EklundDEBUG_1284		opt_debug_1284.h
2113f2076daSEivind EklundLOCKF_DEBUG		opt_debug_lockf.h
2123f2076daSEivind EklundLOUTB			opt_debug_outb.h
2133f2076daSEivind EklundNPX_DEBUG		opt_debug_npx.h
2143f2076daSEivind EklundNETATALKDEBUG		opt_atalk.h
2153f2076daSEivind EklundNULLFS_DIAGNOSTIC	opt_debug_nullfs.h
2163f2076daSEivind EklundSI_DEBUG		opt_debug_si.h
2173f2076daSEivind Eklund
2183f2076daSEivind Eklund
21914834de4SEivind Eklund# These cause changes all over the kernel
22014834de4SEivind EklundDEBUG			opt_global.h
22114834de4SEivind EklundDIAGNOSTIC		opt_global.h
2223f2076daSEivind EklundSIMPLELOCK_DEBUG	opt_global.h
223b1a7842bSJohn DysonENABLE_VFS_IOOPT	opt_global.h
224d9bed5beSJohn Dyson
225d9bed5beSJohn Dyson# These are VM related options
226d9bed5beSJohn DysonVM_KMEM_SIZE	opt_vm.h
227d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h
228d9bed5beSJohn DysonVM_KMEM_SIZE_MAX	opt_vm.h
229751bf650SJun-ichiro itojun Hagino
230751bf650SJun-ichiro itojun Hagino# sys/netkey
231751bf650SJun-ichiro itojun HaginoKEY
232751bf650SJun-ichiro itojun HaginoKEY_DEBUG		opt_key.h
23358067a99SPoul-Henning Kamp
23458067a99SPoul-Henning Kamp# Size of the kernel message buffer
23558067a99SPoul-Henning KampMSGBUF_SIZE		opt_msgbuf.h
236ecbb00a2SDoug Rabson
237ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator.
238ecbb00a2SDoug RabsonSIMOS			opt_simos.h
239