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