]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/conf/options
Sync with recent KAME.
[FreeBSD/FreeBSD.git] / sys / conf / options
1 # $FreeBSD$
2 #
3 #        On the handling of kernel options
4 #
5 # All kernel options should be listed in LINT, with suitable
6 # descriptions.  Negative options (options that make some code not
7 # compile) should be commented out; LINT should compile as much code
8 # as possible.  Try to structure option-using code so that a single
9 # option only switch code on, or only switch code off, to make it
10 # possible to have a full compile-test.  If necessary, you can check
11 # for COMPILING_LINT to get maximum code coverage.
12 #
13 # All new options shall also be listed in either "conf/options" or
14 # "<machine>/conf/options.<machine>".  Options that affect a single
15 # source-file <xxx>.[c|s] should be directed into "opt_<xxx>.h", while
16 # options that affect multiple files should either go in
17 # "opt_global.h" if this is a kernel-wide option (used just about
18 # everywhere), or in "opt_<option-name-in-lower-case>.h" if it affect
19 # only some files.  Note that the effect of listing only an option
20 # without a header-file-name in conf/options (and cousins) is that the
21 # last convention is followed.
22 #
23 # This handling scheme is not yet fully implemented.
24 #
25 #
26 # Format of this file:
27 # Option name   filename
28 #
29 # If filename is missing, the default is
30 # opt_<name-of-option-in-lower-case>.h
31
32 # Adaptec Array Controller driver options
33 AAC_COMPAT_LINUX        opt_aac.h       # Enable the linux ioctl interface
34
35 AAC_DEBUG               opt_aac.h       # Debugging levels:
36                                         # 0 - quiet, only emit warnings
37                                         # 1 - noisy, emit major function
38                                         #     points and things done
39                                         # 2 - extremely noisy, emit trace
40                                         #     items in loops, etc.
41
42 # Adaptec aic7xxx SCSI controller options
43 AHC_ALLOW_MEMIO         opt_aic7xxx.h   # Allow PCI devices to use memory
44                                         # mapped I/O
45
46 AHC_TMODE_ENABLE        opt_aic7xxx.h   # Bitmap of units to enable
47                                         # targetmode operations.
48
49 AHC_DUMP_EEPROM         opt_aic7xxx.h   # Dump the contents of our
50                                         # configuration prom.
51
52 AHC_DEBUG_SEQUENCER     opt_aic7xxx.h   # Enable diagnostic sequencer code
53
54 ADW_ALLOW_MEMIO         opt_adw.h       # Allow PCI devices to use memory
55                                         # mapped I/O
56
57 # Miscellaneous options.
58 BLEED
59 COMPAT_43       opt_compat.h
60 COMPAT_SUNOS    opt_compat.h
61 COMPILING_LINT  opt_global.h
62 CY_PCI_FASTINTR
63 DDB
64 DDB_UNATTENDED  opt_ddb.h
65 GDB_REMOTE_CHAT opt_ddb.h
66 NODEVFS         opt_devfs.h
67 HW_WDOG
68 KTRACE
69 LIBICONV
70 MD_ROOT         opt_md.h
71 MD_ROOT_SIZE    opt_md.h
72 NTIMECOUNTER    opt_ntp.h
73 NSWAPDEV        opt_swap.h
74 PPS_SYNC        opt_ntp.h
75 QUOTA
76 SPX_HACK
77 SUIDDIR         opt_suiddir.h
78 SYSVMSG         opt_sysvipc.h
79 SYSVSEM         opt_sysvipc.h
80 SYSVSHM         opt_sysvipc.h
81 SHMALL          opt_sysvipc.h
82 SHMMAX          opt_sysvipc.h
83 SHMMAXPGS       opt_sysvipc.h
84 SHMMIN          opt_sysvipc.h
85 SHMMNI          opt_sysvipc.h
86 SHMSEG          opt_sysvipc.h
87 SEMMAP          opt_sysvipc.h
88 SEMMNI          opt_sysvipc.h
89 SEMMNS          opt_sysvipc.h
90 SEMMNU          opt_sysvipc.h
91 SEMMSL          opt_sysvipc.h
92 SEMOPM          opt_sysvipc.h
93 SEMUME          opt_sysvipc.h
94 MSGMNB          opt_sysvipc.h
95 MSGMNI          opt_sysvipc.h
96 MSGSEG          opt_sysvipc.h
97 MSGSSZ          opt_sysvipc.h
98 MSGTQL          opt_sysvipc.h
99 UCONSOLE
100 VFS_AIO
101
102 # POSIX kernel options
103 P1003_1B                        opt_posix.h
104 _KPOSIX_PRIORITY_SCHEDULING     opt_posix.h
105 _KPOSIX_VERSION                 opt_posix.h
106
107 # TrustedBSD and POSIX.1e Kernel Options
108 CAPABILITIES    opt_cap.h
109
110 # Do we want the config file compiled into the kernel?
111 INCLUDE_CONFIG_FILE     opt_config.h
112
113 # Options for static file systems.  These should only be used at config
114 # time, since the corresponding lkms cannot work if there are any static
115 # dependencies.  Unusability is enforced by hiding the defines for the
116 # options in a never-included header.
117 CD9660          opt_dontuse.h
118 CODA            opt_dontuse.h
119 EXT2FS          opt_dontuse.h
120 FDESCFS         opt_dontuse.h
121 FFS             opt_dontuse.h
122 IFS             opt_dontuse.h
123 LINPROCFS       opt_dontuse.h
124 MSDOSFS         opt_dontuse.h
125 NULLFS          opt_dontuse.h
126 NWFS            opt_dontuse.h
127 PORTALFS        opt_dontuse.h
128 PROCFS          opt_dontuse.h
129 PSEUDOFS        opt_dontuse.h
130 UMAPFS          opt_dontuse.h
131 NTFS            opt_dontuse.h
132 HPFS            opt_dontuse.h
133 UNIONFS         opt_dontuse.h
134
135 # These static filesystems has one slightly bogus static dependency in
136 # sys/i386/i386/autoconf.c.  If any of these filesystems are
137 # statically compiled into the kernel, code for mounting them as root
138 # filesystems will be enabled - but look below.
139 NFS
140
141 # If you are following the conditions in the copyright,
142 # you can enable soft-updates which will speed up a lot of thigs
143 # and make the system safer from crashes at the same time.
144 # otherwise a STUB module will be compiled in.
145 SOFTUPDATES     opt_ffs.h
146
147 # Enabling this option turns on support for Access Control Lists in UFS,
148 # which can be used to support high security configurations.  Depends on
149 # UFS_EXTATTR.
150 UFS_ACL         opt_ufs.h
151
152 # Enabling this option turns on support for extended attributes in UFS-based
153 # file systems, which can be used to support high security configurations
154 # as well as new file system features.
155 UFS_EXTATTR     opt_ufs.h
156 UFS_EXTATTR_AUTOSTART   opt_ufs.h
157
158 # The above static dependencies are planned removed, with a
159 # <filesystem>_ROOT option to control if it usable as root.  This list
160 # allows these options to be present in config files already (though
161 # they won't make any difference yet).
162 NFS_ROOT        opt_nfsroot.h
163
164 # Options used only in param.c.
165 HZ              opt_param.h
166 MAXFILES        opt_param.h
167 MAXUSERS        opt_param.h
168 NBUF            opt_param.h
169 NMBCLUSTERS     opt_param.h
170 NSFBUFS         opt_param.h
171
172 # Generic SCSI options.
173 CAM_MAX_HIGHPOWER       opt_cam.h
174 CAMDEBUG                opt_cam.h
175 CAM_DEBUG_DELAY         opt_cam.h
176 CAM_DEBUG_BUS           opt_cam.h
177 CAM_DEBUG_TARGET        opt_cam.h
178 CAM_DEBUG_LUN           opt_cam.h
179 CAM_DEBUG_FLAGS         opt_cam.h
180 SCSI_DELAY              opt_scsi.h
181 SCSI_NO_SENSE_STRINGS   opt_scsi.h
182 SCSI_NO_OP_STRINGS      opt_scsi.h
183
184 # Options used only in cam/scsi/scsi_cd.c
185 CHANGER_MIN_BUSY_SECONDS        opt_cd.h
186 CHANGER_MAX_BUSY_SECONDS        opt_cd.h
187
188 # Options used only in cam/scsi/scsi_sa.c.
189 SA_SPACE_TIMEOUT        opt_sa.h
190 SA_REWIND_TIMEOUT       opt_sa.h
191 SA_ERASE_TIMEOUT        opt_sa.h
192 SA_1FM_AT_EOD           opt_sa.h
193
194 # Options used only in cam/scsi/scsi_pt.c
195 SCSI_PT_DEFAULT_TIMEOUT opt_pt.h
196
197 # Options used only in cam/scsi/scsi_ses.c
198 SES_ENABLE_PASSTHROUGH  opt_ses.h
199
200 # Options used in dev/sym/ (Symbios SCSI driver).
201 SYM_SETUP_LP_PROBE_MAP  opt_sym.h       #-Low Priority Probe Map (bits)
202                                         # Allows the ncr to take precedence
203                                         # 1 (1<<0) -> 810a, 860
204                                         # 2 (1<<1) -> 825a, 875, 885, 895
205                                         # 4 (1<<2) -> 895a, 896, 1510d 
206 SYM_SETUP_SCSI_DIFF     opt_sym.h       #-HVD support for 825a, 875, 885
207                                         # disabled:0 (default), enabled:1
208 SYM_SETUP_PCI_PARITY    opt_sym.h       #-PCI parity checking
209                                         # disabled:0, enabled:1 (default)
210 SYM_SETUP_MAX_LUN       opt_sym.h       #-Number of LUNs supported
211                                         # default:8, range:[1..64]
212
213 # Options used only in pci/ncr.c
214 SCSI_NCR_DEBUG          opt_ncr.h
215 SCSI_NCR_MAX_SYNC       opt_ncr.h
216 SCSI_NCR_MAX_WIDE       opt_ncr.h
217 SCSI_NCR_MYADDR         opt_ncr.h
218
219 # Options used only in pci/isp_pci.c
220 ISP_TARGET_MODE         opt_isp.h
221
222 # Options used in the 'ata' ATA/ATAPI driver
223 ACD_DEBUG               opt_ata.h
224 AST_DEBUG               opt_ata.h
225 ATAPI_DEBUG             opt_ata.h
226 ATA_DEBUG               opt_ata.h
227 ATA_STATIC_ID           opt_ata.h
228 DEV_ATADISK             opt_ata.h
229 DEV_ATAPICD             opt_ata.h
230 DEV_ATAPIST             opt_ata.h
231 DEV_ATAPIFD             opt_ata.h
232
233 # Resource limits.
234 DFLDSIZ                 opt_rlimit.h
235 MAXDSIZ                 opt_rlimit.h
236
237 # Net stuff.
238 ACCEPT_FILTER_DATA
239 ACCEPT_FILTER_HTTP
240 BOOTP                   opt_bootp.h
241 BOOTP_COMPAT            opt_bootp.h
242 BOOTP_NFSROOT           opt_bootp.h
243 BOOTP_NFSV3             opt_bootp.h
244 BOOTP_WIRED_TO          opt_bootp.h
245 BRIDGE                  opt_bdg.h
246 ETHER_II                opt_ef.h
247 ETHER_8023              opt_ef.h
248 ETHER_8022              opt_ef.h
249 ETHER_SNAP              opt_ef.h
250 MROUTING                opt_mrouting.h
251 INET                    opt_inet.h
252 SOMAXCONN               opt_inet.h
253 INET6                   opt_inet6.h
254 IPSEC                   opt_ipsec.h
255 IPSEC_ESP               opt_ipsec.h
256 IPSEC_DEBUG             opt_ipsec.h
257 IPDIVERT
258 DUMMYNET                opt_ipdn.h
259 IPFILTER                opt_ipfilter.h
260 IPFILTER_LOG            opt_ipfilter.h
261 IPFILTER_DEFAULT_BLOCK  opt_ipfilter.h
262 PFIL_HOOKS              opt_pfil_hooks.h
263 IPFIREWALL              opt_ipfw.h
264 IPFIREWALL_VERBOSE      opt_ipfw.h
265 IPFIREWALL_VERBOSE_LIMIT        opt_ipfw.h
266 IPFIREWALL_DEFAULT_TO_ACCEPT    opt_ipfw.h
267 IPFIREWALL_FORWARD              opt_ipfw.h
268 IPV6FIREWALL            opt_ip6fw.h
269 IPV6FIREWALL_VERBOSE    opt_ip6fw.h
270 IPV6FIREWALL_VERBOSE_LIMIT      opt_ip6fw.h
271 IPV6FIREWALL_DEFAULT_TO_ACCEPT  opt_ip6fw.h
272 IPSTEALTH
273 IPX                     opt_ipx.h
274 IPXIP                   opt_ipx.h
275 IPTUNNEL                opt_ipx.h
276 LIBMCHAIN
277 NCP                     opt_ncp.h
278 NETATALK                opt_atalk.h
279 PPP_BSDCOMP             opt_ppp.h
280 PPP_DEFLATE             opt_ppp.h
281 PPP_FILTER              opt_ppp.h
282 RANDOM_IP_ID
283 SLIP_IFF_OPTS           opt_slip.h
284 TCPDEBUG
285 TCP_DROP_SYNFIN         opt_tcp_input.h
286 XBONEHACK
287
288 # Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
289 # Each netgraph node type can be either be compiled into the kernel
290 # or loaded dynamically. To get the former, include the corresponding
291 # option below. Each type has its own man page, e.g. ng_async(4).
292 NETGRAPH
293 NETGRAPH_ASYNC          opt_netgraph.h
294 NETGRAPH_BPF            opt_netgraph.h
295 NETGRAPH_BRIDGE         opt_netgraph.h
296 NETGRAPH_CISCO          opt_netgraph.h
297 NETGRAPH_ECHO           opt_netgraph.h
298 NETGRAPH_ETHER          opt_netgraph.h
299 NETGRAPH_FRAME_RELAY    opt_netgraph.h
300 NETGRAPH_HOLE           opt_netgraph.h
301 NETGRAPH_IFACE          opt_netgraph.h
302 NETGRAPH_KSOCKET        opt_netgraph.h
303 NETGRAPH_LMI            opt_netgraph.h
304 # MPPC compression requires proprietary files (not included)
305 NETGRAPH_MPPC_COMPRESSION       opt_netgraph.h
306 NETGRAPH_MPPC_ENCRYPTION        opt_netgraph.h
307 NETGRAPH_ONE2MANY       opt_netgraph.h
308 NETGRAPH_PPP            opt_netgraph.h
309 NETGRAPH_PPPOE          opt_netgraph.h
310 NETGRAPH_PPTPGRE        opt_netgraph.h
311 NETGRAPH_RFC1490        opt_netgraph.h
312 NETGRAPH_SOCKET         opt_netgraph.h
313 NETGRAPH_TEE            opt_netgraph.h
314 NETGRAPH_TTY            opt_netgraph.h
315 NETGRAPH_UI             opt_netgraph.h
316 NETGRAPH_VJC            opt_netgraph.h
317
318 # ATM (HARP version)
319 ATM_CORE                opt_atm.h
320 ATM_IP                  opt_atm.h
321 ATM_SIGPVC              opt_atm.h
322 ATM_SPANS               opt_atm.h
323 ATM_UNI                 opt_atm.h
324
325 # XXX Conflict: # of devices vs network protocol (Native ATM).
326 # This makes "atm.h" unusable.
327 NATM                    opt_natm.h
328
329 DPT_ALLOW_MEMIO         opt_dpt.h       # Allow PCI devices to use memory
330                                         # mapped I/O
331 # DPT driver debug flags
332 DPT_MEASURE_PERFORMANCE opt_dpt.h
333 DPT_HANDLE_TIMEOUTS     opt_dpt.h
334 DPT_TIMEOUT_FACTOR      opt_dpt.h
335 DPT_LOST_IRQ            opt_dpt.h
336 DPT_RESET_HBA           opt_dpt.h
337
338 # Adaptec ASR and DPT V/VI controller options
339 ASR_MEASURE_PERFORMANCE opt_asr.h
340
341 # Misc debug flags.  Most of these should probably be replaced with
342 # 'DEBUG', and then let people recompile just the interesting modules
343 # with 'make CC="cc -DDEBUG"'.
344 CLUSTERDEBUG            opt_debug_cluster.h
345 DEBUG_1284              opt_ppb_1284.h
346 VP0_DEBUG               opt_vpo.h
347 LPT_DEBUG               opt_lpt.h
348 PLIP_DEBUG              opt_plip.h
349 LOCKF_DEBUG             opt_debug_lockf.h
350 LOUTB                   opt_debug_outb.h
351 NPX_DEBUG               opt_debug_npx.h
352 NETATALKDEBUG           opt_atalk.h
353 SI_DEBUG                opt_debug_si.h
354
355 # Fb options
356 FB_DEBUG                opt_fb.h
357 FB_INSTALL_CDEV         opt_fb.h
358
359 # ppbus related options
360 PERIPH_1284             opt_ppb_1284.h
361 DONTPROBE_1284          opt_ppb_1284.h
362
363 # smbus related options
364 ENABLE_ALART            opt_intpm.h
365
366 # These cause changes all over the kernel
367 BLKDEV_IOSIZE           opt_global.h
368 DEBUG                   opt_global.h
369 DEBUG_LOCKS             opt_global.h
370 DEBUG_VFS_LOCKS         opt_global.h
371 DIAGNOSTIC              opt_global.h
372 ENABLE_VFS_IOOPT        opt_global.h
373 INVARIANT_SUPPORT       opt_global.h
374 INVARIANTS              opt_global.h
375 REGRESSION              opt_global.h
376 SIMPLELOCK_DEBUG        opt_global.h
377 VFS_BIO_DEBUG           opt_global.h
378
379 # These are VM related options
380 VM_KMEM_SIZE            opt_vm.h
381 VM_KMEM_SIZE_SCALE      opt_vm.h
382 VM_KMEM_SIZE_MAX        opt_vm.h
383 NO_SWAPPING             opt_vm.h
384 PQ_NOOPT                opt_vmpage.h
385 PQ_NORMALCACHE          opt_vmpage.h
386 PQ_MEDIUMCACHE          opt_vmpage.h
387 PQ_LARGECACHE           opt_vmpage.h
388 PQ_HUGECACHE            opt_vmpage.h
389 PQ_CACHESIZE            opt_vmpage.h
390
391 # Standard SMP options
392 SMP                     opt_global.h
393
394 # sys/netkey
395 KEY
396
397 # Size of the kernel message buffer
398 MSGBUF_SIZE             opt_msgbuf.h
399
400 # PCI related options
401 PCI_QUIET               opt_pci.h
402
403 # NFS options
404 NFS_MINATTRTIMO         opt_nfs.h
405 NFS_MAXATTRTIMO         opt_nfs.h
406 NFS_MINDIRATTRTIMO      opt_nfs.h
407 NFS_MAXDIRATTRTIMO      opt_nfs.h
408 NFS_GATHERDELAY         opt_nfs.h
409 NFS_UIDHASHSIZ          opt_nfs.h
410 NFS_WDELAYHASHSIZ       opt_nfs.h
411 NFS_MUIDHASHSIZ         opt_nfs.h
412 NFS_NOSERVER            opt_nfs.h
413 NFS_DEBUG               opt_nfs.h
414
415 # For the Bt848/Bt848A/Bt849/Bt878/Bt879 driver
416 OVERRIDE_CARD                   opt_bktr.h
417 OVERRIDE_TUNER                  opt_bktr.h
418 OVERRIDE_DBX                    opt_bktr.h
419 OVERRIDE_MSP                    opt_bktr.h
420 BROOKTREE_SYSTEM_DEFAULT        opt_bktr.h
421 BROOKTREE_ALLOC_PAGES           opt_bktr.h
422 BKTR_OVERRIDE_CARD              opt_bktr.h
423 BKTR_OVERRIDE_TUNER             opt_bktr.h
424 BKTR_OVERRIDE_DBX               opt_bktr.h
425 BKTR_OVERRIDE_MSP               opt_bktr.h
426 BKTR_SYSTEM_DEFAULT             opt_bktr.h
427 BKTR_ALLOC_PAGES                opt_bktr.h
428 BKTR_USE_PLL                    opt_bktr.h      
429 BKTR_GPIO_ACCESS                opt_bktr.h
430 BKTR_NO_MSP_RESET               opt_bktr.h
431 BKTR_430_FX_MODE                opt_bktr.h
432 BKTR_SIS_VIA_MODE               opt_bktr.h
433
434 # meteor opt_meteor.h
435 METEOR_ALLOC_PAGES      opt_meteor.h
436 METEOR_TEST_VIDEO       opt_meteor.h
437 METEOR_SYSTEM_DEFAULT   opt_meteor.h
438 METEOR_DEALLOC_PAGES    opt_meteor.h
439 METEOR_DEALLOC_ABOVE    opt_meteor.h
440
441 # Various mi ISA bus flags
442 COM_ESP                 opt_sio.h
443 COM_MULTIPORT           opt_sio.h
444 BREAK_TO_DEBUGGER       opt_comconsole.h
445 ALT_BREAK_TO_DEBUGGER   opt_comconsole.h
446 DEV_ISA                 opt_isa.h
447
448 # Include tweaks for running under the SimOS machine simulator.
449 SIMOS                   opt_simos.h
450
451 # options for bus/device framework
452 BUS_DEBUG               opt_bus.h
453 DEVICE_SYSCTLS          opt_bus.h
454
455 # options for USB support
456 UHCI_DEBUG              opt_usb.h
457 OHCI_DEBUG              opt_usb.h
458 USB_DEBUG               opt_usb.h
459 UGEN_DEBUG              opt_usb.h
460 UHID_DEBUG              opt_usb.h
461 UHUB_DEBUG              opt_usb.h
462 UKBD_DEBUG              opt_usb.h
463 ULPT_DEBUG              opt_usb.h
464 UMASS_DEBUG             opt_usb.h
465 UMS_DEBUG               opt_usb.h
466 URIO_DEBUG              opt_usb.h
467 UKBD_DFLT_KEYMAP        opt_ukbd.h
468
469 # Vinum options
470 VINUMDEBUG              opt_vinum.h
471
472 # Embedded system options
473 INIT_PATH               opt_init_path.h
474
475 ROOTDEVNAME             opt_rootdevname.h
476
477 FDC_DEBUG               opt_fdc.h
478 PCFCLOCK_VERBOSE        opt_pcfclock.h
479 PCFCLOCK_MAX_RETRIES    opt_pcfclock.h
480 TDFX_LINUX opt_tdfx.h
481
482 KTR                     opt_global.h
483 KTR_MASK                opt_ktr.h
484 KTR_CPUMASK             opt_ktr.h
485 KTR_COMPILE             opt_global.h
486 KTR_ENTRIES             opt_global.h
487 KTR_EXTEND              opt_global.h
488 KTR_VERBOSE             opt_ktr.h
489 MUTEX_DEBUG             opt_global.h
490 CV_DEBUG                opt_global.h
491 WITNESS                 opt_global.h
492 WITNESS_DDB             opt_witness.h
493 WITNESS_SKIPSPIN        opt_witness.h
494
495 # options for ACPI support
496 ACPI_DEBUG              opt_acpi.h
497 AML_DEBUG               opt_acpi.h
498 ACPI_NO_ENABLE_ON_BOOT  opt_acpi.h
499
500 # options for DEVFS, see sys/fs/devfs/devfs.h
501 NDEVFSINO               opt_devfs.h
502 NDEVFSOVERFLOW          opt_devfs.h
503
504 # various 'device presence' options.
505 DEV_MCA                 opt_mca.h
506 DEV_BPF                 opt_bpf.h