Lines Matching +full:processor +full:- +full:intensive

1 # SPDX-License-Identifier: GPL-2.0
12 menu "General architecture-dependent options"
45 for kernel debugging, non-intrusive instrumentation and testing.
54 makes certain almost-always-true or almost-always-false branch
57 Certain performance-sensitive kernel code, such as trace points,
68 of the processor and generally makes the kernel faster. The update
71 ( On 32-bit x86, the necessary options added to the compiler
78 Boot time self-test of the branch patching code.
84 Boot time self-test of the call patching code.
104 Uprobes is the user-space counterpart to kprobes: they
106 to establish unintrusive probes in user-space binaries and
108 are hit by user-space applications.
110 ( These probes come in the form of single-byte breakpoints,
127 See Documentation/core-api/unaligned-memory-access.rst for
146 See Documentation/core-api/unaligned-memory-access.rst for more
153 for handling byte-swapping. Using these, instead of the old
158 with a nearby load or store and use load-and-swap or
159 store-and-swap instructions if the architecture has them. It
161 hand-coded assembler in <asm/swab.h>. But just in case it
164 Any architecture with load-and-swap or store-and-swap
176 Provide a kernel-internal notification when a cpu is about to
206 # task_pt_regs() in asm/processor.h or asm/ptrace.h
207 # arch_has_single_step() if there is hardware single-step support
208 # arch_has_block_step() if there is hardware block-step support
209 # asm/syscall.h supplying asm-generic/syscall.h interface
259 # to undo an in-place page table remap for uncached access.
302 All new 32-bit architectures should have 64-bit off_t type on
305 still support 32-bit off_t. This option is enabled for all such
316 <asm/asm-prototypes.h> to support the module versioning for symbols
325 For example the kprobes-based event tracer needs this API.
370 The arch chooses to use the generic perf-NMI-based hardlockup
392 bit-mapping of each registers and a unique architecture id.
466 and compat syscalls if the asm-generic/seccomp.h defaults need adjustment:
467 - __NR_seccomp_read_32
468 - __NR_seccomp_write_32
469 - __NR_seccomp_exit_32
470 - __NR_seccomp_sigreturn_32
477 - all the requirements for HAVE_ARCH_SECCOMP
478 - syscall_get_arch()
479 - syscall_get_arguments()
480 - syscall_rollback()
481 - syscall_set_return_value()
482 - SIGSYS siginfo_t support
483 - secure_computing is called from a ptrace_event()-safe context
484 - secure_computing return value is checked and a return value of -1
486 - seccomp syscall wired up
487 - if !HAVE_SPARSE_SYSCALL_NR, have SECCOMP_ARCH_NATIVE,
514 task-defined system call filtering polices.
516 See Documentation/userspace-api/seccomp_filter.rst for details.
543 - it has implemented a stack canary (e.g. __stack_chk_guard)
548 depends on $(cc-option,-fstack-protector)
551 This option turns on the "stack-protector" GCC feature. This
559 Functions will have the stack-protector canary logic added if they
560 have an 8-byte or larger character array on the stack.
563 gcc with the feature backported ("-fstack-protector").
572 depends on $(cc-option,-fstack-protector-strong)
575 Functions will have the stack-protector canary logic added in any
578 - local variable's address used as part of the right hand side of an
580 - local variable is an array (or union containing an array),
582 - uses register local variables
585 gcc with the feature backported ("-fstack-protector-strong").
631 - compiling with Clang,
632 - compiling inline assembly with Clang's integrated assembler,
633 - and linking with LLD.
645 depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm)
646 depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm)
662 If unsure, select LTO_NONE. Note that LTO is very resource-intensive
708 Control-Flow Integrity (CFI) checking.
714 # - https://bugs.llvm.org/show_bug.cgi?id=46258
715 # - https://bugs.llvm.org/show_bug.cgi?id=47479
719 This option enables Clang’s forward-edge Control Flow Integrity
730 bool "Use CFI shadow to speed up cross-module checks"
734 If you select this option, the kernel builds a fast look-up table of
763 Syscalls need to be wrapped inside user_exit()-user_enter(), either
779 - Critical entry code isn't preemptible (or better yet:
781 - No use of RCU read side critical sections, unless rcu_nmi_enter()
783 - No use of instrumentation, unless instrumentation_begin() got
808 With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit.
811 cputime_t. For example, reading/writing 64-bit cputime_t on
812 some 32-bit arches may require multiple accesses, so proper
843 # Archs that select this would be capable of PMD-sized vmaps (i.e.,
846 # can be used to prohibit arch-specific allocations from using hugepages to
863 just need a simple module loader without arch specific data - those
903 - arch_mmap_rnd()
904 - arch_randomize_brk()
912 - ARCH_MMAP_RND_BITS_MIN
913 - ARCH_MMAP_RND_BITS_MAX
951 - ARCH_MMAP_RND_COMPAT_BITS_MIN
952 - ARCH_MMAP_RND_COMPAT_BITS_MAX
982 This allows 64bit applications to invoke 32-bit mmap() syscall
983 and vice-versa 32-bit applications to call 64-bit mmap().
987 # address by giving priority to top-down scheme only if the process
991 # - STACK_RND_MASK
1001 performs compile-time stack metadata validation.
1015 file which provides platform-specific implementations of some
1052 Architecture has old sigsuspend(2) syscall, of one-argument variety
1057 Even weirder antique ABI - three-argument sigsuspend(2)
1063 as OLD_SIGSUSPEND | OLD_SIGSUSPEND3 - alpha has sigsuspend(2),
1071 bool "Provide system calls for 32-bit time_t"
1075 This is relevant on all 32-bit architectures, and 64-bit architectures
1100 - vmalloc space must be large enough to hold many kernel stacks.
1101 This may rule out many 32-bit architectures.
1103 - Stacks in vmalloc space need to work reliably. For example, if
1110 - If the stack overflows into a guard page, something reasonable
1116 bool "Use a virtually-mapped stack"
1120 Enable this if you want the use virtually-mapped kernel stacks
1122 caught immediately rather than causing difficult-to-diagnose
1135 syscall exit. Careful removal of -fstack-protector-strong and
1136 -fstack-protector should also be applied to the entry code and
1148 cross-syscall address exposures. This feature is controlled
1162 bool "Make kernel text and rodata read-only" if ARCH_OPTIONAL_KERNEL_RWX
1166 If this is set, kernel text and rodata memory will be made read-only,
1167 and non-text memory will be made non-executable. This provides
1182 If this is set, module text and rodata memory will be made read-only,
1183 and non-text memory will be made non-executable. This provides
1186 # select if the architecture provides an asm/dma-direct.h header
1195 linux/compiler-*.h in order to override macro definitions that those
1201 May be selected by an architecture if it supports place-relative
1202 32-bit relocations, both in the toolchain and in the module loader,
1215 Enable light-weight counting of various locking related events
1231 well as compatible NM and OBJCOPY utilities (llvm-nm and llvm-objcopy
1268 included, size-asserted, or discarded in the linker scripts. This is
1282 If a 32-bit architecture requires 64-bit arguments to be split into
1283 pairs of 32-bit arguments, select this option.
1293 source "scripts/gcc-plugins/Kconfig"