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)
87default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
88default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
92default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
93default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
99 depends on CC_IS_GCC
100 default y if GCC_VERSION < 110500
101 default y if GCC_VERSION >= 120000 && GCC_VERSION < 120400
102 default y if GCC_VERSION >= 130000 && GCC_VERSION < 130300
106 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 …
110 depends on CC_HAS_ASM_GOTO_OUTPUT
111 # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
112 …foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $…
115 …env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
118 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
121 … '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
126 … __attribute__((__counted_by__(count))); };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
128 # https://github.com/llvm/llvm-project/pull/110497
129 # https://github.com/llvm/llvm-project/pull/112636
130 depends on !(CC_IS_CLANG && CLANG_VERSION < 190103)
134 # https://github.com/llvm/llvm-project/pull/130661
142 default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
170 depends on BROKEN || !SMP
171 default y
175 default 32 if !UML
176 default 128 if UML
183 depends on HAS_IOMEM
185 Some drivers can be compiled on a different platform than they are
186 intended to be run on. Despite they cannot be loaded there (or even
189 drivers to compile-test them.
197 default COMPILE_TEST
200 enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
201 to enforce that rule by default. Certain warnings from other tools
214 depends on HEADERS_INSTALL && CC_CAN_LINK
216 Compile test headers exported to user-space to ensure they are
217 self-contained, i.e. compilable as standalone units.
220 headers are self-contained, say Y here. Otherwise, choose N.
223 string "Local version - append to kernel release"
234 default y
235 depends on !COMPILE_TEST
241 A string of the format -gxxxxxxxx will be added to the localversion
242 if a git-based tree is found. The string generated by this will be
249 $ git rev-parse --verify HEAD
255 default ""
260 build is unique between builds. It's safe to leave the default.
288 default KERNEL_GZIP
289 …depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KER…
291 The linux kernel is a kind of self-extracting executable.
303 are low on disk space (embedded systems), but for whom ram
310 depends on HAVE_KERNEL_GZIP
317 depends on HAVE_KERNEL_BZIP2
327 depends on HAVE_KERNEL_LZMA
335 depends on HAVE_KERNEL_XZ
340 comparison to gzip. On architectures for which there is a BCJ
341 filter (i386, x86_64, ARM, ARM64, RISC-V, big endian PowerPC,
351 depends on HAVE_KERNEL_LZO
359 depends on HAVE_KERNEL_LZ4
361 LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
371 depends on HAVE_KERNEL_ZSTD
381 depends on HAVE_KERNEL_UNCOMPRESSED
392 string "Default init path"
393 default ""
395 This option determines the default init for the system if no init=
396 option is passed on the kernel command line. If the requested path is
397 not present, we will still then move on to attempting further
402 string "Default hostname"
403 default "(none)"
405 This option determines the default system hostname before userspace
407 but you may wish to use a different default here to make a minimal
418 DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
427 depends on SYSVIPC
428 depends on SYSCTL
429 default y
433 depends on COMPAT && SYSVIPC
437 depends on NET
447 operations on message queues.
453 depends on POSIX_MQUEUE
454 depends on SYSCTL
455 default y
459 default n
467 See Documentation/core-api/watch_queue.rst
471 depends on MMU
472 default y
481 default ALPHA || M68K || SPARC
485 system call. If you intend to run programs built on libc5 or
491 depends on NET
496 on architectures which support it.
503 depends on AUDIT && HAVE_ARCH_AUDITSYSCALL
518 default TICK_CPU_ACCOUNTING
523 depends on !S390 && !NO_HZ_FULL
526 statistics about user, system and idle time spent on per jiffies
533 depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL
537 accounting. This is done by reading a CPU counter on each
538 kernel entry and exit and on transitions within the kernel
541 this also enables accounting of stolen time on logically-partitioned
546 depends on HAVE_CONTEXT_TRACKING_USER
547 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
548 depends on GENERIC_CLOCKEVENTS
552 Select this option to enable task and CPU time accounting on full
554 kernel-user boundaries using the context tracking subsystem.
558 For now this is only useful if you are working on the full
567 depends on HAVE_IRQ_TIME_ACCOUNTING && !VIRT_CPU_ACCOUNTING_NATIVE
570 accounting. This is done by reading a timestamp on each
578 depends on IRQ_TIME_ACCOUNTING || PARAVIRT_TIME_ACCOUNTING
579 depends on SMP
583 default y if ARM && ARM_CPU_TOPOLOGY
584 default y if ARM64
585 depends on SMP
586 depends on CPU_FREQ_THERMAL
595 i.e. put less load on throttled CPUs than on non/less throttled ones.
602 depends on MULTIUSER
616 depends on BSD_PROCESS_ACCT
617 default n
628 depends on NET
629 depends on MULTIUSER
630 default n
636 space on task exit.
641 bool "Enable per-task delay accounting"
642 depends on TASKSTATS
645 Collect information on time spent by a task waiting for system
654 depends on TASKSTATS
662 bool "Enable per-task storage I/O accounting"
663 depends on TASK_XACCT
665 Collect information on the number of bytes of storage I/O which this
692 default n
693 depends on PSI
696 per default but can be enabled through passing psi=1 on the
701 common scheduling-intense workloads in practice (such as
714 depends on SMP || COMPILE_TEST
715 default y
732 on-disk kernel. This information can be extracted from the kernel
733 image file with the script scripts/extract-ikconfig and used as
740 depends on IKCONFIG && PROC_FS
747 depends on SYSFS
749 This option enables access to the in-kernel headers that are generated during
752 kheaders.ko is built which can be loaded on-demand to get access to headers.
757 default 17
758 depends on PRINTK
775 depends on SMP
777 default 0 if BASE_SMALL
778 default 12
779 depends on PRINTK
781 This option allows to increase the default ring buffer size
788 the original static one is unused. It makes sense only on systems
790 contributions is greater than the half of the default kernel ring
791 buffer as defined by LOG_BUF_SHIFT. The default values are set
811 depends on PRINTK && DEBUG_FS
836 depends on CPU_FREQ_GOV_SCHEDUTIL
839 of each CPU based on RUNNABLE tasks scheduled on that CPU.
855 default 5
856 depends on UCLAMP_TASK
861 the precision of clamping aggregation and tracking at run-time.
867 If a second 30% boosted task should be co-scheduled on the same CPU,
876 CPU. If that should be considered not acceptable on certain systems,
878 clamp buckets to trade off used memory for run-time tracking
881 If in doubt, use the default value.
886 # For architectures that want to enable the support for NUMA-affine scheduler
895 # must provide guarantees on what happens if a clean TLB cache entry is
903 def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0) && 64BIT
907 default "-Wimplicit-fallthrough=5" if CC_IS_GCC && $(cc-option,-Wimplicit-fallthrough=5)
908 default "-Wimplicit-fallthrough" if CC_IS_CLANG && $(cc-option,-Wunreachable-code-fallthrough)
910 # Currently, disable gcc-10+ array-bounds globally.
911 # It's still broken in gcc-13, so no upper bound yet.
917 default y if CC_IS_GCC && GCC_VERSION >= 90000 && GCC10_NO_ARRAY_BOUNDS
919 # Currently, disable -Wstringop-overflow for GCC globally.
925 default y if CC_IS_GCC && GCC_NO_STRINGOP_OVERFLOW
929 default y if CC_IS_GCC && !CC_NO_STRINGOP_OVERFLOW
938 # all cpu-local but of different latencies, such as SuperH.
945 depends on ARCH_SUPPORTS_NUMA_BALANCING
946 depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
947 depends on SMP && NUMA && MIGRATION && !PREEMPT_RT
950 The mechanism is quite primitive and is based on migrating memory when
951 it has references to the node the task is running on.
953 This system will be inactive on UMA systems.
957 default y
958 depends on NUMA_BALANCING
960 If set, automatic NUMA balancing will be enabled if running on a NUMA
974 - Documentation/scheduler/sched-design-CFS.rst (CFS)
975 - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
986 bool "Favor dynamic modification latency reduction by default"
988 This option enables the "favordynmods" mount option by default
990 as task migrations and controller on/offs at the cost of making
1005 depends on MEMCG
1006 default n
1022 depends on BLOCK
1023 default n
1032 block layer to implement upper limit in IO rates on a device.
1040 See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
1044 depends on MEMCG && BLK_CGROUP
1045 default y
1049 default n
1061 depends on CGROUP_SCHED
1063 default CGROUP_SCHED
1067 depends on FAIR_GROUP_SCHED
1068 default n
1074 See Documentation/scheduler/sched-bwc.rst for more information.
1078 depends on CGROUP_SCHED
1079 default n
1083 schedule realtime tasks for non-root users until you allocate
1085 See Documentation/scheduler/sched-rt-group.rst for more information.
1089 depends on SCHED_CLASS_EXT && CGROUP_SCHED
1091 default y
1097 depends on SMP && RSEQ
1101 depends on CGROUP_SCHED
1102 depends on UCLAMP_TASK
1103 default n
1106 of each CPU based on RUNNABLE tasks currently scheduled on that CPU.
1115 specified task-specific clamp value is constrained by the cgroup
1152 memory usage based on the cgroup hierarchy.
1164 controller includes important in-kernel memory consumers per default.
1170 depends on HUGETLB_PAGE
1172 default n
1175 When you enable this, you can put a per cgroup limit on HugeTLB usage.
1186 depends on SMP
1192 This is primarily useful on large SMP or NUMA systems.
1198 depends on CPUSETS
1199 default n
1211 depends on CPUSETS
1212 default y
1228 depends on PERF_EVENTS
1230 This option extends the perf per-cpu mode to restrict monitoring
1231 to threads which belong to the cgroup specified and run on the
1239 depends on BPF_SYSCALL
1245 In which context these programs are accessed depends on the type
1247 BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
1252 default n
1254 Provides a controller for miscellaneous resources on a host.
1256 Miscellaneous scalar resources are the resources on the host system
1262 /Documentation/admin-guide/cgroup-v2.rst.
1266 default n
1267 depends on DEBUG_KERNEL
1278 default n
1284 depends on MULTIUSER
1285 default !EXPERT
1296 default y
1303 depends on GENERIC_VDSO_TIME_NS
1304 default y
1311 depends on (SYSVIPC || POSIX_MQUEUE)
1312 default y
1319 default n
1326 user-space use the memory control groups to limit the amount
1333 default y
1341 depends on NET
1342 default y
1351 depends on PROC_FS
1354 default n
1376 bool "Kernel->user space relay support (formerly relayfs)"
1394 etc. See <file:Documentation/admin-guide/initrd.rst> for details.
1398 15 Kbytes (more on some other architectures) to the kernel size.
1416 See <file:Documentation/admin-guide/bootconfig.rst> for details.
1422 depends on BOOT_CONFIG
1423 default y if BOOT_CONFIG_EMBED
1426 out even when the "bootconfig" kernel-boot parameter is omitted.
1428 make the kernel ignore the BOOT_CONFIG-supplied kernel-boot
1435 depends on BOOT_CONFIG
1446 depends on BOOT_CONFIG_EMBED
1454 default y
1464 default CC_OPTIMIZE_FOR_PERFORMANCE
1467 bool "Optimize for performance (-O2)"
1469 This is the default optimization level for the kernel, building
1470 with the "-O2" compiler flag for best performance and most
1471 helpful compile-time warnings.
1474 bool "Optimize for size (-Os)"
1476 Choosing this option will pass "-Os" to your compiler resulting
1493 depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
1494 depends on EXPERT
1495 depends on $(cc-option,-ffunction-sections -fdata-sections)
1496 depends on $(ld-option,--gc-sections)
1499 the linker by compiling with -ffunction-sections -fdata-sections,
1500 and linking with --gc-sections.
1502 This can reduce on disk and in-memory size of the kernel
1504 on small systems. This has the possibility of introducing
1511 depends on ARCH_WANT_LD_ORPHAN_WARN
1512 depends on $(ld-option,--orphan-handling=warn)
1513 depends on $(ld-option,--orphan-handling=error)
1517 depends on LD_ORPHAN_WARN
1518 default "error" if WERROR
1519 default "warn"
1530 Enable support for /proc/sys/debug/exception-trace.
1535 Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
1537 about unaligned access emulation going on under the hood.
1542 Enable support for /proc/sys/kernel/unaligned-trap
1552 # Unhide debug options, to make the on-by-default options visible
1557 environments which can tolerate a "non-standard" kernel.
1561 bool "Enable 16-bit UID system calls" if EXPERT
1562 depends on HAVE_UID16 && MULTIUSER
1563 default y
1565 This enables the legacy 16-bit UID syscall wrappers.
1569 default y
1571 This option enables support for non-root users, groups and
1583 default PARISC || M68K || PPC || MIPS || X86 || SPARC || MICROBLAZE || SUPERH
1586 no longer supported in libc but still enabled by default in some
1589 If unsure, leave the default option here.
1593 default y
1604 default y
1616 default y
1632 default y
1644 default y
1653 depends on COREDUMP
1654 default y
1661 bool "Enable PC-Speaker support" if EXPERT
1662 depends on HAVE_PCSPKR_PLATFORM
1664 default y
1666 This option allows to disable the internal PC-Speaker
1670 bool "Enable smaller-sized data structures for core" if EXPERT
1673 kernel data structures. This saves memory on small machines,
1678 depends on !(SPARC32 && SMP)
1679 default y
1684 run glibc-based applications correctly.
1688 depends on FUTEX && RT_MUTEXES
1689 default y
1693 default y
1700 default y
1703 on a file descriptor.
1709 default y
1712 events on a file descriptor.
1718 default y
1727 default y
1728 depends on MMU
1734 which may be appropriate on small systems without swap.
1738 default y
1747 default y
1754 bool "Enable GCOV profiling on the io_uring subsystem"
1755 depends on GCOV_KERNEL
1757 Enable GCOV profiling on the io_uring subsystem, to facilitate
1762 Note that this will have a negative impact on the performance of
1768 default y
1778 default y
1782 the cost of user-space memory barriers asymmetrically by transforming
1792 user-space with the ability to compare two processes to see if they
1800 default y
1801 depends on HAVE_RSEQ
1805 user-space cache for the current CPU number value, which
1806 speeds up getting the current CPU number from user-space,
1807 as well as an ABI to speed up user-space operations on
1808 per-CPU data.
1813 default n
1815 depends on RSEQ && DEBUG_KERNEL
1823 default y
1840 default y
1848 depends on KALLSYMS
1849 default n
1855 Start self-test automatically after system startup. Suggest executing
1861 depends on DEBUG_KERNEL && KALLSYMS
1872 size (depending on the kernel configuration, it may be 300KiB or
1879 depends on KALLSYMS
1880 default X86_64 && SMP
1897 depends on HAVE_PERF_EVENTS
1908 default y if PROFILING
1909 depends on HAVE_PERF_EVENTS
1915 Software events are supported either built-in or via the
1921 suffered, or branches mis-predicted - without slowing down the
1923 when a threshold number of events have passed - and can thus be
1924 used to profile the code that runs on that CPU.
1930 capabilities on top of those.
1935 default n
1937 depends on PERF_EVENTS && DEBUG_KERNEL && !PPC
1942 Mostly useful for debugging the vmalloc code on platforms
1975 depends on HAVE_RUST
1976 depends on RUST_IS_AVAILABLE
1978 depends on !MODVERSIONS || GENDWARFKSYMS
1979 depends on !GCC_PLUGIN_RANDSTRUCT
1980 depends on !RANDSTRUCT
1981 depends on !DEBUG_INFO_BTF || (PAHOLE_HAS_LANG_EXCLUDE && !LTO)
1982 depends on !CFI_CLANG || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
1984 depends on !CALL_PADDING || RUSTC_VERSION >= 108100
1985 depends on !KASAN_SW_TAGS
1986 depends on !(MITIGATION_RETHUNK && KASAN) || RUSTC_VERSION >= 108300
1990 This allows other Rust-related options, like drivers written in Rust,
2002 depends on RUST
2003 default "$(RUSTC_VERSION_TEXT)"
2009 depends on RUST
2010 # The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
2011 # (https://github.com/rust-lang/rust-bindgen/pull/2678) and 0.71.0
2012 # (https://github.com/rust-lang/rust-bindgen/pull/3040). It can be removed
2015 default "$(shell,$(BINDGEN) --version workaround-for-0.69.0 2>/dev/null)"
2033 default y if PREEMPT_RT
2056 depends on SMP
2065 functions to call on what tags.
2082 # macros for not-implemented syscalls in kernel/sys_ni.c and
2083 # kernel/time/posix-stubs.c. All these overrides need to be available in