proc->thread stage 2: MAJOR revamping of system calls, ucred, jail API,
[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.2 2003/06/17 04:28:20 dillon 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 INET                    opt_inet.h
264 INET6                   opt_inet6.h
265 IPSEC                   opt_ipsec.h
266 IPSEC_ESP               opt_ipsec.h
267 IPSEC_DEBUG             opt_ipsec.h
268 IPSEC_FILTERGIF         opt_ipsec.h
269 FAST_IPSEC              opt_ipsec.h
270 IPDIVERT
271 DUMMYNET                opt_ipdn.h
272 IPFILTER                opt_ipfilter.h
273 IPFILTER_LOG            opt_ipfilter.h
274 IPFILTER_DEFAULT_BLOCK  opt_ipfilter.h
275 IPFIREWALL              opt_ipfw.h
276 IPFW2                   opt_ipfw.h
277 IPFIREWALL_VERBOSE      opt_ipfw.h
278 IPFIREWALL_VERBOSE_LIMIT        opt_ipfw.h
279 IPFIREWALL_DEFAULT_TO_ACCEPT    opt_ipfw.h
280 IPFIREWALL_FORWARD              opt_ipfw.h
281 IPV6FIREWALL            opt_ip6fw.h
282 IPV6FIREWALL_VERBOSE    opt_ip6fw.h
283 IPV6FIREWALL_VERBOSE_LIMIT      opt_ip6fw.h
284 IPV6FIREWALL_DEFAULT_TO_ACCEPT  opt_ip6fw.h
285 IPSTEALTH
286 IPX                     opt_ipx.h
287 IPXIP                   opt_ipx.h
288 IPTUNNEL                opt_ipx.h
289 LIBMCHAIN
290 NCP                     opt_ncp.h
291 NETATALK                opt_atalk.h
292 NS                      opt_ns.h
293 PPP_BSDCOMP             opt_ppp.h
294 PPP_DEFLATE             opt_ppp.h
295 PPP_FILTER              opt_ppp.h
296 RANDOM_IP_ID
297 SLIP_IFF_OPTS           opt_slip.h
298 TCPDEBUG
299 TCP_DROP_SYNFIN         opt_tcp_input.h
300 XBONEHACK
301 MBUF_STRESS_TEST        opt_mbuf_stress_test.h
302
303 # Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
304 # Each netgraph node type can be either be compiled into the kernel
305 # or loaded dynamically. To get the former, include the corresponding
306 # option below. Each type has its own man page, e.g. ng_async(8).
307 NETGRAPH
308 NETGRAPH_ASYNC          opt_netgraph.h
309 NETGRAPH_BPF            opt_netgraph.h
310 NETGRAPH_BRIDGE         opt_netgraph.h
311 NETGRAPH_CISCO          opt_netgraph.h
312 NETGRAPH_ECHO           opt_netgraph.h
313 NETGRAPH_ETHER          opt_netgraph.h
314 NETGRAPH_FRAME_RELAY    opt_netgraph.h
315 NETGRAPH_HOLE           opt_netgraph.h
316 NETGRAPH_IFACE          opt_netgraph.h
317 NETGRAPH_KSOCKET        opt_netgraph.h
318 NETGRAPH_LMI            opt_netgraph.h
319 NETGRAPH_L2TP           opt_netgraph.h
320 # MPPC compression requires proprietary files (not included)
321 NETGRAPH_MPPC_COMPRESSION       opt_netgraph.h
322 NETGRAPH_MPPC_ENCRYPTION        opt_netgraph.h
323 NETGRAPH_ONE2MANY       opt_netgraph.h
324 NETGRAPH_PPP            opt_netgraph.h
325 NETGRAPH_PPPOE          opt_netgraph.h
326 NETGRAPH_PPTPGRE        opt_netgraph.h
327 NETGRAPH_RFC1490        opt_netgraph.h
328 NETGRAPH_SOCKET         opt_netgraph.h
329 NETGRAPH_TEE            opt_netgraph.h
330 NETGRAPH_TTY            opt_netgraph.h
331 NETGRAPH_UI             opt_netgraph.h
332 NETGRAPH_VJC            opt_netgraph.h
333
334 # DRM options
335 DRM_DEBUG               opt_drm.h
336
337 # ATM (HARP version)
338 ATM_CORE                opt_atm.h
339 ATM_IP                  opt_atm.h
340 ATM_SIGPVC              opt_atm.h
341 ATM_SPANS               opt_atm.h
342 ATM_UNI                 opt_atm.h
343
344 # XXX Conflict: # of devices vs network protocol (Native ATM).
345 # This makes "atm.h" unusable.
346 NATM                    opt_natm.h
347
348 DPT_ALLOW_MEMIO         opt_dpt.h       # Allow PCI devices to use memory
349                                         # mapped I/O
350 # DPT driver debug flags
351 DPT_MEASURE_PERFORMANCE opt_dpt.h
352 DPT_HANDLE_TIMEOUTS     opt_dpt.h
353 DPT_TIMEOUT_FACTOR      opt_dpt.h
354 DPT_LOST_IRQ            opt_dpt.h
355 DPT_RESET_HBA           opt_dpt.h
356
357 # Adaptec ASR and DPT V/VI controller options
358 ASR_MEASURE_PERFORMANCE opt_asr.h
359
360 # Misc debug flags.  Most of these should probably be replaced with
361 # 'DEBUG', and then let people recompile just the interesting modules
362 # with 'make CC="cc -DDEBUG"'.
363 CLUSTERDEBUG            opt_debug_cluster.h
364 DEBUG_1284              opt_ppb_1284.h
365 VP0_DEBUG               opt_vpo.h
366 LPT_DEBUG               opt_lpt.h
367 PLIP_DEBUG              opt_plip.h
368 LOCKF_DEBUG             opt_debug_lockf.h
369 LOUTB                   opt_debug_outb.h
370 NPX_DEBUG               opt_debug_npx.h
371 NETATALKDEBUG           opt_atalk.h
372 SI_DEBUG                opt_debug_si.h
373
374 # Fb options
375 FB_DEBUG                opt_fb.h
376 FB_INSTALL_CDEV         opt_fb.h
377
378 # ppbus related options
379 PERIPH_1284             opt_ppb_1284.h
380 DONTPROBE_1284          opt_ppb_1284.h
381
382 # smbus related options
383 ENABLE_ALART            opt_intpm.h
384
385 # These cause changes all over the kernel
386 BLKDEV_IOSIZE           opt_global.h
387 DEBUG                   opt_global.h
388 DEBUG_LOCKS             opt_global.h
389 DEBUG_VFS_LOCKS         opt_global.h
390 DIAGNOSTIC              opt_global.h
391 ENABLE_VFS_IOOPT        opt_global.h
392 INVARIANT_SUPPORT       opt_global.h
393 INVARIANTS              opt_global.h
394 SIMPLELOCK_DEBUG        opt_global.h
395 VFS_BIO_DEBUG           opt_global.h
396
397 # These are VM related options
398 VM_KMEM_SIZE            opt_vm.h
399 VM_KMEM_SIZE_SCALE      opt_vm.h
400 VM_KMEM_SIZE_MAX        opt_vm.h
401 NO_SWAPPING             opt_vm.h
402 PQ_NOOPT                opt_vmpage.h
403 PQ_NORMALCACHE          opt_vmpage.h
404 PQ_MEDIUMCACHE          opt_vmpage.h
405 PQ_LARGECACHE           opt_vmpage.h
406 PQ_HUGECACHE            opt_vmpage.h
407 PQ_CACHESIZE            opt_vmpage.h
408
409 # Standard SMP options
410 SMP                     opt_global.h
411
412 # sys/netkey
413 KEY
414
415 # Size of the kernel message buffer
416 MSGBUF_SIZE             opt_msgbuf.h
417
418 # PCI related options
419 PCI_QUIET               opt_pci.h
420 PCI_ENABLE_IO_MODES     opt_pci.h
421
422 # NFS options
423 NFS_MINATTRTIMO         opt_nfs.h
424 NFS_MAXATTRTIMO         opt_nfs.h
425 NFS_MINDIRATTRTIMO      opt_nfs.h
426 NFS_MAXDIRATTRTIMO      opt_nfs.h
427 NFS_GATHERDELAY         opt_nfs.h
428 NFS_UIDHASHSIZ          opt_nfs.h
429 NFS_WDELAYHASHSIZ       opt_nfs.h
430 NFS_MUIDHASHSIZ         opt_nfs.h
431 NFS_NOSERVER            opt_nfs.h
432 NFS_DEBUG               opt_nfs.h
433
434 # For the Bt848/Bt848A/Bt849/Bt878/Bt879 driver
435 OVERRIDE_CARD                   opt_bktr.h
436 OVERRIDE_TUNER                  opt_bktr.h
437 OVERRIDE_DBX                    opt_bktr.h
438 OVERRIDE_MSP                    opt_bktr.h
439 BROOKTREE_SYSTEM_DEFAULT        opt_bktr.h
440 BROOKTREE_ALLOC_PAGES           opt_bktr.h
441 BKTR_OVERRIDE_CARD              opt_bktr.h
442 BKTR_OVERRIDE_TUNER             opt_bktr.h
443 BKTR_OVERRIDE_DBX               opt_bktr.h
444 BKTR_OVERRIDE_MSP               opt_bktr.h
445 BKTR_SYSTEM_DEFAULT             opt_bktr.h
446 BKTR_ALLOC_PAGES                opt_bktr.h
447 BKTR_USE_PLL                    opt_bktr.h      
448 BKTR_GPIO_ACCESS                opt_bktr.h
449 BKTR_NO_MSP_RESET               opt_bktr.h
450 BKTR_430_FX_MODE                opt_bktr.h
451 BKTR_SIS_VIA_MODE               opt_bktr.h
452
453 # meteor opt_meteor.h
454 METEOR_ALLOC_PAGES      opt_meteor.h
455 METEOR_TEST_VIDEO       opt_meteor.h
456 METEOR_SYSTEM_DEFAULT   opt_meteor.h
457 METEOR_DEALLOC_PAGES    opt_meteor.h
458 METEOR_DEALLOC_ABOVE    opt_meteor.h
459
460 # Various mi ISA bus flags
461 COM_ESP                 opt_sio.h
462 COM_MULTIPORT           opt_sio.h
463 BREAK_TO_DEBUGGER       opt_comconsole.h
464 ALT_BREAK_TO_DEBUGGER   opt_comconsole.h
465
466 # Include tweaks for running under the SimOS machine simulator.
467 SIMOS                   opt_simos.h
468
469 # options for bus/device framework
470 BUS_DEBUG               opt_bus.h
471 DEVICE_SYSCTLS          opt_bus.h
472
473 # options for USB support
474 UHCI_DEBUG              opt_usb.h
475 OHCI_DEBUG              opt_usb.h
476 USB_DEBUG               opt_usb.h
477 UGEN_DEBUG              opt_usb.h
478 UHID_DEBUG              opt_usb.h
479 UHUB_DEBUG              opt_usb.h
480 UKBD_DEBUG              opt_usb.h
481 ULPT_DEBUG              opt_usb.h
482 UMASS_DEBUG             opt_usb.h
483 UMS_DEBUG               opt_usb.h
484
485 # Vinum options
486 VINUMDEBUG              opt_vinum.h
487
488 # Embedded system options
489 UKBD_DFLT_KEYMAP        opt_ukbd.h
490 INIT_PATH               opt_init_path.h
491
492 ROOTDEVNAME             opt_rootdevname.h
493
494 FDC_DEBUG               opt_fdc.h
495 PCFCLOCK_VERBOSE        opt_pcfclock.h
496 PCFCLOCK_MAX_RETRIES    opt_pcfclock.h
497
498 # Polling device handling
499 DEVICE_POLLING          opt_global.h
500
501 # options for ubsec driver
502 UBSEC_DEBUG             opt_ubsec.h
503 UBSEC_RNDTEST           opt_ubsec.h
504 UBSEC_NO_RNG            opt_ubsec.h
505
506 # options for hifn driver
507 HIFN_DEBUG              opt_hifn.h
508 HIFN_RNDTEST            opt_hifn.h
509 HIFN_NO_RNG             opt_hifn.h