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