xref: /freebsd/sys/conf/options (revision bf21c6337f3a1993cf81e5588e98439df8929d38)
1bf21c633SJustin T. Gibbs#	$Id: options,v 1.96 1998/09/14 19:56:36 sos 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
35bf21c633SJustin 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
403d20a1ffSBruce Evans# Miscellaneous options.
418890984dSGarrett WollmanBOUNCE_BUFFERS	opt_bounce.h
42f71bb3a1SEivind EklundCOMPAT_43	opt_compat.h
43f71bb3a1SEivind EklundCOMPAT_SUNOS	opt_compat.h
44346ebe51SEivind EklundCOMPILING_LINT	opt_lint.h
450e41ee30SGarrett WollmanDDB
461664f6f5SPaul TrainaDDB_UNATTENDED	opt_ddb.h
47562d05dfSPaul TrainaGDB_REMOTE_CHAT	opt_ddb.h
4814c35d6cSDoug RabsonDB_KLD_SYMBOLS	opt_ddb.h
4914c35d6cSDoug RabsonDB_ELF_SYMBOLS	opt_ddb.h
507b778b5eSEivind EklundDEVFS
517dff1433SEivind EklundFAILSAFE
52d94f38acSEivind EklundHW_WDOG
534bd49128SPeter WemmKTRACE
54455bb211SEivind EklundMD5
557b778b5eSEivind EklundMFS_AUTOLOAD	opt_mfs.h
567b778b5eSEivind EklundMFS_ROOT	opt_mfs.h
57a9c94e9bSJohn-Mark GurneyEXPORTMFS	opt_mfs.h
58be41061bSEivind EklundNO_LKM
59f71bb3a1SEivind EklundNSWAPDEV	opt_swap.h
60e0d781f3SEivind EklundPPS_SYNC	opt_ntp.h
613d20a1ffSBruce EvansQUOTA
62cecc50bcSEivind EklundSPX_HACK
63f71bb3a1SEivind EklundSUIDDIR		opt_suiddir.h
643d20a1ffSBruce EvansSYSVMSG		opt_sysvipc.h
653d20a1ffSBruce EvansSYSVSEM		opt_sysvipc.h
663d20a1ffSBruce EvansSYSVSHM		opt_sysvipc.h
673d20a1ffSBruce EvansUCONSOLE
68d03b4017SBruce Evans
698a6472b7SPeter Dufault# POSIX kernel options
708a6472b7SPeter DufaultP1003_1B	opt_posix.h
718a6472b7SPeter Dufault_KPOSIX_PRIORITY_SCHEDULING opt_posix.h
728a6472b7SPeter Dufault_KPOSIX_VERSION opt_posix.h
73917e476dSPeter Dufault
74808129f0SPeter Wemm# Do we want the config file compiled into the kernel?
75808129f0SPeter WemmINCLUDE_CONFIG_FILE	opt_config.h
76808129f0SPeter Wemm
77d03b4017SBruce Evans# Options for static file systems.  These should only be used at config
78d03b4017SBruce Evans# time, since the corresponding lkms cannot work if there are any static
79d03b4017SBruce Evans# dependencies.  Unusability is enforced by hiding the defines for the
80d03b4017SBruce Evans# options in a never-included header.
81f41991baSEivind EklundEXT2FS		opt_dontuse.h
82d03b4017SBruce EvansFDESC		opt_dontuse.h
83d03b4017SBruce EvansKERNFS		opt_dontuse.h
846cce9950SJoerg WunschMFS		opt_dontuse.h
85f41991baSEivind EklundMSDOSFS		opt_dontuse.h
86d03b4017SBruce EvansNULLFS		opt_dontuse.h
87d03b4017SBruce EvansPORTAL		opt_dontuse.h
88d03b4017SBruce EvansPROCFS		opt_dontuse.h
89d03b4017SBruce EvansUMAPFS		opt_dontuse.h
90d03b4017SBruce Evans
917b778b5eSEivind Eklund# These static filesystems has one slightly bogus static dependency in
927b778b5eSEivind Eklund# sys/i386/i386/autoconf.c.  If any of these filesystems are
937b778b5eSEivind Eklund# statically compiled into the kernel, code for mounting them as root
947b778b5eSEivind Eklund# filesystems will be enabled - but look below.  Boot-code is purposely
957b778b5eSEivind Eklund# unavailable for the LKM-based versions.
969afcea2fSRobert V. BaronCODA
975a9714deSJoerg WunschCD9660
987b778b5eSEivind EklundFFS
997b778b5eSEivind EklundNFS
1005a9714deSJoerg Wunsch
101b1897c19SJulian Elischer# If you are following the conditions in the copyright,
102b1897c19SJulian Elischer# you can enable soft-updates which will speed up a lot of thigs
103b1897c19SJulian Elischer# and make the system safer from crashes at the same time.
104b1897c19SJulian Elischer# otherwise a STUB module will be compiled in.
105b1897c19SJulian ElischerSOFTUPDATES	opt_ffs.h
106b1897c19SJulian Elischer
1077b778b5eSEivind Eklund# The above static dependencies are planned removed, with a
1087b778b5eSEivind Eklund# <filesystem>_ROOT option to control if it usable as root.  This list
1097b778b5eSEivind Eklund# allows these options to be present in config files already (though
1107b778b5eSEivind Eklund# they won't make any difference yet).
1117b778b5eSEivind EklundCD9660_ROOT	opt_cd9660.h
1127b778b5eSEivind EklundFFS_ROOT	opt_ffs.h
113df394affSJohn-Mark GurneyNFS_ROOT	opt_nfsroot.h
1147b778b5eSEivind Eklund
1157b778b5eSEivind Eklund# Multi-session CD-Rs might require a huge amount of time in order to
1167b778b5eSEivind Eklund# "settle".  If we are about mounting them as the root f/s, we gotta
1177b778b5eSEivind Eklund# wait a little.
1185a9714deSJoerg WunschCD9660_ROOTDELAY	opt_cd9660.h
1195a9714deSJoerg Wunsch
120d03b4017SBruce Evans# The union static file system has bogus static dependencies, so it isn't
121d03b4017SBruce Evans# hidden yet.
122d03b4017SBruce EvansUNION
123d03b4017SBruce Evans
12481fc841cSBruce Evans# Options used only in param.c.
12595de6ecfSBruce EvansMAXUSERS	opt_param.h
1263d20a1ffSBruce EvansMSGMNB		opt_param.h
1273d20a1ffSBruce EvansMSGMNI		opt_param.h
1283d20a1ffSBruce EvansMSGSEG		opt_param.h
1293d20a1ffSBruce EvansMSGSSZ		opt_param.h
1303d20a1ffSBruce EvansMSGTQL		opt_param.h
1313d20a1ffSBruce EvansNBUF		opt_param.h
1324bd49128SPeter WemmNMBCLUSTERS	opt_param.h
1334bd49128SPeter WemmSEMMAP		opt_param.h
1344bd49128SPeter WemmSEMMNI		opt_param.h
1354bd49128SPeter WemmSEMMNS		opt_param.h
1364bd49128SPeter WemmSEMMNU		opt_param.h
1374bd49128SPeter WemmSEMMSL		opt_param.h
1384bd49128SPeter WemmSEMOPM		opt_param.h
1394bd49128SPeter WemmSEMUME		opt_param.h
1403d20a1ffSBruce EvansSHMALL		opt_param.h
1413d20a1ffSBruce EvansSHMMAX		opt_param.h
1423d20a1ffSBruce EvansSHMMAXPGS	opt_param.h
1433d20a1ffSBruce EvansSHMMIN		opt_param.h
1443d20a1ffSBruce EvansSHMMNI		opt_param.h
1453d20a1ffSBruce EvansSHMSEG		opt_param.h
14681fc841cSBruce Evans
14781fc841cSBruce Evans# Generic SCSI options.
148bf21c633SJustin T. GibbsCAM_MAX_HIGHPOWER	opt_cam.h
149bf21c633SJustin T. GibbsCAMDEBUG		opt_cam.h
150bf21c633SJustin T. GibbsCAM_DEBUG_BUS		opt_cam.h
151bf21c633SJustin T. GibbsCAM_DEBUG_TARGET	opt_cam.h
152bf21c633SJustin T. GibbsCAM_DEBUG_LUN		opt_cam.h
153bf21c633SJustin T. GibbsCAM_DEBUG_FLAGS		opt_cam.h
154bf21c633SJustin T. GibbsSCSI_CAM		opt_scsi.h
1553d20a1ffSBruce EvansSCSI_DELAY		opt_scsi.h
1563d20a1ffSBruce EvansSCSI_REPORT_GEOMETRY	opt_scsi.h
157bf21c633SJustin T. GibbsSCSI_NO_SENSE_STRINGS	opt_scsi.h
158bf21c633SJustin T. GibbsSCSI_NO_OP_STRINGS	opt_scsi.h
159bf21c633SJustin T. Gibbs
160bf21c633SJustin T. Gibbs# Options used only in cam/scsi/scsi_cd.c
161bf21c633SJustin T. GibbsCHANGER_MIN_BUSY_SECONDS	opt_cd.h
162bf21c633SJustin T. GibbsCHANGER_MAX_BUSY_SECONDS	opt_cd.h
16381fc841cSBruce Evans
164c30bc9dbSJoerg Wunsch# Options used only in scsi/od.c.
165c30bc9dbSJoerg WunschOD_AUTO_TURNOFF		opt_od.h
1663d20a1ffSBruce EvansOD_BOGUS_NOT_READY	opt_od.h
167c30bc9dbSJoerg Wunsch
16821ffa5aeSStefan Eßer# Options used only in pci/ncr.c
1693d20a1ffSBruce EvansSCSI_NCR_DEBUG		opt_ncr.h
1703d20a1ffSBruce EvansSCSI_NCR_DFLT_TAGS	opt_ncr.h
171a5bef142SBruce EvansSCSI_NCR_MAX_SYNC	opt_ncr.h
172a5bef142SBruce EvansSCSI_NCR_MAX_WIDE	opt_ncr.h
1733d20a1ffSBruce EvansSCSI_NCR_MYADDR		opt_ncr.h
17421ffa5aeSStefan Eßer
17581fc841cSBruce Evans# Resource limits.
176e9822d92SJoerg WunschDFLDSIZ			opt_rlimit.h
1773d20a1ffSBruce EvansMAXDSIZ			opt_rlimit.h
17881fc841cSBruce Evans
17981fc841cSBruce Evans# Net stuff.
180e4f4247aSEivind EklundBOOTP			opt_bootp.h
181e4f4247aSEivind EklundBOOTP_COMPAT		opt_bootp.h
182e4f4247aSEivind EklundBOOTP_NFSROOT		opt_bootp.h
183e4f4247aSEivind EklundBOOTP_NFSV3		opt_bootp.h
1848f7030a7STor EggeBOOTP_WIRED_TO		opt_bootp.h
1854bd49128SPeter WemmMROUTING		opt_mrouting.h
1861d5e9e22SEivind EklundINET			opt_inet.h
187fbd1372aSJoerg WunschIPDIVERT
18874a9466cSGary PalmerIPFIREWALL		opt_ipfw.h
18974a9466cSGary PalmerIPFIREWALL_VERBOSE	opt_ipfw.h
190fb260479SBruce EvansIPFIREWALL_VERBOSE_LIMIT	opt_ipfw.h
191ffdd472dSPeter WemmIPFIREWALL_DEFAULT_TO_ACCEPT	opt_ipfw.h
192cdcc2613SJulian ElischerIPFIREWALL_FORWARD		opt_ipfw.h
193430df5f4SEivind EklundIPX			opt_ipx.h
194430df5f4SEivind EklundIPXIP			opt_ipx.h
195430df5f4SEivind EklundIPTUNNEL		opt_ipx.h
1967262d3e4SEivind EklundNETATALK		opt_atalk.h
19713c49711SPeter WemmPPP_BSDCOMP		opt_ppp.h
19813c49711SPeter WemmPPP_DEFLATE		opt_ppp.h
199d41238deSPeter WemmPPP_FILTER		opt_ppp.h
20092252381SEivind EklundTCP_COMPAT_42		opt_compat.h
2010cc12cc5SJoerg WunschTCPDEBUG
2021ee25934SPeter WemmIPFILTER		opt_ipfilter.h
2031ee25934SPeter WemmIPFILTER_LOG		opt_ipfilter.h
2041ee25934SPeter WemmIPFILTER_LKM		opt_ipfilter.h
2053458e54aSJulian Elischer
206e0d781f3SEivind Eklund# XXX Conflict: # of devices vs network protocol (Native ATM).
207e0d781f3SEivind Eklund# This makes "atm.h" unusable.
208e0d781f3SEivind EklundNATM			opt_natm.h
209e0d781f3SEivind Eklund
2103458e54aSJulian Elischer# DPT driver debug flags
2113458e54aSJulian ElischerDPT_VERIFY_HINTR	opt_dpt.h
2123458e54aSJulian ElischerDPT_USE_SINTR		opt_dpt.h
2133458e54aSJulian ElischerDPT_RESTRICTED_FREELIST	opt_dpt.h
2143458e54aSJulian ElischerDPT_MEASURE_PERFORMANCE	opt_dpt.h
2153458e54aSJulian ElischerDPT_FREELIST_IS_STACK	opt_dpt.h
2163458e54aSJulian ElischerDPT_HANDLE_TIMEOUTS	opt_dpt.h
2173458e54aSJulian ElischerDPT_TIMEOUT_FACTOR	opt_dpt.h
2183458e54aSJulian ElischerDPT_INTR_DELAY		opt_dpt.h
2193458e54aSJulian ElischerDPT_LOST_IRQ		opt_dpt.h
220b755b885SEivind EklundDPT_SHUTDOWN_SLEEP	opt_dpt.h
221b755b885SEivind EklundDPT_RESET_HBA		opt_dpt.h
2223f2076daSEivind Eklund
2233f2076daSEivind Eklund# Misc debug flags.  Most of these should probably be replaced with
2243f2076daSEivind Eklund# 'DEBUG', and then let people recompile just the interesting modules
2253f2076daSEivind Eklund# with 'make CC="cc -DDEBUG'.
2263f2076daSEivind EklundCLUSTERDEBUG		opt_debug_cluster.h
2273f2076daSEivind EklundDEBUG_1284		opt_debug_1284.h
2283f2076daSEivind EklundLOCKF_DEBUG		opt_debug_lockf.h
2293f2076daSEivind EklundLOUTB			opt_debug_outb.h
2303f2076daSEivind EklundNPX_DEBUG		opt_debug_npx.h
2313f2076daSEivind EklundNETATALKDEBUG		opt_atalk.h
2323f2076daSEivind EklundNULLFS_DIAGNOSTIC	opt_debug_nullfs.h
2333f2076daSEivind EklundSI_DEBUG		opt_debug_si.h
2343f2076daSEivind Eklund
2353f2076daSEivind Eklund
23614834de4SEivind Eklund# These cause changes all over the kernel
23714834de4SEivind EklundDEBUG			opt_global.h
23814834de4SEivind EklundDIAGNOSTIC		opt_global.h
2393f2076daSEivind EklundSIMPLELOCK_DEBUG	opt_global.h
240b1a7842bSJohn DysonENABLE_VFS_IOOPT	opt_global.h
241d9bed5beSJohn Dyson
242d9bed5beSJohn Dyson# These are VM related options
243d9bed5beSJohn DysonVM_KMEM_SIZE	opt_vm.h
244d9bed5beSJohn DysonVM_KMEM_SIZE_SCALE opt_vm.h
245d9bed5beSJohn DysonVM_KMEM_SIZE_MAX	opt_vm.h
24620f71813SJohn-Mark GurneyPQ_NOOPT	opt_vmpage.h
24720f71813SJohn-Mark GurneyPQ_NORMALCACHE	opt_vmpage.h
24820f71813SJohn-Mark GurneyPQ_MEDIUMCACHE	opt_vmpage.h
24920f71813SJohn-Mark GurneyPQ_LARGECACHE	opt_vmpage.h
25020f71813SJohn-Mark GurneyPQ_HUGECACHE	opt_vmpage.h
25120f71813SJohn-Mark Gurney
252751bf650SJun-ichiro itojun Hagino
253751bf650SJun-ichiro itojun Hagino# sys/netkey
254751bf650SJun-ichiro itojun HaginoKEY
255751bf650SJun-ichiro itojun HaginoKEY_DEBUG		opt_key.h
25658067a99SPoul-Henning Kamp
25758067a99SPoul-Henning Kamp# Size of the kernel message buffer
25858067a99SPoul-Henning KampMSGBUF_SIZE		opt_msgbuf.h
259ecbb00a2SDoug Rabson
260e261d589SJohn-Mark Gurney# PCI related options
261e261d589SJohn-Mark GurneyPCI_QUIET		opt_pci.h
262e261d589SJohn-Mark Gurney
263df394affSJohn-Mark Gurney# NFS options
264df394affSJohn-Mark GurneyNFS_MINATTRTIMO		opt_nfs.h
265df394affSJohn-Mark GurneyNFS_MAXATTRTIMO		opt_nfs.h
266df394affSJohn-Mark GurneyNFS_MINDIRATTRTIMO	opt_nfs.h
267df394affSJohn-Mark GurneyNFS_MAXDIRATTRTIMO	opt_nfs.h
268df394affSJohn-Mark GurneyNFS_GATHERDELAY		opt_nfs.h
269df394affSJohn-Mark GurneyNFS_UIDHASHSIZ		opt_nfs.h
270df394affSJohn-Mark GurneyNFS_WDELAYHASHSIZ	opt_nfs.h
271df394affSJohn-Mark GurneyNFS_MUIDHASHSIZ		opt_nfs.h
272df394affSJohn-Mark GurneyNFS_NOSERVER		opt_nfs.h
273df394affSJohn-Mark GurneyNFS_DEBUG		opt_nfs.h
274df394affSJohn-Mark Gurney
2753f139a1aSJohn-Mark Gurney# give bktr an opt_bktr.h file
276dd70aa7fSSøren SchmidtOVERRIDE_CARD		opt_bktr.h
2773f139a1aSJohn-Mark GurneyOVERRIDE_TUNER		opt_bktr.h
2785d0c8abaSSøren SchmidtOVERRIDE_DBX		opt_bktr.h
2795d0c8abaSSøren SchmidtOVERRIDE_MSP		opt_bktr.h
2805d0c8abaSSøren SchmidtBROOKTREE_SYSTEM_DEFAULT opt_bktr.h
28158dde31aSSøren SchmidtBKTR_USE_PLL		opt_bktr.h
28258dde31aSSøren Schmidt
2833f139a1aSJohn-Mark Gurney
284afc2d1c7SJordan K. Hubbard# meteor opt_meteor.h
285afc2d1c7SJordan K. HubbardMETEOR_ALLOC_PAGES	opt_meteor.h
286afc2d1c7SJordan K. HubbardMETEOR_TEST_VIDEO	opt_meteor.h
287afc2d1c7SJordan K. HubbardMETEOR_SYSTEM_DEFAULT	opt_meteor.h
288afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_PAGES	opt_meteor.h
289afc2d1c7SJordan K. HubbardMETEOR_DEALLOC_ABOVE	opt_meteor.h
290afc2d1c7SJordan K. Hubbard
291ecbb00a2SDoug Rabson# Include tweaks for running under the SimOS machine simulator.
292ecbb00a2SDoug RabsonSIMOS			opt_simos.h
293