Lines Matching +full:system +full:- +full:on +full:- +full:module

1 # SPDX-License-Identifier: GPL-2.0-only
4 depends on !UML
6 default "/lib/modules/$(shell,uname -r)/.config"
7 default "/etc/kernel-config"
8 default "/boot/config-$(shell,uname -r)"
17 - Re-run Kconfig when the compiler is updated
22 - Ensure full rebuild when the compier is updated
24 fixdep adds include/config/cc/version/text.h into the auto-generated
29 def_bool $(success,echo "$(CC_VERSION_TEXT)" | grep -q gcc)
33 default $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) if CC_IS_GCC
38 default $(shell,$(LD) --version | $(srctree)/scripts/ld-version.sh)
41 def_bool $(success,echo "$(CC_VERSION_TEXT)" | grep -q clang)
44 def_bool $(success,$(LD) -v | head -n 1 | grep -q LLD)
48 default $(shell,$(srctree)/scripts/clang-version.sh $(CC))
52 default $(shell,$(srctree)/scripts/lld-version.sh $(LD))
56 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
57 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
61 …efault $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAG…
62 …efault $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAG…
65 def_bool $(success,$(srctree)/scripts/gcc-goto.sh $(CC))
68 depends on CC_HAS_ASM_GOTO
69 …nt x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
72 depends on CC_HAS_ASM_GOTO_OUTPUT
73 # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
74 …foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $…
77 …env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
80 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
84 depends on !UML
109 depends on BROKEN || !SMP
122 depends on HAS_IOMEM
124 Some drivers can be compiled on a different platform than they are
125 intended to be run on. Despite they cannot be loaded there (or even
128 drivers to compile-test them.
139 enables the '-Werror' flag to enforce that rule by default.
150 depends on HEADERS_INSTALL && CC_CAN_LINK
152 Compile test headers exported to user-space to ensure they are
153 self-contained, i.e. compilable as standalone units.
156 headers are self-contained, say Y here. Otherwise, choose N.
159 string "Local version - append to kernel release"
171 depends on !COMPILE_TEST
177 A string of the format -gxxxxxxxx will be added to the localversion
178 if a git-based tree is found. The string generated by this will be
185 $ git rev-parse --verify HEAD
225 …depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KER…
227 The linux kernel is a kind of self-extracting executable.
239 are low on disk space (embedded systems), but for whom ram
246 depends on HAVE_KERNEL_GZIP
253 depends on HAVE_KERNEL_BZIP2
263 depends on HAVE_KERNEL_LZMA
271 depends on HAVE_KERNEL_XZ
276 comparison to gzip. On architectures for which there is a BCJ
277 filter (i386, x86_64, ARM, IA-64, PowerPC, and SPARC), XZ
286 depends on HAVE_KERNEL_LZO
294 depends on HAVE_KERNEL_LZ4
296 LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
306 depends on HAVE_KERNEL_ZSTD
316 depends on HAVE_KERNEL_UNCOMPRESSED
330 This option determines the default init for the system if no init=
331 option is passed on the kernel command line. If the requested path is
332 not present, we will still then move on to attempting further
340 This option determines the default system hostname before userspace
343 system more usable with less configuration.
354 depends on MMU && BLOCK && !ARCH_NO_SWAP
363 bool "System V IPC"
366 system calls which let processes (running programs) synchronize and
370 DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
379 depends on SYSVIPC
380 depends on SYSCTL
385 depends on NET
395 operations on message queues.
401 depends on POSIX_MQUEUE
402 depends on SYSCTL
419 depends on MMU
422 Enabling this option adds the system calls process_vm_readv and
431 This option enables the uselib syscall, a system call used in the
433 system call. If you intend to run programs built on libc5 or
439 depends on NET
443 logging of avc messages output). System call auditing is included
444 on architectures which support it.
451 depends on AUDIT && HAVE_ARCH_AUDITSYSCALL
471 depends on !S390 && !NO_HZ_FULL
474 statistics about user, system and idle time spent on per jiffies
481 depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL
485 accounting. This is done by reading a CPU counter on each
486 kernel entry and exit and on transitions within the kernel
487 between system, softirq and hardirq state, so there is a
489 this also enables accounting of stolen time on logically-partitioned
494 depends on HAVE_CONTEXT_TRACKING
495 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
496 depends on GENERIC_CLOCKEVENTS
500 Select this option to enable task and CPU time accounting on full
502 kernel-user boundaries using the context tracking subsystem.
506 For now this is only useful if you are working on the full
515 depends on HAVE_IRQ_TIME_ACCOUNTING && !VIRT_CPU_ACCOUNTING_NATIVE
518 accounting. This is done by reading a timestamp on each
526 depends on IRQ_TIME_ACCOUNTING || PARAVIRT_TIME_ACCOUNTING
527 depends on SMP
533 depends on SMP
534 depends on CPU_FREQ_THERMAL
543 i.e. put less load on throttled CPUs than on non/less throttled ones.
550 depends on MULTIUSER
553 kernel (via a special system call) to write process accounting
564 depends on BSD_PROCESS_ACCT
576 depends on NET
577 depends on MULTIUSER
584 space on task exit.
589 bool "Enable per-task delay accounting"
590 depends on TASKSTATS
593 Collect information on time spent by a task waiting for system
602 depends on TASKSTATS
610 bool "Enable per-task storage I/O accounting"
611 depends on TASK_XACCT
613 Collect information on the number of bytes of storage I/O which this
622 and IO capacity are in the system.
626 the share of walltime in which some or all tasks in the system are
640 depends on PSI
643 per default but can be enabled through passing psi=1 on the
648 common scheduling-intense workloads in practice (such as
661 depends on SMP || COMPILE_TEST
683 on-disk kernel. This information can be extracted from the kernel
684 image file with the script scripts/extract-ikconfig and used as
691 depends on IKCONFIG && PROC_FS
698 depends on SYSFS
700 This option enables access to the in-kernel headers that are generated during
702 or similar programs. If you build the headers as a module, a module called
703 kheaders.ko is built which can be loaded on-demand to get access to headers.
710 depends on PRINTK
727 depends on SMP
731 depends on PRINTK
740 the original static one is unused. It makes sense only on systems
762 int "Temporary per-CPU printk log buffer size (12 => 4KB, 13 => 8KB)"
765 depends on PRINTK
767 Select the size of an alternate printk per-CPU buffer where messages
769 be NMI messages, another one - printk recursion. The messages are
775 8KB if you want to be on the safe side.
798 depends on CPU_FREQ_GOV_SCHEDUTIL
801 of each CPU based on RUNNABLE tasks scheduled on that CPU.
818 depends on UCLAMP_TASK
823 the precision of clamping aggregation and tracking at run-time.
829 If a second 30% boosted task should be co-scheduled on the same CPU,
838 CPU. If that should be considered not acceptable on certain systems,
840 clamp buckets to trade off used memory for run-time tracking
848 # For architectures that want to enable the support for NUMA-affine scheduler
857 # must provide guarantees on what happens if a clean TLB cache entry is
865 def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0) && 64BIT
874 # all cpu-local but of different latencies, such as SuperH.
881 depends on ARCH_SUPPORTS_NUMA_BALANCING
882 depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
883 depends on SMP && NUMA && MIGRATION
886 The mechanism is quite primitive and is based on migrating memory when
887 it has references to the node the task is running on.
889 This system will be inactive on UMA systems.
894 depends on NUMA_BALANCING
896 If set, automatic NUMA balancing will be enabled if running on a NUMA
907 - Documentation/scheduler/sched-design-CFS.rst (CFS)
908 - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
927 depends on MEMCG && SWAP
932 depends on MEMCG && !SLOB
937 depends on BLOCK
947 block layer to implement upper limit in IO rates on a device.
955 See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
959 depends on MEMCG && BLK_CGROUP
973 depends on CGROUP_SCHED
978 depends on FAIR_GROUP_SCHED
985 See Documentation/scheduler/sched-bwc.rst for more information.
989 depends on CGROUP_SCHED
994 schedule realtime tasks for non-root users until you allocate
996 See Documentation/scheduler/sched-rt-group.rst for more information.
1002 depends on CGROUP_SCHED
1003 depends on UCLAMP_TASK
1007 of each CPU based on RUNNABLE tasks currently scheduled on that CPU.
1016 specified task-specific clamp value is constrained by the cgroup
1030 system to halt without being limited by other cgroup policies. The
1055 controller includes important in-kernel memory consumers per default.
1061 depends on HUGETLB_PAGE
1066 When you enable this, you can put a per cgroup limit on HugeTLB usage.
1077 depends on SMP
1080 allow dynamically partitioning a system into sets of CPUs and
1082 This is primarily useful on large SMP or NUMA systems.
1088 depends on CPUSETS
1105 depends on PERF_EVENTS
1107 This option extends the perf per-cpu mode to restrict monitoring
1108 to threads which belong to the cgroup specified and run on the
1116 depends on BPF_SYSCALL
1122 In which context these programs are accessed depends on the type
1124 BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
1130 depends on DEBUG_KERNEL
1147 depends on MULTIUSER
1162 uname() system call
1166 depends on GENERIC_VDSO_TIME_NS
1174 depends on (SYSVIPC || POSIX_MQUEUE)
1189 user-space use the memory control groups to limit the amount
1204 depends on NET
1239 depends on ARM64
1240 depends on SMP
1243 Enable an optimization which tries to avoid placing RT tasks on CPUs
1250 depends on SYSFS
1260 This option allows new kernels to run on old distributions and tools,
1264 Recent distributions and userspace tools after 2009/2010 depend on
1268 Only if you are using a new kernel on an old distribution, you might
1274 depends on SYSFS
1275 depends on SYSFS_DEPRECATED
1282 Only if you are using a new kernel on an old distribution, you might
1287 bool "Kernel->user space relay support (formerly relayfs)"
1304 load modules needed to mount the "real" root file system,
1305 etc. See <file:Documentation/admin-guide/initrd.rst> for details.
1309 15 Kbytes (more on some other architectures) to the kernel size.
1319 depends on NO_GKI
1327 depends on ROCKCHIP_THUNDER_BOOT
1332 initcall_nr_threads=-1, auto selected the number of threads.
1338 Extra boot config allows system admin to pass a config file as
1342 See <file:Documentation/admin-guide/bootconfig.rst> for details.
1351 bool "Optimize for performance (-O2)"
1354 with the "-O2" compiler flag for best performance and most
1355 helpful compile-time warnings.
1358 bool "Optimize more for performance (-O3)"
1359 depends on ARC
1361 Choosing this option will pass "-O3" to your compiler to optimize
1365 bool "Optimize for size (-Os)"
1367 Choosing this option will pass "-Os" to your compiler resulting
1384 depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
1385 depends on EXPERT
1386 depends on $(cc-option,-ffunction-sections -fdata-sections)
1387 depends on $(ld-option,--gc-sections)
1390 the linker by compiling with -ffunction-sections -fdata-sections,
1391 and linking with --gc-sections.
1393 This can reduce on disk and in-memory size of the kernel
1395 on small systems. This has the possibility of introducing
1402 depends on ARCH_WANT_LD_ORPHAN_WARN
1403 depends on !LD_IS_LLD || LLD_VERSION >= 110000
1404 depends on $(ld-option,--orphan-handling=warn)
1415 Enable support for /proc/sys/debug/exception-trace.
1420 Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
1422 about unaligned access emulation going on under the hood.
1427 Enable support for /proc/sys/kernel/unaligned-trap
1435 # interpreter that classic socket filters depend on
1441 # Unhide debug options, to make the on-by-default options visible
1446 environments which can tolerate a "non-standard" kernel.
1450 bool "Enable 16-bit UID system calls" if EXPERT
1451 depends on HAVE_UID16 && MULTIUSER
1454 This enables the legacy 16-bit UID syscall wrappers.
1460 This option enables support for non-root users, groups and
1465 system calls related to UIDs, GIDs, and capabilities, such as setuid,
1474 sys_sgetmask and sys_ssetmask are obsolete system calls
1484 sys_sysfs is an obsolete system call no longer supported in libc.
1497 different file system operations. This is useful in implementing
1528 very difficult to diagnose system problems, saying N here is
1533 depends on PRINTK
1534 depends on HAVE_NMI
1547 depends on COREDUMP
1555 bool "Enable PC-Speaker support" if EXPERT
1556 depends on HAVE_PCSPKR_PLATFORM
1560 This option allows to disable the internal PC-Speaker
1565 bool "Enable full-sized data structures for core" if EXPERT
1568 kernel data structures. This saves memory on small machines,
1578 run glibc-based applications correctly.
1582 depends on FUTEX && RT_MUTEXES
1587 depends on FUTEX
1598 support for epoll family of system calls.
1601 bool "Enable signalfd() system call" if EXPERT
1604 Enable the signalfd() system call that allows to receive signals
1605 on a file descriptor.
1610 bool "Enable timerfd() system call" if EXPERT
1613 Enable the timerfd() system call that allows to receive timer
1614 events on a file descriptor.
1619 bool "Enable eventfd() system call" if EXPERT
1622 Enable the eventfd() system call that allows to receive both
1630 depends on MMU
1636 which may be appropriate on small systems without swap.
1661 usage, improving performance. If building an embedded system where no
1676 bool "Enable membarrier() system call" if EXPERT
1679 Enable the membarrier() system call that allows issuing memory
1681 the cost of user-space memory barriers asymmetrically by transforming
1697 depends on DEBUG_KERNEL && KALLSYMS
1707 size (depending on the kernel configuration, it may be 300KiB or
1714 depends on KALLSYMS
1719 depends on KALLSYMS
1723 emit the symbol references in the kallsyms table as 32-bit entries,
1730 On 64-bit builds, this reduces the size of the address table by 50%,
1733 up the entries based on the runtime load address of the kernel.
1741 depends on BPF_EVENTS
1742 depends on BPF_SYSCALL
1743 depends on SECURITY
1744 depends on BPF_JIT
1752 bool "Enable bpf() system call"
1758 Enable the bpf() system call that allows to manipulate eBPF
1766 depends on BPF_SYSCALL && HAVE_EBPF_JIT && BPF_JIT
1773 depends on HAVE_EBPF_JIT && BPF_JIT
1777 depends on BPF_SYSCALL
1781 still reenable it by setting it to 0 later on, or permanently
1788 bool "Enable userfaultfd() system call"
1789 depends on MMU
1791 Enable the userfaultfd() system call that allows to intercept and
1801 bool "Enable kcmp() system call" if EXPERT
1803 Enable the kernel resource comparison system call. It provides
1804 user-space with the ability to compare two processes to see if they
1811 bool "Enable rseq() system call" if EXPERT
1813 depends on HAVE_RSEQ
1816 Enable the restartable sequences system call. It provides a
1817 user-space cache for the current CPU number value, which
1818 speeds up getting the current CPU number from user-space,
1819 as well as an ABI to speed up user-space operations on
1820 per-CPU data.
1826 bool "Enabled debugging of rseq() system call" if EXPERT
1827 depends on RSEQ && DEBUG_KERNEL
1829 Enable extra debugging checks for the rseq system call.
1834 bool "Embedded system"
1839 an embedded system so certain expert options are available
1864 depends on HAVE_PERF_EVENTS
1871 Software events are supported either built-in or via the
1877 suffered, or branches mis-predicted - without slowing down the
1879 when a threshold number of events have passed - and can thus be
1880 used to profile the code that runs on that CPU.
1884 system call and used by the "perf" utility in tools/perf/. It
1886 capabilities on top of those.
1893 depends on PERF_EVENTS && DEBUG_KERNEL && !PPC
1898 Mostly useful for debugging the vmalloc code on platforms
1911 on EXPERT systems. /proc/vmstat will only show page counts
1916 depends on SLUB && SYSFS
1922 depends on SLUB && SYSFS
1932 depends on SLUB && SYSFS && MEMCG
1953 On non-ancient distros (post-2000 ones) N is usually a safe choice.
1981 depends on EXPERT
1986 does not perform as well on large systems.
2001 merging at runtime, "slab_nomerge" can be passed on the kernel
2006 depends on SLAB || SLUB
2008 Randomizes the freelist order used on creating new pages. This
2014 depends on SLAB || SLUB
2020 sanity-checking than others. This option is most effective with
2028 utilization of a direct-mapped memory-side-cache. See section
2031 the presence of a memory-side-cache. There are also incidental
2034 default granularity of shuffling on the "MAX_ORDER - 1" i.e,
2035 10th order of pages is selected based on cache utilization
2036 benefits on x86.
2039 negatively impact workloads on platforms without a cache. For
2041 after runtime detection of a direct-mapped memory-side-cache.
2049 depends on SLUB && SMP
2054 in the latency of the free. On overflow these caches will be cleared
2056 Typically one would choose no for a realtime system.
2060 depends on EXPERT && !MMU
2071 ELF-FDPIC binfmt's brk and stack allocator.
2074 enabled on embedded devices where you control what is run in
2075 userspace. Since that isn't generally a problem on no-MMU systems,
2078 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
2093 Provide PKCS#7 message verification using the contents of the system
2095 module verification, kexec image verification and firmware blob
2128 bool "Enable loadable module support"
2151 bool "Forced module loading"
2155 --force). Forced module loading sets the 'F' (forced) taint flag and
2159 bool "Module unloading"
2167 bool "Forced module unloading"
2168 depends on MODULE_UNLOAD
2170 This option allows you to force a module to unload, even if the
2171 kernel believes it is unsafe: the kernel will remove the module
2172 without waiting for anyone to stop using it (using the -f option to
2177 bool "Module versioning support"
2190 This enables module versioning for exported symbols also from
2196 depends on MODVERSIONS
2204 see exactly which source was used to build a module (since
2205 others sometimes change the module source without updating
2211 depends on LOCALVERSION_AUTO
2213 This enables the module attribute "scmversion" which can be used
2214 by developers to identify the SCM version of a given module, e.g.
2218 since that causes the vermagic of the kernel and the module to
2224 bool "Module signature verification"
2228 is simply appended to the module. For more information see
2229 <file:Documentation/admin-guide/module-signing.rst>.
2237 another LSM - otherwise unsigned modules will be loadable regardless
2241 module DOES NOT get stripped after being signed. This includes the
2243 inclusion into an initramfs that wants the module size reduced.
2247 depends on MODULE_SIG
2255 depends on MODULE_SIG
2258 modules must be signed manually, using the scripts/sign-file tool.
2260 comment "Do not forget to sign required modules with scripts/sign-file"
2261 depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL
2265 depends on MODULE_SIG
2270 possible to load a signed module containing the algorithm to check
2271 the signature on that module.
2274 bool "Sign modules with SHA-1"
2278 bool "Sign modules with SHA-224"
2282 bool "Sign modules with SHA-256"
2286 bool "Sign modules with SHA-384"
2290 bool "Sign modules with SHA-512"
2297 depends on MODULE_SIG
2305 bool "Compress modules on installation"
2309 xz depending on "Compression algorithm" below.
2311 module-init-tools MAY support gzip, and kmod MAY support gzip and xz.
2313 Out-of-tree kernel modules installed using Kbuild will also be
2325 depends on MODULE_COMPRESS
2345 a namespace. A module that makes use of a symbol exported with such a
2350 requirement and lifts the enforcement when loading a module.
2361 some external kernel module needs one of these symbols anyway. If you
2362 encounter such a case in your module, consider if you are actually
2364 this in a module, there is a pretty good chance it's actually the
2368 your module is.
2372 depends on !UNUSED_SYMBOLS
2376 on the set of modules being selected in your kernel configuration,
2384 If unsure, or if you need to build out-of-tree modules, say N.
2388 depends on TRIM_UNUSED_KSYMS
2390 By default, all unused exported symbols will be un-exported from the
2394 exported at all times, even in absence of in-tree users. The value to
2403 depends on PERF_EVENTS || TRACING || CFI_CLANG
2420 depends on SMP
2429 functions to call on what tags.
2443 # macros for not-implemented syscalls in kernel/sys_ni.c and
2444 # kernel/time/posix-stubs.c. All these overrides need to be available in