• Home
  • Raw
  • Download

Lines Matching +full:no +full:- +full:unaligned +full:- +full:direct +full:- +full:access

1 # SPDX-License-Identifier: GPL-2.0
12 menu "General architecture-dependent options"
77 for kernel debugging, non-intrusive instrumentation and testing.
86 makes certain almost-always-true or almost-always-false branch
89 Certain performance-sensitive kernel code, such as trace points,
103 ( On 32-bit x86, the necessary options added to the compiler
110 Boot time self-test of the branch patching code.
116 Boot time self-test of the call patching code.
136 Uprobes is the user-space counterpart to kprobes: they
138 to establish unintrusive probes in user-space binaries and
140 are hit by user-space applications.
142 ( These probes come in the form of single-byte breakpoints,
153 architectures without unaligned access.
159 See Documentation/unaligned-memory-access.txt for more
160 information on the topic of unaligned memory accesses.
165 Some architectures are unable to perform unaligned accesses
168 unaligned access and require fixing it up in the exception
172 perform unaligned accesses efficiently to allow different
178 See Documentation/core-api/unaligned-memory-access.rst for more
179 information on the topic of unaligned memory accesses.
185 for handling byte-swapping. Using these, instead of the old
190 with a nearby load or store and use load-and-swap or
191 store-and-swap instructions if the architecture has them. It
193 hand-coded assembler in <asm/swab.h>. But just in case it
196 Any architecture with load-and-swap or store-and-swap
208 Provide a kernel-internal notification when a cpu is about to
236 # arch_has_single_step() if there is hardware single-step support
237 # arch_has_block_step() if there is hardware block-step support
238 # asm/syscall.h supplying asm-generic/syscall.h interface
288 # to undo an in-place page table remap for uncached access.
327 All new 32-bit architectures should have 64-bit off_t type on
330 still support 32-bit off_t. This option is enabled for all such
337 <asm/asm-prototypes.h> to support the module versioning for symbols
344 the API needed to access registers and stack entries from pt_regs,
346 For example the kprobes-based event tracer needs this API.
359 the API needed to access function arguments from pt_regs,
373 them but define the access type in a control register.
391 The arch chooses to use the generic perf-NMI-based hardlockup
413 bit-mapping of each registers and a unique architecture id.
419 access to the user stack pointer which is not unified across
487 and compat syscalls if the asm-generic/seccomp.h defaults need adjustment:
488 - __NR_seccomp_read_32
489 - __NR_seccomp_write_32
490 - __NR_seccomp_exit_32
491 - __NR_seccomp_sigreturn_32
498 - all the requirements for HAVE_ARCH_SECCOMP
499 - syscall_get_arch()
500 - syscall_get_arguments()
501 - syscall_rollback()
502 - syscall_set_return_value()
503 - SIGSYS siginfo_t support
504 - secure_computing is called from a ptrace_event()-safe context
505 - secure_computing return value is checked and a return value of -1
507 - seccomp syscall wired up
532 task-defined system call filtering polices.
534 See Documentation/userspace-api/seccomp_filter.rst for details.
547 - it has implemented a stack canary (e.g. __stack_chk_guard)
552 depends on $(cc-option,-fstack-protector)
555 This option turns on the "stack-protector" GCC feature. This
563 Functions will have the stack-protector canary logic added if they
564 have an 8-byte or larger character array on the stack.
567 gcc with the feature backported ("-fstack-protector").
576 depends on $(cc-option,-fstack-protector-strong)
579 Functions will have the stack-protector canary logic added in any
582 - local variable's address used as part of the right hand side of an
584 - local variable is an array (or union containing an array),
586 - uses register local variables
589 gcc with the feature backported ("-fstack-protector-strong").
635 - compiling with Clang,
636 - compiling inline assembly with Clang's integrated assembler,
637 - and linking with LLD.
649 depends on $(success,test $(LLVM_IAS) -eq 1)
650 depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm)
651 depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm)
667 If unsure, select LTO_NONE. Note that LTO is very resource-intensive
713 Control-Flow Integrity (CFI) checking.
719 # - https://bugs.llvm.org/show_bug.cgi?id=46258
720 # - https://bugs.llvm.org/show_bug.cgi?id=47479
724 This option enables Clang’s forward-edge Control Flow Integrity
735 bool "Use CFI shadow to speed up cross-module checks"
739 If you select this option, the kernel builds a fast look-up table of
768 Syscalls need to be wrapped inside user_exit()-user_enter(), either
790 With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit.
792 to ensure there are no races in concurrent read/write of
793 cputime_t. For example, reading/writing 64-bit cputime_t on
794 some 32-bit arches may require multiple accesses, so proper
828 just need a simple module loader without arch specific data - those
862 - arch_mmap_rnd()
863 - arch_randomize_brk()
871 - ARCH_MMAP_RND_BITS_MIN
872 - ARCH_MMAP_RND_BITS_MAX
910 - ARCH_MMAP_RND_COMPAT_BITS_MIN
911 - ARCH_MMAP_RND_COMPAT_BITS_MAX
941 This allows 64bit applications to invoke 32-bit mmap() syscall
942 and vice-versa 32-bit applications to call 64-bit mmap().
946 # address by giving priority to top-down scheme only if the process
950 # - STACK_RND_MASK
960 performs compile-time stack metadata validation.
974 file which provides platform-specific implementations of some
1011 Architecture has old sigsuspend(2) syscall, of one-argument variety
1016 Even weirder antique ABI - three-argument sigsuspend(2)
1022 as OLD_SIGSUSPEND | OLD_SIGSUSPEND3 - alpha has sigsuspend(2),
1030 bool "Provide system calls for 32-bit time_t"
1034 This is relevant on all 32-bit architectures, and 64-bit architectures
1052 - vmalloc space must be large enough to hold many kernel stacks.
1053 This may rule out many 32-bit architectures.
1055 - Stacks in vmalloc space need to work reliably. For example, if
1062 - If the stack overflows into a guard page, something reasonable
1068 bool "Use a virtually-mapped stack"
1072 Enable this if you want the use virtually-mapped kernel stacks
1074 caught immediately rather than causing difficult-to-diagnose
1091 bool "Make kernel text and rodata read-only" if ARCH_OPTIONAL_KERNEL_RWX
1095 If this is set, kernel text and rodata memory will be made read-only,
1096 and non-text memory will be made non-executable. This provides
1111 If this is set, module text and rodata memory will be made read-only,
1112 and non-text memory will be made non-executable. This provides
1115 # select if the architecture provides an asm/dma-direct.h header
1124 linux/compiler-*.h in order to override macro definitions that those
1130 May be selected by an architecture if it supports place-relative
1131 32-bit relocations, both in the toolchain and in the module loader,
1144 Enable light-weight counting of various locking related events
1160 well as compatible NM and OBJCOPY utilities (llvm-nm and llvm-objcopy
1191 included, size-asserted, or discarded in the linker scripts. This is
1199 If a 32-bit architecture requires 64-bit arguments to be split into
1200 pairs of 32-bit arguments, select this option.
1204 source "scripts/gcc-plugins/Kconfig"