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
28 select ARCH_HAS_CRC64 if 64BIT && RISCV_ISA_ZBC
40 select ARCH_HAS_KERNEL_FPU_SUPPORT if 64BIT && FPU
49 select ARCH_HAS_PTE_DEVMAP if 64BIT && MMU
61 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU
70 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
77 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
86 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
103 select GENERIC_ATOMIC64 if !64BIT
122 select GENERIC_TIME_VSYSCALL if MMU && 64BIT
130 select HAVE_ARCH_HUGE_VMAP if MMU && 64BIT
133 select HAVE_ARCH_KASAN if MMU && 64BIT
134 select HAVE_ARCH_KASAN_VMALLOC if MMU && 64BIT
135 select HAVE_ARCH_KFENCE if MMU && 64BIT
145 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
146 select HAVE_ARCH_USERFAULTFD_MINOR if 64BIT && USERFAULTFD
147 select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
165 select HAVE_GENERIC_VDSO if MMU && 64BIT
222 select ZONE_DMA32 if 64BIT
226 depends on 64BIT
228 # -Zsanitizer=shadow-call-stack flag.
238 depends on $(cc-option,-fpatchable-function-entry=8)
241 def_bool $(cc-option,-fsanitize=shadow-call-stack)
242 …# https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444…
243 depends on $(ld-option,--no-relax-gp)
247 # https://github.com/llvm/llvm-project/commit/6611d58f5bbcbec77262d392e2923e1d680f6985
250 # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
254 # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
256 # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
260 default 18 if 64BIT
267 # VA_BITS - PAGE_SHIFT - 3
269 default 24 if 64BIT # SV39 based
281 Select this option if you want to run the kernel in M-mode,
284 # set if we are running in S-mode and can use SBI calls
291 bool "MMU-based Paged Memory Management Support"
294 Select if you want MMU-based virtualised addressing space
300 default 0xdfffffff00000000 if 64BIT
301 default 0xffffffff if 32BIT
309 select SPARSEMEM_STATIC if 32BIT && SPARSEMEM
310 select SPARSEMEM_VMEMMAP_ENABLE if 64BIT
324 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
343 default 0 if 32BIT
344 default 0xdead000000000000 if 64BIT
348 default 5 if 64BIT
365 This enables function pointer support for non-standard noncoherent
369 def_bool $(as-instr,.insn r 51$(comma) 0$(comma) 0$(comma) t0$(comma) t0$(comma) zero)
372 # https://github.com/llvm/llvm-project/commit/9e8ed3403c191ab9c4903e8eeb8f732ff8a43cb4
374 depends on $(as-instr, .option arch$(comma) +m)
382 bool "Allow configurations that result in non-portable kernels"
384 RISC-V kernel binaries are compatible between all known systems
406 select 32BIT
414 select 64BIT
421 # is still a bit more efficient when generating code if it's setup in a manner
425 default CMODEL_MEDLOW if 32BIT
426 default CMODEL_MEDANY if 64BIT
439 bool "Symmetric Multi-Processing"
452 bool "Multi-core scheduler support"
455 Multi-core scheduler support improves the CPU scheduler's decision
456 making when dealing with multi-core CPU chips at a cost of slightly
460 int "Maximum number of CPUs (2-512)"
463 range 2 32 if RISCV_SBI_V01 && 32BIT
464 range 2 64 if RISCV_SBI_V01 && 64BIT
465 default "32" if 32BIT
466 default "64" if 64BIT
469 bool "Support for hot-pluggable CPUs"
500 Enable NUMA (Non-Uniform Memory Access) support.
515 prompt "RISC-V spinlock type"
575 depends on 64BIT
586 depends on 64BIT && MMU
590 Enable support for the Svnapot ISA-extension when it is detected
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
609 Add support for the Svpbmt ISA-extension (Supervisor-mode:
610 page-based memory types) in the kernel when it is detected at boot.
616 The Svpbmt extension is only available on 64-bit cpus.
623 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64imv)
624 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)
739 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zba)
740 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zba)
745 bool "Zba extension support for bit manipulation instructions"
757 bool "Zbb extension support for bit manipulation instructions"
766 of bit-specific operations (count bit population, sign extending,
774 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbc)
775 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
780 bool "Zbc extension support for carry-less multiplication instructions"
787 extension (carry-less multiplication) and enable its usage.
797 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbkb)
798 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbkb)
803 bool "Zbkb extension support for bit manipulation instructions"
809 extension (bit manipulation for cryptography) and enable its usage.
817 bool "Zicbom extension support for non-coherent DMA operation"
829 non-coherent DMA support on devices that need it.
847 …# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6…
851 Binutils-2.38 and GCC-12.1.0 bumped the default ISA spec to the newer
864 # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
869 -march. This option causes an older ISA spec compatible with these older
871 as passing zicsr and zifencei to -march.
893 int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
895 default 1 if 32BIT
1025 deprecated in future once legacy M-mode software are no longer in use.
1036 scheme. It should be only enabled for M-mode Linux or platforms relying
1056 def_bool 64BIT
1077 bool "Kernel support for 32-bit U-mode"
1078 default 64BIT
1079 depends on 64BIT && MMU
1081 This option enables support for a 32-bit U-mode running under a 64-bit
1082 kernel at S-mode. riscv32-specific components such as system calls,
1086 If you want to execute 32-bit userspace applications, say Y.
1126 depends on MMU && 64BIT && !XIP_KERNEL
1133 random u64 value in /chosen/kaslr-seed at kernel entry.
1147 string "Built-in kernel command line"
1150 are provided at run-time, during boot. However, there are cases
1154 When that occurs, it is possible to define a built-in command
1158 prompt "Built-in command line usage"
1162 Choose how the kernel will handle the provided built-in command
1168 Use the built-in command line as fallback in case we get nothing
1174 The command-line arguments provided during boot will be
1175 appended to the built-in command line. This is useful in
1182 Always use the built-in command line, even if we get one during
1197 select ARCH_SUPPORTS_ACPI if 64BIT
1207 by UEFI firmware (such as non-volatile variables, realtime
1221 continue to boot on existing non-UEFI platforms.
1224 …def_bool $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=tp -mstack-protector-…
1242 explicitly specified to run early relocations of read-write data
1246 bool "Kernel Execute-In-Place from ROM"
1253 Execute-In-Place allows the kernel to run from non-volatile storage
1256 to RAM. Read-write sections, such as the data section and stack,
1296 Please see the dt-binding, located at
1298 on the replacement properties, "riscv,isa-base" and
1299 "riscv,isa-extensions".
1302 bool "Built-in device tree"
1312 string "Built-in device tree source"