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