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