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