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