Lines Matching +full:default +full:- +full:on

1 # SPDX-License-Identifier: GPL-2.0-only
4 default "$(CC_VERSION_TEXT)"
8 - Re-run Kconfig when the compiler is updated
9 The 'default' property references the environment variable,
13 - Ensure full rebuild when the compiler is updated
14 include/linux/compiler-version.h contains this option in the comment
16 auto-generated dependency. When the compiler is updated, syncconfig
20 def_bool $(success,test "$(cc-name)" = GCC)
24 default $(cc-version) if CC_IS_GCC
25 default 0
28 def_bool $(success,test "$(cc-name)" = Clang)
32 default $(cc-version) if CC_IS_CLANG
33 default 0
36 def_bool $(success,test "$(as-name)" = GNU)
39 def_bool $(success,test "$(as-name)" = LLVM)
44 default CLANG_VERSION if AS_IS_LLVM
45 default $(as-version)
48 def_bool $(success,test "$(ld-name)" = BFD)
52 default $(ld-version) if LD_IS_BFD
53 default 0
56 def_bool $(success,test "$(ld-name)" = LLD)
60 default $(ld-version) if LD_IS_LLD
61 default 0
65 default $(rustc-version)
67 It does not depend on `RUST` since that one may need to use the version
68 in a `depends on`.
75 Please see Documentation/rust/quick-start.rst for instructions on how
83 default $(rustc-llvm-version)
90 default ARCH_CC_CAN_LINK if ARCH_HAS_CC_CAN_LINK
91 default $(cc_can_link_user,$(m64-flag)) if 64BIT
92 default $(cc_can_link_user,$(m32-flag))
98 depends on CC_IS_GCC
99 default y if GCC_VERSION < 110500
100 default y if GCC_VERSION >= 120000 && GCC_VERSION < 120400
101 default y if GCC_VERSION >= 130000 && GCC_VERSION < 130300
105 depends on !GCC_ASM_GOTO_OUTPUT_BROKEN
107 …depends on $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return …
109on $(success,echo 'void b(void **);void* c(void);int f(void){{asm goto(""::::l0);return 0;l0:retur…
112 depends on CC_HAS_ASM_GOTO_OUTPUT
113 # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
114 …foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $…
117 …env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
120 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
126 # https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
127 default y if CC_IS_CLANG && CLANG_VERSION >= 190100
130 default y if CC_IS_GCC && GCC_VERSION >= 130100
133 … '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
140 # https://github.com/llvm/llvm-project/commit/160fb1121cdf703c3ef5e61fb26c5659eb581489
141 default y if CC_IS_CLANG && CLANG_VERSION >= 200100
144 default y if CC_IS_GCC && GCC_VERSION >= 150100
147 …[][4] __attribute__((__nonstring__)) = { };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
151 # https://github.com/llvm/llvm-project/pull/130661
174 default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
206 depends on BROKEN || !SMP
207 default y
211 default 32 if !UML
212 default 128 if UML
219 depends on HAS_IOMEM
221 Some drivers can be compiled on a different platform than they are
222 intended to be run on. Despite they cannot be loaded there (or even
225 drivers to compile-test them.
233 default COMPILE_TEST
236 enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
237 to enforce that rule by default. Certain warnings from other tools
250 depends on HEADERS_INSTALL && CC_CAN_LINK
252 Compile test headers exported to user-space to ensure they are
253 self-contained, i.e. compilable as standalone units.
256 headers are self-contained, say Y here. Otherwise, choose N.
259 string "Local version - append to kernel release"
270 default y
271 depends on !COMPILE_TEST
277 A string of the format -gxxxxxxxx will be added to the localversion
278 if a git-based tree is found. The string generated by this will be
285 $ git rev-parse --verify HEAD
291 default ""
296 build is unique between builds. It's safe to leave the default.
324 default KERNEL_GZIP
325 …depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KER…
327 The linux kernel is a kind of self-extracting executable.
339 are low on disk space (embedded systems), but for whom ram
346 depends on HAVE_KERNEL_GZIP
353 depends on HAVE_KERNEL_BZIP2
363 depends on HAVE_KERNEL_LZMA
371 depends on HAVE_KERNEL_XZ
376 comparison to gzip. On architectures for which there is a BCJ
377 filter (i386, x86_64, ARM, ARM64, RISC-V, big endian PowerPC,
387 depends on HAVE_KERNEL_LZO
395 depends on HAVE_KERNEL_LZ4
397 LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
407 depends on HAVE_KERNEL_ZSTD
417 depends on HAVE_KERNEL_UNCOMPRESSED
428 string "Default init path"
429 default ""
431 This option determines the default init for the system if no init=
432 option is passed on the kernel command line. If the requested path is
433 not present, we will still then move on to attempting further
438 string "Default hostname"
439 default "(none)"
441 This option determines the default system hostname before userspace
443 but you may wish to use a different default here to make a minimal
454 DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
463 depends on SYSVIPC
464 depends on SYSCTL
465 default y
469 depends on COMPAT && SYSVIPC
473 depends on NET
483 operations on message queues.
489 depends on POSIX_MQUEUE
490 depends on SYSCTL
491 default y
495 default n
503 See Documentation/core-api/watch_queue.rst
507 depends on MMU
508 default y
517 depends on NET
522 on architectures which support it.
529 depends on AUDIT && HAVE_ARCH_AUDITSYSCALL
544 default TICK_CPU_ACCOUNTING
549 depends on !S390 && !NO_HZ_FULL
552 statistics about user, system and idle time spent on per jiffies
559 depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL
563 accounting. This is done by reading a CPU counter on each
564 kernel entry and exit and on transitions within the kernel
567 this also enables accounting of stolen time on logically-partitioned
572 depends on HAVE_CONTEXT_TRACKING_USER
573 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
574 depends on GENERIC_CLOCKEVENTS
578 Select this option to enable task and CPU time accounting on full
580 kernel-user boundaries using the context tracking subsystem.
584 For now this is only useful if you are working on the full
593 depends on HAVE_IRQ_TIME_ACCOUNTING && !VIRT_CPU_ACCOUNTING_NATIVE
596 accounting. This is done by reading a timestamp on each
604 depends on IRQ_TIME_ACCOUNTING || PARAVIRT_TIME_ACCOUNTING
605 depends on SMP
609 default y if ARM && ARM_CPU_TOPOLOGY
610 default y if ARM64
611 depends on SMP
612 depends on CPU_FREQ_THERMAL
621 i.e. put less load on throttled CPUs than on non/less throttled ones.
628 depends on MULTIUSER
642 depends on BSD_PROCESS_ACCT
643 default n
654 depends on NET
655 depends on MULTIUSER
656 default n
662 space on task exit.
667 bool "Enable per-task delay accounting"
668 depends on TASKSTATS
671 Collect information on time spent by a task waiting for system
680 depends on TASKSTATS
688 bool "Enable per-task storage I/O accounting"
689 depends on TASK_XACCT
691 Collect information on the number of bytes of storage I/O which this
718 default n
719 depends on PSI
722 per default but can be enabled through passing psi=1 on the
727 common scheduling-intense workloads in practice (such as
740 depends on SMP
741 default y
758 on-disk kernel. This information can be extracted from the kernel
759 image file with the script scripts/extract-ikconfig and used as
766 depends on IKCONFIG && PROC_FS
773 depends on SYSFS
775 This option enables access to the in-kernel headers that are generated during
778 kheaders.ko is built which can be loaded on-demand to get access to headers.
783 default 17
784 depends on PRINTK
801 depends on SMP
803 default 0 if BASE_SMALL
804 default 12
805 depends on PRINTK
807 This option allows to increase the default ring buffer size
814 the original static one is unused. It makes sense only on systems
816 contributions is greater than the half of the default kernel ring
817 buffer as defined by LOG_BUF_SHIFT. The default values are set
837 depends on PRINTK && DEBUG_FS
862 depends on CPU_FREQ_GOV_SCHEDUTIL
865 of each CPU based on RUNNABLE tasks scheduled on that CPU.
881 default 5
882 depends on UCLAMP_TASK
887 the precision of clamping aggregation and tracking at run-time.
893 If a second 30% boosted task should be co-scheduled on the same CPU,
902 CPU. If that should be considered not acceptable on certain systems,
904 clamp buckets to trade off used memory for run-time tracking
907 If in doubt, use the default value.
912 depends on !PREEMPT_RT
914 depends on !SCHED_CLASS_EXT
915 # Not particularly useful until we get to multi-rq proxying
916 depends on EXPERT
918 This option enables proxy execution, a mechanism for mutex-owning
924 # For architectures that want to enable the support for NUMA-affine scheduler
933 # must provide guarantees on what happens if a clean TLB cache entry is
941 def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0) && 64BIT
945 default "-Wimplicit-fallthrough=5" if CC_IS_GCC && $(cc-option,-Wimplicit-fallthrough=5)
946 default "-Wimplicit-fallthrough" if CC_IS_CLANG && $(cc-option,-Wunreachable-code-fallthrough)
948 # Currently, disable gcc-10+ array-bounds globally.
949 # It's still broken in gcc-13, so no upper bound yet.
955 default y if CC_IS_GCC && GCC_VERSION >= 90000 && GCC10_NO_ARRAY_BOUNDS
957 # Currently, disable -Wstringop-overflow for GCC globally.
963 default y if CC_IS_GCC && GCC_NO_STRINGOP_OVERFLOW
967 default y if CC_IS_GCC && !CC_NO_STRINGOP_OVERFLOW
976 # all cpu-local but of different latencies, such as SuperH.
983 depends on ARCH_SUPPORTS_NUMA_BALANCING
984 depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
985 depends on SMP && NUMA && MIGRATION && !PREEMPT_RT
988 The mechanism is quite primitive and is based on migrating memory when
989 it has references to the node the task is running on.
991 This system will be inactive on UMA systems.
995 default y
996 depends on NUMA_BALANCING
998 If set, automatic NUMA balancing will be enabled if running on a NUMA
1012 - Documentation/scheduler/sched-design-CFS.rst (CFS)
1013 - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
1024 bool "Favor dynamic modification latency reduction by default"
1026 This option enables the "favordynmods" mount option by default
1028 as task migrations and controller on/offs at the cost of making
1044 depends on MEMCG
1045 depends on HAVE_NMI
1046 depends on !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !ARCH_HAVE_NMI_SAFE_CMPXCHG
1047 default y
1051 depends on MEMCG
1052 depends on HAVE_NMI
1053 depends on !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && ARCH_HAVE_NMI_SAFE_CMPXCHG
1054 default y
1058 depends on MEMCG
1059 default n
1075 depends on BLOCK
1076 default n
1085 block layer to implement upper limit in IO rates on a device.
1093 See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
1097 depends on MEMCG && BLK_CGROUP
1098 default y
1102 default n
1117 depends on CGROUP_SCHED
1119 default CGROUP_SCHED
1123 depends on FAIR_GROUP_SCHED
1125 default n
1131 See Documentation/scheduler/sched-bwc.rst for more information.
1135 depends on CGROUP_SCHED
1136 default n
1140 schedule realtime tasks for non-root users until you allocate
1142 See Documentation/scheduler/sched-rt-group.rst for more information.
1146 depends on RT_GROUP_SCHED
1147 default n
1149 When set, the RT group scheduling is disabled by default. The option
1157 depends on SCHED_CLASS_EXT && CGROUP_SCHED
1160 default y
1166 depends on SMP && RSEQ
1170 depends on CGROUP_SCHED
1171 depends on UCLAMP_TASK
1172 default n
1175 of each CPU based on RUNNABLE tasks currently scheduled on that CPU.
1184 specified task-specific clamp value is constrained by the cgroup
1221 memory usage based on the cgroup hierarchy.
1233 controller includes important in-kernel memory consumers per default.
1239 depends on HUGETLB_PAGE
1241 default n
1244 When you enable this, you can put a per cgroup limit on HugeTLB usage.
1255 depends on SMP
1261 This is primarily useful on large SMP or NUMA systems.
1267 depends on CPUSETS
1268 default n
1281 depends on CPUSETS_V1
1282 default y
1298 depends on PERF_EVENTS
1300 This option extends the perf per-cpu mode to restrict monitoring
1301 to threads which belong to the cgroup specified and run on the
1309 depends on BPF_SYSCALL
1315 In which context these programs are accessed depends on the type
1317 BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
1322 default n
1324 Provides a controller for miscellaneous resources on a host.
1326 Miscellaneous scalar resources are the resources on the host system
1332 /Documentation/admin-guide/cgroup-v2.rst.
1336 default n
1337 depends on DEBUG_KERNEL
1348 default n
1354 depends on MULTIUSER
1355 default !EXPERT
1366 default y
1373 depends on GENERIC_GETTIMEOFDAY
1374 default y
1381 depends on (SYSVIPC || POSIX_MQUEUE)
1382 default y
1389 default n
1396 user-space use the memory control groups to limit the amount
1403 default y
1411 depends on NET
1412 default y
1421 depends on PROC_FS
1424 default n
1446 bool "Kernel->user space relay support (formerly relayfs)"
1464 etc. See <file:Documentation/admin-guide/initrd.rst> for details.
1468 15 Kbytes (more on some other architectures) to the kernel size.
1486 See <file:Documentation/admin-guide/bootconfig.rst> for details.
1492 depends on BOOT_CONFIG
1493 default y if BOOT_CONFIG_EMBED
1496 out even when the "bootconfig" kernel-boot parameter is omitted.
1498 make the kernel ignore the BOOT_CONFIG-supplied kernel-boot
1505 depends on BOOT_CONFIG
1516 depends on BOOT_CONFIG_EMBED
1524 default 1021
1530 messages) at spaces based on CMDLINE_LOG_WRAP_IDEAL_LEN characters.
1542 depends on BLK_DEV_INITRD
1543 default y
1553 depends on BLK_DEV_INITRD && KUNIT=y
1554 default KUNIT_ALL_TESTS
1556 Build KUnit tests for initramfs. See Documentation/dev-tools/kunit
1560 default CC_OPTIMIZE_FOR_PERFORMANCE
1563 bool "Optimize for performance (-O2)"
1565 This is the default optimization level for the kernel, building
1566 with the "-O2" compiler flag for best performance and most
1567 helpful compile-time warnings.
1570 bool "Optimize for size (-Os)"
1572 Choosing this option will pass "-Os" to your compiler resulting
1589 depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
1590 depends on EXPERT
1591 depends on $(cc-option,-ffunction-sections -fdata-sections)
1592 depends on $(ld-option,--gc-sections)
1595 the linker by compiling with -ffunction-sections -fdata-sections,
1596 and linking with --gc-sections.
1598 This can reduce on disk and in-memory size of the kernel
1600 on small systems. This has the possibility of introducing
1607 depends on ARCH_WANT_LD_ORPHAN_WARN
1608 depends on $(ld-option,--orphan-handling=warn)
1609 depends on $(ld-option,--orphan-handling=error)
1613 depends on LD_ORPHAN_WARN
1614 default "error" if WERROR
1615 default "warn"
1626 Enable support for /proc/sys/debug/exception-trace.
1631 Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
1633 about unaligned access emulation going on under the hood.
1638 Enable support for /proc/sys/kernel/unaligned-trap
1645 default n
1658 # Unhide debug options, to make the on-by-default options visible
1663 environments which can tolerate a "non-standard" kernel.
1667 bool "Enable 16-bit UID system calls" if EXPERT
1668 depends on HAVE_UID16 && MULTIUSER
1669 default y
1671 This enables the legacy 16-bit UID syscall wrappers.
1675 default y
1677 This option enables support for non-root users, groups and
1689 default PARISC || M68K || PPC || MIPS || X86 || SPARC || MICROBLAZE || SUPERH
1692 no longer supported in libc but still enabled by default in some
1695 If unsure, leave the default option here.
1700 default y
1712 default y
1728 default y
1740 depends on PRINTK && KUNIT
1741 default KUNIT_ALL_TESTS
1745 For more information on KUnit and unit tests in general, please refer
1752 default y
1761 depends on COREDUMP
1762 default y
1769 bool "Enable PC-Speaker support" if EXPERT
1770 depends on HAVE_PCSPKR_PLATFORM
1772 default y
1774 This option allows to disable the internal PC-Speaker
1778 bool "Enable smaller-sized data structures for core" if EXPERT
1781 kernel data structures. This saves memory on small machines,
1786 depends on !(SPARC32 && SMP)
1787 default y
1792 run glibc-based applications correctly.
1796 depends on FUTEX && RT_MUTEXES
1797 default y
1801 depends on FUTEX && !BASE_SMALL && MMU
1802 default y
1806 depends on FUTEX && NUMA
1807 default y
1811 default y
1818 default y
1821 on a file descriptor.
1827 default y
1830 events on a file descriptor.
1836 default y
1845 default y
1846 depends on MMU
1852 which may be appropriate on small systems without swap.
1856 default y
1865 default y
1872 bool "Enable GCOV profiling on the io_uring subsystem"
1873 depends on IO_URING && GCOV_KERNEL
1875 Enable GCOV profiling on the io_uring subsystem, to facilitate
1880 Note that this will have a negative impact on the performance of
1886 default n
1887 depends on IO_URING
1897 default y
1907 default y
1911 the cost of user-space memory barriers asymmetrically by transforming
1921 user-space with the ability to compare two processes to see if they
1929 default y
1930 depends on HAVE_RSEQ
1934 user-space cache for the current CPU number value, which
1935 speeds up getting the current CPU number from user-space,
1936 as well as an ABI to speed up user-space operations on
1937 per-CPU data.
1942 default n
1944 depends on RSEQ && DEBUG_FS
1954 default n
1955 bool "Enable restartable sequences debug mode by default" if EXPERT
1956 depends on RSEQ
1961 This also can be controlled on the kernel command line via the
1967 default n
1969 depends on RSEQ && DEBUG_KERNEL && !GENERIC_ENTRY
1978 default y
1988 default y
1996 depends on KALLSYMS
1997 default n
2003 Start self-test automatically after system startup. Suggest executing
2009 depends on DEBUG_KERNEL && KALLSYMS
2020 size (depending on the kernel configuration, it may be 300KiB or
2036 Control MSEAL_SYSTEM_MAPPINGS access based on architecture.
2038 A 64-bit kernel is required for the memory sealing feature.
2053 Documentation/userspace-api/mseal.rst
2062 depends on HAVE_PERF_EVENTS
2073 default y if PROFILING
2074 depends on HAVE_PERF_EVENTS
2080 Software events are supported either built-in or via the
2086 suffered, or branches mis-predicted - without slowing down the
2088 when a threshold number of events have passed - and can thus be
2089 used to profile the code that runs on that CPU.
2095 capabilities on top of those.
2100 default n
2102 depends on PERF_EVENTS && DEBUG_KERNEL && !PPC
2107 Mostly useful for debugging the vmalloc code on platforms
2140 depends on HAVE_RUST
2141 depends on RUST_IS_AVAILABLE
2143 depends on !MODVERSIONS || GENDWARFKSYMS
2144 depends on !GCC_PLUGIN_RANDSTRUCT
2145 depends on !RANDSTRUCT
2146 depends on !DEBUG_INFO_BTF || (PAHOLE_HAS_LANG_EXCLUDE && !LTO)
2147 depends on !CFI || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
2149 depends on !CALL_PADDING || RUSTC_VERSION >= 108100
2150 depends on !KASAN_SW_TAGS
2151 depends on !(MITIGATION_RETHUNK && KASAN) || RUSTC_VERSION >= 108300
2155 This allows other Rust-related options, like drivers written in Rust,
2167 depends on RUST
2168 default "$(RUSTC_VERSION_TEXT)"
2174 depends on RUST
2175 # The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
2176 # (https://github.com/rust-lang/rust-bindgen/pull/2678) and 0.71.0
2177 # (https://github.com/rust-lang/rust-bindgen/pull/3040). It can be removed
2180 default "$(shell,$(BINDGEN) --version workaround-for-0.69.0 2>/dev/null)"
2200 default y if PREEMPT_RT
2223 depends on SMP
2232 functions to call on what tags.
2249 # macros for not-implemented syscalls in kernel/sys_ni.c and
2250 # kernel/time/posix-stubs.c. All these overrides need to be available in