]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/conf/options
Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979
[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 NOTES, with suitable
6 # descriptions.  Negative options (options that make some code not
7 # compile) should be commented out; LINT (generated from NOTES) should
8 # compile as much code as possible.  Try to structure option-using
9 # code so that a single option only switch code on, or only switch
10 # code off, to make it possible to have a full compile-test.  If
11 # necessary, you can check for COMPILING_LINT to get maximum code
12 # coverage.
13 #
14 # All new options shall also be listed in either "conf/options" or
15 # "conf/options.<machine>".  Options that affect a single source-file
16 # <xxx>.[c|s] should be directed into "opt_<xxx>.h", while options
17 # that affect multiple files should either go in "opt_global.h" if
18 # this is a kernel-wide option (used just about everywhere), or in
19 # "opt_<option-name-in-lower-case>.h" if it affects only some files.
20 # Note that the effect of listing only an option without a
21 # header-file-name in conf/options (and cousins) is that the last
22 # convention is followed.
23 #
24 # This handling scheme is not yet fully implemented.
25 #
26 #
27 # Format of this file:
28 # Option name   filename
29 #
30 # If filename is missing, the default is
31 # opt_<name-of-option-in-lower-case>.h
32
33 AAC_DEBUG               opt_aac.h
34 AACRAID_DEBUG           opt_aacraid.h
35 AHC_ALLOW_MEMIO         opt_aic7xxx.h
36 AHC_TMODE_ENABLE        opt_aic7xxx.h
37 AHC_DUMP_EEPROM         opt_aic7xxx.h
38 AHC_DEBUG               opt_aic7xxx.h
39 AHC_DEBUG_OPTS          opt_aic7xxx.h
40 AHC_REG_PRETTY_PRINT    opt_aic7xxx.h
41 AHD_DEBUG               opt_aic79xx.h
42 AHD_DEBUG_OPTS          opt_aic79xx.h
43 AHD_TMODE_ENABLE        opt_aic79xx.h   
44 AHD_REG_PRETTY_PRINT    opt_aic79xx.h
45
46 # Debugging options.
47 ALT_BREAK_TO_DEBUGGER   opt_kdb.h
48 BREAK_TO_DEBUGGER       opt_kdb.h
49 BUF_TRACKING            opt_global.h
50 DDB
51 DDB_BUFR_SIZE   opt_ddb.h
52 DDB_CAPTURE_DEFAULTBUFSIZE      opt_ddb.h
53 DDB_CAPTURE_MAXBUFSIZE  opt_ddb.h
54 DDB_CTF         opt_ddb.h
55 DDB_NUMSYM      opt_ddb.h
56 EARLY_PRINTF    opt_global.h
57 FULL_BUF_TRACKING       opt_global.h
58 GDB
59 KDB             opt_global.h
60 KDB_TRACE       opt_kdb.h
61 KDB_UNATTENDED  opt_kdb.h
62 KLD_DEBUG       opt_kld.h
63 NUM_CORE_FILES  opt_global.h
64 QUEUE_MACRO_DEBUG_TRACE opt_global.h
65 QUEUE_MACRO_DEBUG_TRASH opt_global.h
66 SYSCTL_DEBUG    opt_sysctl.h
67 TEXTDUMP_PREFERRED      opt_ddb.h
68 TEXTDUMP_VERBOSE        opt_ddb.h
69 TSLOG   opt_global.h
70 TSLOG_PAGEZERO  opt_global.h
71 TSLOGSIZE       opt_global.h
72
73 # Miscellaneous options.
74 ALQ
75 ALTERA_SDCARD_FAST_SIM  opt_altera_sdcard.h
76 ATSE_CFI_HACK   opt_cfi.h
77 AUDIT           opt_global.h
78 BOOTHOWTO       opt_global.h
79 BOOTVERBOSE     opt_global.h
80 CALLOUT_PROFILING
81 CAPABILITIES    opt_capsicum.h
82 CAPABILITY_MODE opt_capsicum.h
83 CC_CDG          opt_global.h
84 CC_CHD          opt_global.h
85 CC_CUBIC        opt_global.h
86 CC_DEFAULT      opt_cc.h
87 CC_DCTCP        opt_global.h
88 CC_HD           opt_global.h
89 CC_HTCP         opt_global.h
90 CC_NEWRENO      opt_global.h
91 CC_VEGAS        opt_global.h
92 COMPAT_43       opt_global.h
93 COMPAT_43TTY    opt_global.h
94 COMPAT_FREEBSD4 opt_global.h
95 COMPAT_FREEBSD5 opt_global.h
96 COMPAT_FREEBSD6 opt_global.h
97 COMPAT_FREEBSD7 opt_global.h
98 COMPAT_FREEBSD9 opt_global.h
99 COMPAT_FREEBSD10        opt_global.h
100 COMPAT_FREEBSD11        opt_global.h
101 COMPAT_FREEBSD12        opt_global.h
102 COMPAT_FREEBSD13        opt_global.h
103 COMPAT_LINUXKPI opt_dontuse.h
104 COMPILING_LINT  opt_global.h
105 CY_PCI_FASTINTR
106 DEADLKRES       opt_watchdog.h
107 EXPERIMENTAL    opt_global.h
108 DIRECTIO
109 FILEMON         opt_dontuse.h
110 FFCLOCK
111 FULL_PREEMPTION opt_sched.h
112 GZIO            opt_gzio.h
113 IMGACT_BINMISC          opt_dontuse.h
114 IPI_PREEMPTION  opt_sched.h
115 GEOM_BDE        opt_geom.h
116 GEOM_CACHE      opt_geom.h
117 GEOM_CONCAT     opt_geom.h
118 GEOM_ELI        opt_geom.h
119 GEOM_GATE       opt_geom.h
120 GEOM_JOURNAL    opt_geom.h
121 GEOM_LABEL      opt_geom.h
122 GEOM_LABEL_GPT  opt_geom.h
123 GEOM_LINUX_LVM  opt_geom.h
124 GEOM_MAP        opt_geom.h
125 GEOM_MIRROR     opt_geom.h
126 GEOM_MOUNTVER   opt_geom.h
127 GEOM_MULTIPATH  opt_geom.h
128 GEOM_NOP        opt_geom.h
129 GEOM_PART_APM   opt_geom.h
130 GEOM_PART_BSD   opt_geom.h
131 GEOM_PART_BSD64 opt_geom.h
132 GEOM_PART_EBR   opt_geom.h
133 GEOM_PART_GPT   opt_geom.h
134 GEOM_PART_LDM   opt_geom.h
135 GEOM_PART_MBR   opt_geom.h
136 GEOM_PART_VTOC8 opt_geom.h
137 GEOM_RAID       opt_geom.h
138 GEOM_RAID3      opt_geom.h
139 GEOM_SHSEC      opt_geom.h
140 GEOM_STRIPE     opt_geom.h
141 GEOM_UZIP       opt_geom.h
142 GEOM_UZIP_DEBUG opt_geom.h
143 GEOM_VINUM      opt_geom.h
144 GEOM_VIRSTOR    opt_geom.h
145 GEOM_ZERO       opt_geom.h
146 IFLIB           opt_iflib.h
147 KDTRACE_HOOKS   opt_global.h
148 KDTRACE_FRAME   opt_kdtrace.h
149 KN_HASHSIZE     opt_kqueue.h
150 KSTACK_MAX_PAGES
151 KSTACK_PAGES
152 KSTACK_USAGE_PROF
153 KTRACE
154 KTRACE_REQUEST_POOL     opt_ktrace.h
155 LIBICONV
156 MAC             opt_global.h
157 MAC_BIBA        opt_dontuse.h
158 MAC_BSDEXTENDED opt_dontuse.h
159 MAC_DDB         opt_dontuse.h
160 MAC_IFOFF       opt_dontuse.h
161 MAC_LOMAC       opt_dontuse.h
162 MAC_MLS         opt_dontuse.h
163 MAC_NONE        opt_dontuse.h
164 MAC_NTPD        opt_dontuse.h
165 MAC_PARTITION   opt_dontuse.h
166 MAC_PORTACL     opt_dontuse.h
167 MAC_PRIORITY    opt_dontuse.h
168 MAC_SEEOTHERUIDS        opt_dontuse.h
169 MAC_STATIC      opt_mac.h
170 MAC_STUB        opt_dontuse.h
171 MAC_TEST        opt_dontuse.h
172 MAC_VERIEXEC    opt_dontuse.h
173 MAC_VERIEXEC_SHA1       opt_dontuse.h
174 MAC_VERIEXEC_SHA256     opt_dontuse.h
175 MAC_VERIEXEC_SHA384     opt_dontuse.h
176 MAC_VERIEXEC_SHA512     opt_dontuse.h
177 MD_ROOT         opt_md.h
178 MD_ROOT_FSTYPE  opt_md.h
179 MD_ROOT_READONLY        opt_md.h
180 MD_ROOT_SIZE    opt_md.h
181 MD_ROOT_MEM     opt_md.h
182 MFI_DEBUG       opt_mfi.h
183 MFI_DECODE_LOG  opt_mfi.h
184 MPROF_BUFFERS   opt_mprof.h
185 MPROF_HASH_SIZE opt_mprof.h
186 NEW_PCIB        opt_global.h
187 NO_ADAPTIVE_MUTEXES     opt_adaptive_mutexes.h
188 NO_ADAPTIVE_RWLOCKS
189 NO_ADAPTIVE_SX
190 NO_OBSOLETE_CODE        opt_global.h
191 NO_SYSCTL_DESCR opt_global.h
192 NSWBUF_MIN      opt_param.h
193 MBUF_PACKET_ZONE_DISABLE        opt_global.h
194 PANIC_REBOOT_WAIT_TIME  opt_panic.h
195 PCI_HP          opt_pci.h
196 PCI_IOV         opt_global.h
197 PPC_DEBUG       opt_ppc.h
198 PPC_PROBE_CHIPSET       opt_ppc.h
199 PPS_SYNC        opt_ntp.h
200 PREEMPTION      opt_sched.h
201 QUOTA
202 SCHED_4BSD      opt_sched.h
203 SCHED_STATS     opt_sched.h
204 SCHED_ULE       opt_sched.h
205 SLEEPQUEUE_PROFILING
206 SLHCI_DEBUG     opt_slhci.h
207 STACK           opt_stack.h
208 SUIDDIR
209 MSGMNB          opt_sysvipc.h
210 MSGMNI          opt_sysvipc.h
211 MSGSEG          opt_sysvipc.h
212 MSGSSZ          opt_sysvipc.h
213 MSGTQL          opt_sysvipc.h
214 SEMMNI          opt_sysvipc.h
215 SEMMNS          opt_sysvipc.h
216 SEMMNU          opt_sysvipc.h
217 SEMMSL          opt_sysvipc.h
218 SEMOPM          opt_sysvipc.h
219 SEMUME          opt_sysvipc.h
220 SHMALL          opt_sysvipc.h
221 SHMMAX          opt_sysvipc.h
222 SHMMAXPGS       opt_sysvipc.h
223 SHMMIN          opt_sysvipc.h
224 SHMMNI          opt_sysvipc.h
225 SHMSEG          opt_sysvipc.h
226 SYSVMSG         opt_sysvipc.h
227 SYSVSEM         opt_sysvipc.h
228 SYSVSHM         opt_sysvipc.h
229 SW_WATCHDOG     opt_watchdog.h
230 TCPHPTS         opt_inet.h
231 TCP_REQUEST_TRK opt_global.h
232 TCP_ACCOUNTING  opt_inet.h
233 #
234 # TCP SaD Detection is an experimental Sack attack Detection (SaD)
235 # algorithm that uses "normal" behaviour with SACK's to detect
236 # a possible attack. It is strictly experimental at this point.
237 #
238 TCP_SAD_DETECTION opt_inet.h
239 TURNSTILE_PROFILING
240 UMTX_PROFILING
241 UMTX_CHAINS     opt_global.h
242 VERBOSE_SYSINIT
243 ZSTDIO          opt_zstdio.h
244
245 # Sanitizers
246 COVERAGE        opt_global.h
247 KASAN           opt_global.h
248 KCOV
249 KCSAN           opt_global.h
250 KMSAN           opt_global.h
251 KUBSAN          opt_global.h
252
253 # POSIX kernel options
254 P1003_1B_MQUEUE                 opt_posix.h
255 P1003_1B_SEMAPHORES             opt_posix.h
256 _KPOSIX_PRIORITY_SCHEDULING     opt_posix.h
257
258 # Do we want the config file compiled into the kernel?
259 INCLUDE_CONFIG_FILE     opt_config.h
260
261 # Options for static filesystems.  These should only be used at config
262 # time, since the corresponding lkms cannot work if there are any static
263 # dependencies.  Unusability is enforced by hiding the defines for the
264 # options in a never-included header.
265 AUTOFS          opt_dontuse.h
266 CD9660          opt_dontuse.h
267 EXT2FS          opt_dontuse.h
268 FDESCFS         opt_dontuse.h
269 FFS             opt_dontuse.h
270 FUSEFS          opt_dontuse.h
271 MSDOSFS         opt_dontuse.h
272 NULLFS          opt_dontuse.h
273 PROCFS          opt_dontuse.h
274 PSEUDOFS        opt_dontuse.h
275 SMBFS           opt_dontuse.h
276 TARFS           opt_dontuse.h
277 TMPFS           opt_dontuse.h
278 UDF             opt_dontuse.h
279 UNIONFS         opt_dontuse.h
280 ZFS             opt_dontuse.h
281
282 # Pseudofs debugging
283 PSEUDOFS_TRACE  opt_pseudofs.h
284
285 # Tarfs debugging
286 TARFS_DEBUG     opt_tarfs.h
287
288 # In-kernel GSS-API
289 KGSSAPI         opt_kgssapi.h
290 KGSSAPI_DEBUG   opt_kgssapi.h
291
292 # These static filesystems have one slightly bogus static dependency in
293 # sys/i386/i386/autoconf.c.  If any of these filesystems are
294 # statically compiled into the kernel, code for mounting them as root
295 # filesystems will be enabled - but look below.
296 # NFSCL - client
297 # NFSD - server
298 NFSCL           opt_nfs.h
299 NFSD            opt_nfs.h
300
301 # filesystems and libiconv bridge
302 CD9660_ICONV    opt_dontuse.h
303 MSDOSFS_ICONV   opt_dontuse.h
304 UDF_ICONV       opt_dontuse.h
305
306 # If you are following the conditions in the copyright,
307 # you can enable soft-updates which will speed up a lot of thigs
308 # and make the system safer from crashes at the same time.
309 # otherwise a STUB module will be compiled in.
310 SOFTUPDATES     opt_ffs.h
311
312 # On small, embedded systems, it can be useful to turn off support for
313 # snapshots.  It saves about 30-40k for a feature that would be lightly
314 # used, if it is used at all.
315 NO_FFS_SNAPSHOT opt_ffs.h
316
317 # Enabling this option turns on support for Access Control Lists in UFS,
318 # which can be used to support high security configurations.  Depends on
319 # UFS_EXTATTR.
320 UFS_ACL         opt_ufs.h
321
322 # Enabling this option turns on support for extended attributes in UFS-based
323 # filesystems, which can be used to support high security configurations
324 # as well as new filesystem features.
325 UFS_EXTATTR     opt_ufs.h
326 UFS_EXTATTR_AUTOSTART   opt_ufs.h
327
328 # Enable fast hash lookups for large directories on UFS-based filesystems.
329 UFS_DIRHASH     opt_ufs.h
330
331 # Enable gjournal-based UFS journal.
332 UFS_GJOURNAL    opt_ufs.h
333
334 # The below sentence is not in English, and neither is this one.
335 # We plan to remove the static dependences above, with a
336 # <filesystem>_ROOT option to control if it usable as root.  This list
337 # allows these options to be present in config files already (though
338 # they won't make any difference yet).
339 NFS_ROOT        opt_nfsroot.h
340
341 # SMB/CIFS requester
342 NETSMB          opt_netsmb.h
343
344 # Enable debugnet(4) networking support.
345 DEBUGNET        opt_global.h
346 # Enable netdump(4) client support.
347 NETDUMP         opt_global.h
348 # Enable netgdb(4) support.
349 NETGDB          opt_global.h
350
351 # Options used only in subr_param.c.
352 HZ              opt_param.h
353 MAXFILES        opt_param.h
354 NBUF            opt_param.h
355 NSFBUFS         opt_param.h
356 VM_BCACHE_SIZE_MAX      opt_param.h
357 VM_SWZONE_SIZE_MAX      opt_param.h
358 MAXUSERS
359 DFLDSIZ         opt_param.h
360 MAXDSIZ         opt_param.h
361 MAXSSIZ         opt_param.h
362
363 # Generic SCSI options.
364 CAM_MAX_HIGHPOWER       opt_cam.h
365 CAMDEBUG                opt_cam.h
366 CAM_DEBUG_COMPILE       opt_cam.h
367 CAM_DEBUG_DELAY         opt_cam.h
368 CAM_DEBUG_BUS           opt_cam.h
369 CAM_DEBUG_TARGET        opt_cam.h
370 CAM_DEBUG_LUN           opt_cam.h
371 CAM_DEBUG_FLAGS         opt_cam.h
372 CAM_BOOT_DELAY          opt_cam.h
373 CAM_IOSCHED_DYNAMIC     opt_cam.h
374 CAM_IO_STATS            opt_cam.h
375 CAM_TEST_FAILURE        opt_cam.h
376 SCSI_DELAY              opt_scsi.h
377 SCSI_NO_SENSE_STRINGS   opt_scsi.h
378 SCSI_NO_OP_STRINGS      opt_scsi.h
379
380 # Options used only in cam/ata/ata_da.c
381 ATA_STATIC_ID           opt_ada.h
382
383 # Options used only in cam/scsi/scsi_cd.c
384 CHANGER_MIN_BUSY_SECONDS        opt_cd.h
385 CHANGER_MAX_BUSY_SECONDS        opt_cd.h
386
387 # Options used only in cam/scsi/scsi_da.c
388 DA_TRACK_REFS           opt_da.h
389
390 # Options used only in cam/scsi/scsi_sa.c.
391 SA_IO_TIMEOUT           opt_sa.h
392 SA_SPACE_TIMEOUT        opt_sa.h
393 SA_REWIND_TIMEOUT       opt_sa.h
394 SA_ERASE_TIMEOUT        opt_sa.h
395 SA_1FM_AT_EOD           opt_sa.h
396
397 # Options used only in cam/scsi/scsi_pt.c
398 SCSI_PT_DEFAULT_TIMEOUT opt_pt.h
399
400 # Options used only in cam/scsi/scsi_ses.c
401 SES_ENABLE_PASSTHROUGH  opt_ses.h
402
403 # Options used in dev/sym/ (Symbios SCSI driver).
404 SYM_SETUP_SCSI_DIFF     opt_sym.h       #-HVD support for 825a, 875, 885
405                                         # disabled:0 (default), enabled:1
406 SYM_SETUP_PCI_PARITY    opt_sym.h       #-PCI parity checking
407                                         # disabled:0, enabled:1 (default)
408 SYM_SETUP_MAX_LUN       opt_sym.h       #-Number of LUNs supported
409                                         # default:8, range:[1..64]
410
411 # Options used only in dev/isp/*
412 ISP_TARGET_MODE         opt_isp.h
413 ISP_FW_CRASH_DUMP       opt_isp.h
414 ISP_DEFAULT_ROLES       opt_isp.h
415 ISP_INTERNAL_TARGET     opt_isp.h
416 ISP_FCTAPE_OFF          opt_isp.h
417
418 # Options used only in dev/iscsi
419 ISCSI_INITIATOR_DEBUG   opt_iscsi_initiator.h
420
421 # Net stuff.
422 ACCEPT_FILTER_DATA
423 ACCEPT_FILTER_DNS
424 ACCEPT_FILTER_HTTP
425 ALTQ                    opt_global.h
426 ALTQ_CBQ                opt_altq.h
427 ALTQ_CDNR               opt_altq.h
428 ALTQ_CODEL              opt_altq.h
429 ALTQ_DEBUG              opt_altq.h
430 ALTQ_HFSC               opt_altq.h
431 ALTQ_FAIRQ              opt_altq.h
432 ALTQ_NOPCC              opt_altq.h
433 ALTQ_PRIQ               opt_altq.h
434 ALTQ_RED                opt_altq.h
435 ALTQ_RIO                opt_altq.h
436 BOOTP                   opt_bootp.h
437 BOOTP_BLOCKSIZE         opt_bootp.h
438 BOOTP_COMPAT            opt_bootp.h
439 BOOTP_NFSROOT           opt_bootp.h
440 BOOTP_NFSV3             opt_bootp.h
441 BOOTP_WIRED_TO          opt_bootp.h
442 DEVICE_POLLING
443 DUMMYNET                opt_ipdn.h
444 RATELIMIT               opt_ratelimit.h
445 RATELIMIT_DEBUG         opt_ratelimit.h
446 INET                    opt_inet.h
447 INET6                   opt_inet6.h
448 STATS                   opt_global.h
449 IPDIVERT
450 IPFILTER                opt_ipfilter.h
451 IPFILTER_DEFAULT_BLOCK  opt_ipfilter.h
452 IPFILTER_LOG            opt_ipfilter.h
453 IPFILTER_LOOKUP         opt_ipfilter.h
454 IPFIREWALL              opt_ipfw.h
455 IPFIREWALL_DEFAULT_TO_ACCEPT    opt_ipfw.h
456 IPFIREWALL_NAT          opt_ipfw.h
457 IPFIREWALL_NAT64        opt_ipfw.h
458 IPFIREWALL_NPTV6        opt_ipfw.h
459 IPFIREWALL_VERBOSE      opt_ipfw.h
460 IPFIREWALL_VERBOSE_LIMIT        opt_ipfw.h
461 IPFIREWALL_PMOD         opt_ipfw.h
462 IPSEC                   opt_ipsec.h
463 IPSEC_DEBUG             opt_ipsec.h
464 IPSEC_SUPPORT           opt_ipsec.h
465 IPSTEALTH
466 KERN_TLS
467 KRPC
468 LIBALIAS
469 LIBMCHAIN
470 MBUF_PROFILING
471 MBUF_STRESS_TEST
472 MROUTING                opt_mrouting.h
473 NFSLOCKD
474 NETLINK                 opt_netlink.h
475 PF_DEFAULT_TO_DROP      opt_pf.h
476 ROUTE_MPATH             opt_route.h
477 ROUTETABLES             opt_route.h
478 FIB_ALGO                opt_route.h
479 RSS                     opt_rss.h
480 SLIP_IFF_OPTS           opt_slip.h
481 TCPPCAP         opt_global.h
482 SIFTR
483 TCP_BLACKBOX            opt_global.h
484 TCP_HHOOK               opt_global.h
485 TCP_OFFLOAD             opt_inet.h # Enable code to dispatch TCP offloading
486 TCP_RFC7413             opt_inet.h
487 TCP_RFC7413_MAX_KEYS    opt_inet.h
488 TCP_RFC7413_MAX_PSKS    opt_inet.h
489 TCP_SIGNATURE           opt_ipsec.h
490 VLAN_ARRAY              opt_vlan.h
491 XDR
492 XBONEHACK
493
494 #
495 # SCTP
496 #
497 SCTP                    opt_sctp.h
498 SCTP_SUPPORT            opt_sctp.h
499 SCTP_DEBUG              opt_sctp.h # Enable debug printfs
500 SCTP_LOCK_LOGGING       opt_sctp.h # Log to KTR lock activity
501 SCTP_MBUF_LOGGING       opt_sctp.h # Log to KTR general mbuf aloc/free
502 SCTP_MBCNT_LOGGING      opt_sctp.h # Log to KTR mbcnt activity
503 SCTP_PACKET_LOGGING     opt_sctp.h # Log to a packet buffer last N packets
504 SCTP_LTRACE_CHUNKS      opt_sctp.h # Log to KTR chunks processed
505 SCTP_LTRACE_ERRORS      opt_sctp.h # Log to KTR error returns.
506 SCTP_USE_PERCPU_STAT    opt_sctp.h # Use per cpu stats.
507 SCTP_MCORE_INPUT        opt_sctp.h # Have multiple input threads for input mbufs
508 SCTP_LOCAL_TRACE_BUF    opt_sctp.h # Use tracebuffer exported via sysctl
509 SCTP_DETAILED_STR_STATS opt_sctp.h # Use per PR-SCTP policy stream stats
510 #
511 #
512 #
513
514 # Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
515 # Each netgraph node type can be either be compiled into the kernel
516 # or loaded dynamically. To get the former, include the corresponding
517 # option below. Each type has its own man page, e.g. ng_async(4).
518 NETGRAPH
519 NETGRAPH_DEBUG          opt_netgraph.h
520 NETGRAPH_ASYNC          opt_netgraph.h
521 NETGRAPH_BLUETOOTH      opt_netgraph.h
522 NETGRAPH_BLUETOOTH_BT3C opt_netgraph.h
523 NETGRAPH_BLUETOOTH_H4   opt_netgraph.h
524 NETGRAPH_BLUETOOTH_HCI  opt_netgraph.h
525 NETGRAPH_BLUETOOTH_L2CAP        opt_netgraph.h
526 NETGRAPH_BLUETOOTH_SOCKET       opt_netgraph.h
527 NETGRAPH_BLUETOOTH_UBT  opt_netgraph.h
528 NETGRAPH_BLUETOOTH_UBTBCMFW     opt_netgraph.h
529 NETGRAPH_BPF            opt_netgraph.h
530 NETGRAPH_BRIDGE         opt_netgraph.h
531 NETGRAPH_CAR            opt_netgraph.h
532 NETGRAPH_CHECKSUM       opt_netgraph.h
533 NETGRAPH_CISCO          opt_netgraph.h
534 NETGRAPH_DEFLATE        opt_netgraph.h
535 NETGRAPH_DEVICE         opt_netgraph.h
536 NETGRAPH_ECHO           opt_netgraph.h
537 NETGRAPH_EIFACE         opt_netgraph.h
538 NETGRAPH_ETHER          opt_netgraph.h
539 NETGRAPH_ETHER_ECHO     opt_netgraph.h
540 NETGRAPH_FEC            opt_netgraph.h
541 NETGRAPH_FRAME_RELAY    opt_netgraph.h
542 NETGRAPH_GIF            opt_netgraph.h
543 NETGRAPH_GIF_DEMUX      opt_netgraph.h
544 NETGRAPH_HOLE           opt_netgraph.h
545 NETGRAPH_IFACE          opt_netgraph.h
546 NETGRAPH_IP_INPUT       opt_netgraph.h
547 NETGRAPH_IPFW           opt_netgraph.h
548 NETGRAPH_KSOCKET        opt_netgraph.h
549 NETGRAPH_L2TP           opt_netgraph.h
550 NETGRAPH_LMI            opt_netgraph.h
551 NETGRAPH_MPPC_COMPRESSION       opt_netgraph.h
552 NETGRAPH_MPPC_ENCRYPTION        opt_netgraph.h
553 NETGRAPH_NAT            opt_netgraph.h
554 NETGRAPH_NETFLOW        opt_netgraph.h
555 NETGRAPH_ONE2MANY       opt_netgraph.h
556 NETGRAPH_PATCH          opt_netgraph.h
557 NETGRAPH_PIPE           opt_netgraph.h
558 NETGRAPH_PPP            opt_netgraph.h
559 NETGRAPH_PPPOE          opt_netgraph.h
560 NETGRAPH_PPTPGRE        opt_netgraph.h
561 NETGRAPH_PRED1          opt_netgraph.h
562 NETGRAPH_RFC1490        opt_netgraph.h
563 NETGRAPH_SOCKET         opt_netgraph.h
564 NETGRAPH_SPLIT          opt_netgraph.h
565 NETGRAPH_SPPP           opt_netgraph.h
566 NETGRAPH_TAG            opt_netgraph.h
567 NETGRAPH_TCPMSS         opt_netgraph.h
568 NETGRAPH_TEE            opt_netgraph.h
569 NETGRAPH_TTY            opt_netgraph.h
570 NETGRAPH_UI             opt_netgraph.h
571 NETGRAPH_VJC            opt_netgraph.h
572 NETGRAPH_VLAN           opt_netgraph.h
573
574 # DRM options
575 DRM_DEBUG               opt_drm.h
576
577 TI_SF_BUF_JUMBO         opt_ti.h
578 TI_JUMBO_HDRSPLIT       opt_ti.h
579
580 # Misc debug flags.  Most of these should probably be replaced with
581 # 'DEBUG', and then let people recompile just the interesting modules
582 # with 'make CC="cc -DDEBUG"'.
583 DEBUG_1284              opt_ppb_1284.h
584 LPT_DEBUG               opt_lpt.h
585 PLIP_DEBUG              opt_plip.h
586 LOCKF_DEBUG             opt_debug_lockf.h
587 SI_DEBUG                opt_debug_si.h
588 IFMEDIA_DEBUG           opt_ifmedia.h
589
590 # Fb options
591 FB_DEBUG                opt_fb.h
592
593 # ppbus related options
594 PERIPH_1284             opt_ppb_1284.h
595 DONTPROBE_1284          opt_ppb_1284.h
596
597 # smbus related options
598 ENABLE_ALART            opt_intpm.h
599
600 # These cause changes all over the kernel
601 BLKDEV_IOSIZE           opt_global.h
602 BURN_BRIDGES            opt_global.h
603 DEBUG                   opt_global.h
604 DEBUG_LOCKS             opt_global.h
605 DEBUG_VFS_LOCKS         opt_global.h
606 DFLTPHYS                opt_global.h
607 DIAGNOSTIC              opt_global.h
608 INVARIANT_SUPPORT       opt_global.h
609 INVARIANTS              opt_global.h
610 KASSERT_PANIC_OPTIONAL  opt_global.h
611 MAXCPU                  opt_global.h
612 MAXMEMDOM               opt_global.h
613 MAXPHYS                 opt_maxphys.h
614 MCLSHIFT                opt_global.h
615 MUTEX_NOINLINE          opt_global.h
616 LOCK_PROFILING          opt_global.h
617 MSIZE                   opt_global.h
618 REGRESSION              opt_global.h
619 RWLOCK_NOINLINE         opt_global.h
620 SX_NOINLINE             opt_global.h
621 VFS_BIO_DEBUG           opt_global.h
622
623 # These are VM related options
624 VM_KMEM_SIZE            opt_vm.h
625 VM_KMEM_SIZE_SCALE      opt_vm.h
626 VM_KMEM_SIZE_MAX        opt_vm.h
627 VM_NRESERVLEVEL         opt_vm.h
628 VM_LEVEL_0_ORDER        opt_vm.h
629 NO_SWAPPING             opt_vm.h
630 MALLOC_MAKE_FAILURES    opt_vm.h
631 MALLOC_PROFILE          opt_vm.h
632 MALLOC_DEBUG_MAXZONES   opt_vm.h
633
634 # The MemGuard replacement allocator used for tamper-after-free detection
635 DEBUG_MEMGUARD          opt_vm.h
636
637 # The RedZone malloc(9) protection
638 DEBUG_REDZONE           opt_vm.h
639
640 # Standard SMP options
641 EARLY_AP_STARTUP        opt_global.h
642 SMP                     opt_global.h
643 NUMA                    opt_global.h
644
645 # Size of the kernel message buffer
646 MSGBUF_SIZE             opt_msgbuf.h
647
648 # NFS options
649 NFS_MINATTRTIMO         opt_nfs.h
650 NFS_MAXATTRTIMO         opt_nfs.h
651 NFS_MINDIRATTRTIMO      opt_nfs.h
652 NFS_MAXDIRATTRTIMO      opt_nfs.h
653 NFS_DEBUG               opt_nfs.h
654
655 # TMPFS options
656 TMPFS_PAGES_MINRESERVED         opt_tmpfs.h
657
658 # Options for uart(4)
659 UART_PPS_ON_CTS         opt_uart.h
660 UART_POLL_FREQ          opt_uart.h
661 UART_DEV_TOLERANCE_PCT  opt_uart.h
662
663 # options for bus/device framework
664 BUS_DEBUG               opt_bus.h
665
666 # options for USB support
667 USB_DEBUG               opt_usb.h
668 USB_HOST_ALIGN          opt_usb.h
669 USB_REQ_DEBUG           opt_usb.h
670 USB_TEMPLATE            opt_usb.h
671 USB_VERBOSE             opt_usb.h
672 USB_DMA_SINGLE_ALLOC    opt_usb.h
673 USB_EHCI_BIG_ENDIAN_DESC        opt_usb.h
674 U3G_DEBUG               opt_u3g.h
675 UKBD_DFLT_KEYMAP        opt_ukbd.h
676 UPLCOM_INTR_INTERVAL    opt_uplcom.h
677 UVSCOM_DEFAULT_OPKTSIZE opt_uvscom.h
678 UVSCOM_INTR_INTERVAL    opt_uvscom.h
679
680 # options for the Realtek rtwn driver
681 RTWN_DEBUG              opt_rtwn.h
682 RTWN_WITHOUT_UCODE      opt_rtwn.h
683
684 # Embedded system options
685 INIT_PATH
686
687 ROOTDEVNAME
688
689 FDC_DEBUG               opt_fdc.h
690 PCFCLOCK_VERBOSE        opt_pcfclock.h
691 PCFCLOCK_MAX_RETRIES    opt_pcfclock.h
692
693 KTR                     opt_global.h
694 KTR_ALQ                 opt_ktr.h
695 KTR_MASK                opt_ktr.h
696 KTR_CPUMASK             opt_ktr.h
697 KTR_COMPILE             opt_global.h
698 KTR_BOOT_ENTRIES        opt_global.h
699 KTR_ENTRIES             opt_global.h
700 KTR_VERBOSE             opt_ktr.h
701 WITNESS                 opt_global.h
702 WITNESS_KDB             opt_witness.h
703 WITNESS_NO_VNODE        opt_witness.h
704 WITNESS_SKIPSPIN        opt_witness.h
705 WITNESS_COUNT           opt_witness.h
706 OPENSOLARIS_WITNESS     opt_global.h
707
708 EPOCH_TRACE             opt_global.h
709
710 # options for ACPI support
711 ACPI_DEBUG              opt_acpi.h
712 ACPI_MAX_TASKS          opt_acpi.h
713 ACPI_MAX_THREADS        opt_acpi.h
714 DEV_ACPI                opt_acpi.h
715 ACPI_EARLY_EPYC_WAR     opt_acpi.h
716
717 # options for IOMMU support
718 IOMMU                   opt_iommu.h
719
720 # ISA support
721 DEV_ISA                 opt_isa.h
722 ISAPNP                  opt_dontuse.h
723
724 # various 'device presence' options.
725 DEV_BPF                 opt_bpf.h
726 DEV_CARP                opt_carp.h
727 DEV_NETMAP              opt_global.h
728 DEV_PCI                 opt_pci.h
729 DEV_PF                  opt_pf.h
730 DEV_PFLOG               opt_pf.h
731 DEV_PFSYNC              opt_pf.h
732 DEV_SPLASH              opt_splash.h
733 DEV_VLAN                opt_vlan.h
734
735 # bce driver
736 BCE_DEBUG               opt_bce.h
737 BCE_NVRAM_WRITE_SUPPORT opt_bce.h
738
739 SOCKBUF_DEBUG           opt_global.h
740
741
742 # options for hifn driver
743 HIFN_DEBUG              opt_hifn.h
744 HIFN_RNDTEST            opt_hifn.h
745
746 # options for safenet driver
747 SAFE_DEBUG              opt_safe.h
748 SAFE_NO_RNG             opt_safe.h
749 SAFE_RNDTEST            opt_safe.h
750
751 # syscons/vt options
752 MAXCONS                 opt_syscons.h
753 SC_ALT_MOUSE_IMAGE      opt_syscons.h
754 SC_CUT_SPACES2TABS      opt_syscons.h
755 SC_CUT_SEPCHARS         opt_syscons.h
756 SC_DEBUG_LEVEL          opt_syscons.h
757 SC_DFLT_FONT            opt_syscons.h
758 SC_DFLT_TERM            opt_syscons.h
759 SC_DISABLE_KDBKEY       opt_syscons.h
760 SC_DISABLE_REBOOT       opt_syscons.h
761 SC_HISTORY_SIZE         opt_syscons.h
762 SC_KERNEL_CONS_ATTR     opt_syscons.h
763 SC_KERNEL_CONS_ATTRS    opt_syscons.h
764 SC_KERNEL_CONS_REV_ATTR opt_syscons.h
765 SC_MOUSE_CHAR           opt_syscons.h
766 SC_NO_CUTPASTE          opt_syscons.h
767 SC_NO_FONT_LOADING      opt_syscons.h
768 SC_NO_HISTORY           opt_syscons.h
769 SC_NO_MODE_CHANGE       opt_syscons.h
770 SC_NO_SUSPEND_VTYSWITCH opt_syscons.h
771 SC_NO_SYSMOUSE          opt_syscons.h
772 SC_NO_TERM_DUMB         opt_syscons.h
773 SC_NO_TERM_SC           opt_syscons.h
774 SC_NO_TERM_TEKEN        opt_syscons.h
775 SC_NORM_ATTR            opt_syscons.h
776 SC_NORM_REV_ATTR        opt_syscons.h
777 SC_PIXEL_MODE           opt_syscons.h
778 SC_RENDER_DEBUG         opt_syscons.h
779 SC_TWOBUTTON_MOUSE      opt_syscons.h
780 VT_ALT_TO_ESC_HACK      opt_syscons.h
781 VT_FB_MAX_WIDTH         opt_syscons.h
782 VT_FB_MAX_HEIGHT        opt_syscons.h
783 VT_MAXWINDOWS           opt_syscons.h
784 VT_TWOBUTTON_MOUSE      opt_syscons.h
785 DEV_SC                  opt_syscons.h
786 DEV_VT                  opt_syscons.h
787
788 # teken terminal emulator options
789 TEKEN_CONS25            opt_teken.h
790 TEKEN_UTF8              opt_teken.h
791 TERMINAL_KERN_ATTR      opt_teken.h
792 TERMINAL_NORM_ATTR      opt_teken.h
793
794 # options for printf
795 PRINTF_BUFR_SIZE        opt_printf.h
796 BOOT_TAG                opt_printf.h
797 BOOT_TAG_SZ             opt_printf.h
798
799 # kbd options
800 KBD_DISABLE_KEYMAP_LOAD opt_kbd.h
801 KBD_INSTALL_CDEV        opt_kbd.h
802 KBD_MAXRETRY            opt_kbd.h
803 KBD_MAXWAIT             opt_kbd.h
804 KBD_RESETDELAY          opt_kbd.h
805 KBD_DELAY1              opt_kbd.h
806 KBD_DELAY2              opt_kbd.h
807 KBDIO_DEBUG             opt_kbd.h
808 KBDMUX_DFLT_KEYMAP      opt_kbdmux.h
809
810 # options for the Atheros driver
811 ATH_DEBUG               opt_ath.h
812 ATH_TXBUF               opt_ath.h
813 ATH_RXBUF               opt_ath.h
814 ATH_DIAGAPI             opt_ath.h
815 ATH_TX99_DIAG           opt_ath.h
816 ATH_ENABLE_11N          opt_ath.h
817 ATH_ENABLE_DFS          opt_ath.h
818 ATH_EEPROM_FIRMWARE     opt_ath.h
819 ATH_ENABLE_RADIOTAP_VENDOR_EXT  opt_ath.h
820 ATH_DEBUG_ALQ           opt_ath.h
821 ATH_KTR_INTR_DEBUG      opt_ath.h
822
823 # options for the Atheros hal
824 # XXX For now, this breaks non-AR9130 chipsets, so only use it
825 # XXX when actually targeting AR9130.
826 AH_SUPPORT_AR9130       opt_ah.h
827
828 # This is required for AR933x SoC support
829 AH_SUPPORT_AR9330       opt_ah.h
830 AH_SUPPORT_AR9340       opt_ah.h
831 AH_SUPPORT_QCA9530      opt_ah.h
832 AH_SUPPORT_QCA9550      opt_ah.h
833
834 AH_DEBUG                opt_ah.h
835 AH_ASSERT               opt_ah.h
836 AH_DEBUG_ALQ            opt_ah.h
837 AH_REGOPS_FUNC          opt_ah.h
838 AH_WRITE_REGDOMAIN      opt_ah.h
839 AH_DEBUG_COUNTRY        opt_ah.h
840 AH_WRITE_EEPROM         opt_ah.h
841 AH_PRIVATE_DIAG         opt_ah.h
842 AH_NEED_DESC_SWAP       opt_ah.h
843 AH_USE_INIPDGAIN        opt_ah.h
844 AH_MAXCHAN              opt_ah.h
845 AH_RXCFG_SDMAMW_4BYTES  opt_ah.h
846 AH_INTERRUPT_DEBUGGING  opt_ah.h
847 # AR5416 and later interrupt mitigation
848 # XXX do not use this for AR9130
849 AH_AR5416_INTERRUPT_MITIGATION  opt_ah.h
850
851 # options for the Altera mSGDMA driver (altera_msgdma)
852 ALTERA_MSGDMA_DESC_STD          opt_altera_msgdma.h
853 ALTERA_MSGDMA_DESC_EXT          opt_altera_msgdma.h
854 ALTERA_MSGDMA_DESC_PF_STD       opt_altera_msgdma.h
855 ALTERA_MSGDMA_DESC_PF_EXT       opt_altera_msgdma.h
856
857 # options for the Broadcom BCM43xx driver (bwi)
858 BWI_DEBUG               opt_bwi.h
859 BWI_DEBUG_VERBOSE       opt_bwi.h
860
861 # options for the Brodacom BCM43xx driver (bwn)
862 BWN_DEBUG               opt_bwn.h
863 BWN_GPL_PHY             opt_bwn.h
864 BWN_USE_SIBA            opt_bwn.h
865
866 # Options for the SIBA driver
867 SIBA_DEBUG              opt_siba.h
868
869 # options for the Marvell 8335 wireless driver
870 MALO_DEBUG              opt_malo.h
871 MALO_TXBUF              opt_malo.h
872 MALO_RXBUF              opt_malo.h
873
874 # options for the Marvell wireless driver
875 MWL_DEBUG               opt_mwl.h
876 MWL_TXBUF               opt_mwl.h
877 MWL_RXBUF               opt_mwl.h
878 MWL_DIAGAPI             opt_mwl.h
879 MWL_AGGR_SIZE           opt_mwl.h
880 MWL_TX_NODROP           opt_mwl.h
881
882 # Options for the Marvell NETA driver
883 MVNETA_MULTIQUEUE       opt_mvneta.h
884 MVNETA_KTR              opt_mvneta.h
885
886 # Options for the Intel 802.11ac wireless driver
887 IWM_DEBUG               opt_iwm.h
888
889 # Options for the Intel 802.11n wireless driver
890 IWN_DEBUG               opt_iwn.h
891
892 # Options for the Intel 3945ABG wireless driver
893 WPI_DEBUG               opt_wpi.h
894
895 # dcons options 
896 DCONS_BUF_SIZE          opt_dcons.h
897 DCONS_POLL_HZ           opt_dcons.h
898 DCONS_FORCE_CONSOLE     opt_dcons.h
899 DCONS_FORCE_GDB         opt_dcons.h
900
901 # HWPMC options
902 HWPMC_DEBUG             opt_global.h
903 HWPMC_HOOKS
904 HWPMC_MIPS_BACKTRACE    opt_hwpmc_hooks.h
905
906 # 802.11 support layer
907 IEEE80211_DEBUG         opt_wlan.h
908 IEEE80211_DEBUG_REFCNT  opt_wlan.h
909 IEEE80211_SUPPORT_MESH  opt_wlan.h
910 IEEE80211_SUPPORT_SUPERG        opt_wlan.h
911 IEEE80211_SUPPORT_TDMA  opt_wlan.h
912 IEEE80211_ALQ           opt_wlan.h
913 IEEE80211_DFS_DEBUG     opt_wlan.h
914
915 # 802.11 TDMA support
916 TDMA_SLOTLEN_DEFAULT    opt_tdma.h
917 TDMA_SLOTCNT_DEFAULT    opt_tdma.h
918 TDMA_BINTVAL_DEFAULT    opt_tdma.h
919 TDMA_TXRATE_11B_DEFAULT opt_tdma.h
920 TDMA_TXRATE_11G_DEFAULT opt_tdma.h
921 TDMA_TXRATE_11A_DEFAULT opt_tdma.h
922 TDMA_TXRATE_TURBO_DEFAULT       opt_tdma.h
923 TDMA_TXRATE_HALF_DEFAULT        opt_tdma.h
924 TDMA_TXRATE_QUARTER_DEFAULT     opt_tdma.h
925 TDMA_TXRATE_11NA_DEFAULT        opt_tdma.h
926 TDMA_TXRATE_11NG_DEFAULT        opt_tdma.h
927
928 # VideoMode
929 PICKMODE_DEBUG                  opt_videomode.h
930
931 # Network stack virtualization options
932 VIMAGE                  opt_global.h
933 VNET_DEBUG              opt_global.h
934
935 # Common Flash Interface (CFI) options
936 CFI_SUPPORT_STRATAFLASH opt_cfi.h
937 CFI_ARMEDANDDANGEROUS   opt_cfi.h
938 CFI_HARDWAREBYTESWAP    opt_cfi.h
939
940 # Sound options
941 SND_DEBUG               opt_snd.h
942 SND_DIAGNOSTIC          opt_snd.h
943 SND_FEEDER_MULTIFORMAT  opt_snd.h
944 SND_FEEDER_FULL_MULTIFORMAT     opt_snd.h
945 SND_FEEDER_RATE_HP      opt_snd.h
946 SND_PCM_64              opt_snd.h
947 SND_OLDSTEREO           opt_snd.h
948
949 X86BIOS
950
951 # Flattened device tree options
952 FDT             opt_platform.h
953 FDT_DTB_STATIC  opt_platform.h
954
955 # OFED Infiniband stack
956 OFED            opt_ofed.h
957 OFED_DEBUG_INIT opt_ofed.h
958 SDP             opt_ofed.h
959 SDP_DEBUG       opt_ofed.h
960 IPOIB           opt_ofed.h
961 IPOIB_DEBUG     opt_ofed.h
962 IPOIB_CM        opt_ofed.h
963
964 # Resource Accounting
965 RACCT           opt_global.h
966 RACCT_DEFAULT_TO_DISABLED       opt_global.h
967
968 # Resource Limits
969 RCTL            opt_global.h
970
971 # Random number generator(s)
972 # Alternative RNG algorithm.
973 RANDOM_FENESTRASX       opt_global.h
974 # With this, no entropy processor is loaded, but the entropy
975 # harvesting infrastructure is present. This means an entropy
976 # processor may be loaded as a module.
977 RANDOM_LOADABLE opt_global.h
978 # This turns on high-rate and potentially expensive harvesting in
979 # the uma slab allocator.
980 RANDOM_ENABLE_UMA       opt_global.h
981 RANDOM_ENABLE_ETHER     opt_global.h
982
983 # This options turns TPM into entropy source.
984 TPM_HARVEST     opt_tpm.h
985
986 # BHND(4) driver
987 BHND_LOGLEVEL   opt_global.h
988
989 # GPIO and child devices
990 GPIO_SPI_DEBUG  opt_gpio.h
991
992 # SPI devices
993 SPIGEN_LEGACY_CDEVNAME  opt_spi.h
994
995 # etherswitch(4) driver
996 RTL8366_SOFT_RESET opt_etherswitch.h
997
998 # evdev protocol support
999 EVDEV_SUPPORT   opt_evdev.h
1000 EVDEV_DEBUG     opt_evdev.h
1001 UINPUT_DEBUG    opt_evdev.h
1002
1003 # Hyper-V network driver
1004 HN_DEBUG        opt_hn.h
1005
1006 # CAM-based MMC stack
1007 MMCCAM
1008 # Encrypted kernel crash dumps
1009 EKCD            opt_ekcd.h
1010
1011 # NVME options
1012 NVME_USE_NVD    opt_nvme.h
1013 NVME_2X_RESET   opt_nvme.h
1014
1015 # amdsbwd options
1016 AMDSBWD_DEBUG   opt_amdsbwd.h
1017
1018 # gcov support
1019 GCOV            opt_global.h
1020 LINDEBUGFS
1021
1022 # options for HID support
1023 HID_DEBUG       opt_hid.h
1024 IICHID_DEBUG    opt_hid.h
1025 IICHID_SAMPLING opt_hid.h
1026 HKBD_DFLT_KEYMAP        opt_hkbd.h
1027 HIDRAW_MAKE_UHID_ALIAS  opt_hid.h
1028
1029 # kenv options
1030 # The early kernel environment (loader environment, config(8)-provided static)
1031 # is typically cleared after the dynamic environment comes up to ensure that
1032 # we're not inadvertently holding on to 'secret' values in these stale envs.
1033 # This option is insecure except in controlled environments where the static
1034 # environment's contents are known to be safe.
1035 PRESERVE_EARLY_KENV     opt_global.h