Lines Matching +full:bit +full:- +full:manipulation
1 # SPDX-License-Identifier: GPL-2.0-only
4 # see Documentation/kbuild/kconfig-language.rst.
7 config 64BIT
10 config 32BIT
38 select ARCH_HAS_KERNEL_FPU_SUPPORT if 64BIT && FPU
46 select ARCH_HAS_PTE_DEVMAP if 64BIT && MMU
58 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU
66 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
73 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
82 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
99 select GENERIC_ATOMIC64 if !64BIT
118 select GENERIC_TIME_VSYSCALL if MMU && 64BIT
125 select HAVE_ARCH_HUGE_VMAP if MMU && 64BIT
128 select HAVE_ARCH_KASAN if MMU && 64BIT
129 select HAVE_ARCH_KASAN_VMALLOC if MMU && 64BIT
130 select HAVE_ARCH_KFENCE if MMU && 64BIT
140 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
141 select HAVE_ARCH_USERFAULTFD_MINOR if 64BIT && USERFAULTFD
142 select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
160 select HAVE_GENERIC_VDSO if MMU && 64BIT
216 select ZONE_DMA32 if 64BIT
220 depends on 64BIT
222 # -Zsanitizer=shadow-call-stack flag.
232 depends on $(cc-option,-fpatchable-function-entry=8)
235 def_bool $(cc-option,-fsanitize=shadow-call-stack)
236 …# https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444…
237 depends on $(ld-option,--no-relax-gp)
241 # https://github.com/llvm/llvm-project/commit/6611d58f5bbcbec77262d392e2923e1d680f6985
244 # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
248 # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
250 # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
254 default 18 if 64BIT
261 # VA_BITS - PAGE_SHIFT - 3
263 default 24 if 64BIT # SV39 based
275 Select this option if you want to run the kernel in M-mode,
278 # set if we are running in S-mode and can use SBI calls
285 bool "MMU-based Paged Memory Management Support"
288 Select if you want MMU-based virtualised addressing space
295 default 0xc0000000 if 32BIT
296 default 0xff60000000000000 if 64BIT
301 default 0xdfffffff00000000 if 64BIT
302 default 0xffffffff if 32BIT
310 select SPARSEMEM_STATIC if 32BIT && SPARSEMEM
311 select SPARSEMEM_VMEMMAP_ENABLE if 64BIT
325 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
344 default 0 if 32BIT
345 default 0xdead000000000000 if 64BIT
349 default 5 if 64BIT
366 This enables function pointer support for non-standard noncoherent
370 def_bool $(as-instr,.insn r 51$(comma) 0$(comma) 0$(comma) t0$(comma) t0$(comma) zero)
373 # https://github.com/llvm/llvm-project/commit/9e8ed3403c191ab9c4903e8eeb8f732ff8a43cb4
375 depends on $(as-instr, .option arch$(comma) +m)
383 bool "Allow configurations that result in non-portable kernels"
385 RISC-V kernel binaries are compatible between all known systems
407 select 32BIT
415 select 64BIT
422 # is still a bit more efficient when generating code if it's setup in a manner
426 default CMODEL_MEDLOW if 32BIT
427 default CMODEL_MEDANY if 64BIT
440 bool "Symmetric Multi-Processing"
453 bool "Multi-core scheduler support"
456 Multi-core scheduler support improves the CPU scheduler's decision
457 making when dealing with multi-core CPU chips at a cost of slightly
461 int "Maximum number of CPUs (2-512)"
464 range 2 32 if RISCV_SBI_V01 && 32BIT
465 range 2 64 if RISCV_SBI_V01 && 64BIT
466 default "32" if 32BIT
467 default "64" if 64BIT
470 bool "Support for hot-pluggable CPUs"
501 Enable NUMA (Non-Uniform Memory Access) support.
516 prompt "RISC-V spinlock type"
575 depends on 64BIT
586 depends on 64BIT && MMU
590 Allow kernel to detect the Svnapot ISA-extension dynamically at boot
594 of contiguous virtual-to-physical translations for a naturally
595 aligned power-of-2 (NAPOT) granularity larger than the base 4KB page
604 bool "Svpbmt extension support for supervisor mode page-based memory types"
605 depends on 64BIT && MMU
610 ISA-extension (Supervisor-mode: page-based memory types) and
617 The Svpbmt extension is only available on 64-bit cpus.
624 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64imv)
625 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
661 bool "Run kernel-mode Vector with kernel preemption"
666 Usually, in-kernel SIMD routines are run with preemption disabled.
672 consumption due to the allocation of per-task's kernel Vector context.
680 which allow a hart to enter a low-power state or to trap to the
688 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zabha)
689 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zabha)
698 Enable the use of the Zabha ISA-extension to implement kernel
706 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zacas)
707 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zacas)
716 Enable the use of the Zacas ISA-extension to implement kernel atomic
724 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbb)
725 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
733 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
737 bool "Zba extension support for bit manipulation instructions"
749 bool "Zbb extension support for bit manipulation instructions"
755 extension (basic bit manipulation) and enable its usage.
758 of bit-specific operations (count bit population, sign extending,
766 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbc)
767 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
772 bool "Zbc extension support for carry-less multiplication instructions"
779 extension (carry-less multiplication) and enable its usage.
787 bool "Zicbom extension support for non-coherent DMA operation"
799 non-coherent DMA support on devices that need it.
817 …# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6…
821 Binutils-2.38 and GCC-12.1.0 bumped the default ISA spec to the newer
834 # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
839 -march. This option causes an older ISA spec compatible with these older
841 as passing zicsr and zifencei to -march.
847 Say N here if you want to disable all floating-point related procedure
862 int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
864 default 1 if 32BIT
994 deprecated in future once legacy M-mode software are no longer in use.
1005 scheme. It should be only enabled for M-mode Linux or platforms relying
1025 def_bool 64BIT
1046 bool "Kernel support for 32-bit U-mode"
1047 default 64BIT
1048 depends on 64BIT && MMU
1050 This option enables support for a 32-bit U-mode running under a 64-bit
1051 kernel at S-mode. riscv32-specific components such as system calls,
1055 If you want to execute 32-bit userspace applications, say Y.
1078 depends on MMU && 64BIT && !XIP_KERNEL
1094 depends on MMU && 64BIT && !XIP_KERNEL
1101 random u64 value in /chosen/kaslr-seed at kernel entry.
1115 string "Built-in kernel command line"
1118 are provided at run-time, during boot. However, there are cases
1122 When that occurs, it is possible to define a built-in command
1126 prompt "Built-in command line usage"
1130 Choose how the kernel will handle the provided built-in command
1136 Use the built-in command line as fallback in case we get nothing
1142 The command-line arguments provided during boot will be
1143 appended to the built-in command line. This is useful in
1150 Always use the built-in command line, even if we get one during
1165 select ARCH_SUPPORTS_ACPI if 64BIT
1175 by UEFI firmware (such as non-volatile variables, realtime
1189 continue to boot on existing non-UEFI platforms.
1192 …def_bool $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=tp -mstack-protector-…
1210 explicitly specified to run early relocations of read-write data
1214 bool "Kernel Execute-In-Place from ROM"
1221 Execute-In-Place allows the kernel to run from non-volatile storage
1224 to RAM. Read-write sections, such as the data section and stack,
1264 Please see the dt-binding, located at
1266 on the replacement properties, "riscv,isa-base" and
1267 "riscv,isa-extensions".
1270 bool "Built-in device tree"
1279 string "Built-in device tree source"