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
37 select ARCH_HAS_KERNEL_FPU_SUPPORT if 64BIT && FPU
57 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU
62 # clang >= 17: https://github.com/llvm/llvm-project/commit/62fa708ceb027713b386c7e0efda994f8bdc27e2
67 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
70 select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS if 64BIT && MMU
75 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
84 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
104 select GENERIC_ATOMIC64 if !64BIT
123 select GENERIC_TIME_VSYSCALL if MMU && 64BIT
131 select HAVE_ARCH_HUGE_VMAP if MMU && 64BIT
134 select HAVE_ARCH_KASAN if MMU && 64BIT
135 select HAVE_ARCH_KASAN_VMALLOC if MMU && 64BIT
136 select HAVE_ARCH_KFENCE if MMU && 64BIT
146 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
147 select HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD if 64BIT && MMU
148 select HAVE_ARCH_USERFAULTFD_MINOR if 64BIT && USERFAULTFD
149 select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
168 select HAVE_GENERIC_VDSO if MMU && 64BIT
226 select ZONE_DMA32 if 64BIT
230 depends on 64BIT
232 # -Zsanitizer=shadow-call-stack flag.
242 depends on $(cc-option,-fpatchable-function-entry=8)
246 def_bool $(cc-option,-fsanitize=shadow-call-stack)
247 …# https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444…
248 depends on $(ld-option,--no-relax-gp)
252 # https://github.com/llvm/llvm-project/commit/6611d58f5bbcbec77262d392e2923e1d680f6985
255 # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
259 # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
261 # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
265 default 18 if 64BIT
272 # VA_BITS - PAGE_SHIFT - 3
274 default 24 if 64BIT # SV39 based
286 Select this option if you want to run the kernel in M-mode,
289 # set if we are running in S-mode and can use SBI calls
296 bool "MMU-based Paged Memory Management Support"
299 Select if you want MMU-based virtualised addressing space
305 default 0xdfffffff00000000 if 64BIT
306 default 0xffffffff if 32BIT
314 select SPARSEMEM_STATIC if 32BIT && SPARSEMEM
315 select SPARSEMEM_VMEMMAP_ENABLE if 64BIT
329 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
348 default 0 if 32BIT
349 default 0xdead000000000000 if 64BIT
353 default 5 if 64BIT
370 This enables function pointer support for non-standard noncoherent
374 def_bool $(as-instr,.insn r 51$(comma) 0$(comma) 0$(comma) t0$(comma) t0$(comma) zero)
377 # https://github.com/llvm/llvm-project/commit/9e8ed3403c191ab9c4903e8eeb8f732ff8a43cb4
379 depends on $(as-instr, .option arch$(comma) +m)
387 bool "Allow configurations that result in non-portable kernels"
389 RISC-V kernel binaries are compatible between all known systems
411 select 32BIT
419 select 64BIT
426 # is still a bit more efficient when generating code if it's setup in a manner
430 default CMODEL_MEDLOW if 32BIT
431 default CMODEL_MEDANY if 64BIT
444 bool "Symmetric Multi-Processing"
457 bool "Multi-core scheduler support"
460 Multi-core scheduler support improves the CPU scheduler's decision
461 making when dealing with multi-core CPU chips at a cost of slightly
465 int "Maximum number of CPUs (2-512)"
468 range 2 32 if RISCV_SBI_V01 && 32BIT
469 range 2 64 if RISCV_SBI_V01 && 64BIT
470 default "32" if 32BIT
471 default "64" if 64BIT
474 bool "Support for hot-pluggable CPUs"
505 Enable NUMA (Non-Uniform Memory Access) support.
520 prompt "RISC-V spinlock type"
580 depends on 64BIT
591 depends on 64BIT && MMU
595 Enable support for the Svnapot ISA-extension when it is detected
599 of contiguous virtual-to-physical translations for a naturally
600 aligned power-of-2 (NAPOT) granularity larger than the base 4KB page
609 bool "Svpbmt extension support for supervisor mode page-based memory types"
610 depends on 64BIT && MMU
614 Add support for the Svpbmt ISA-extension (Supervisor-mode:
615 page-based memory types) in the kernel when it is detected at boot.
621 The Svpbmt extension is only available on 64-bit cpus.
628 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64imv)
629 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
666 bool "Run kernel-mode Vector with kernel preemption"
671 Usually, in-kernel SIMD routines are run with preemption disabled.
677 due to the allocation of per-task's kernel Vector context.
685 which allow a hart to enter a low-power state or to trap to the
693 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zabha)
694 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zabha)
703 Enable the use of the Zabha ISA-extension to implement kernel
711 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zacas)
712 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zacas)
721 Enable the use of the Zacas ISA-extension to implement kernel atomic
729 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbb)
730 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
738 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
744 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zba)
745 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zba)
750 bool "Zba extension support for bit manipulation instructions"
762 bool "Zbb extension support for bit manipulation instructions"
771 of bit-specific operations (count bit population, sign extending,
779 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbc)
780 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
785 bool "Zbc extension support for carry-less multiplication instructions"
792 extension (carry-less multiplication) and enable its usage.
802 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbkb)
803 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbkb)
808 bool "Zbkb extension support for bit manipulation instructions"
814 extension (bit manipulation for cryptography) and enable its usage.
822 bool "Zicbom extension support for non-coherent DMA operation"
834 non-coherent DMA support on devices that need it.
867 …# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6…
871 Binutils-2.38 and GCC-12.1.0 bumped the default ISA spec to the newer
884 # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
889 -march. This option causes an older ISA spec compatible with these older
891 as passing zicsr and zifencei to -march.
913 int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
915 default 1 if 32BIT
1045 deprecated in future once legacy M-mode software are no longer in use.
1056 scheme. It should be only enabled for M-mode Linux or platforms relying
1076 def_bool 64BIT
1097 bool "Kernel support for 32-bit U-mode"
1098 default 64BIT
1099 depends on 64BIT && MMU
1101 This option enables support for a 32-bit U-mode running under a 64-bit
1102 kernel at S-mode. riscv32-specific components such as system calls,
1106 If you want to execute 32-bit userspace applications, say Y.
1146 depends on MMU && 64BIT && !XIP_KERNEL
1153 random u64 value in /chosen/kaslr-seed at kernel entry.
1167 string "Built-in kernel command line"
1170 are provided at run-time, during boot. However, there are cases
1174 When that occurs, it is possible to define a built-in command
1178 prompt "Built-in command line usage"
1182 Choose how the kernel will handle the provided built-in command
1188 Use the built-in command line as fallback in case we get nothing
1194 The built-in command line will be appended to the command-
1202 Always use the built-in command line, even if we get one during
1217 select ARCH_SUPPORTS_ACPI if 64BIT
1227 by UEFI firmware (such as non-volatile variables, realtime
1241 continue to boot on existing non-UEFI platforms.
1244 …def_bool $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=tp -mstack-protector-
1262 explicitly specified to run early relocations of read-write data
1266 bool "Kernel Execute-In-Place from ROM"
1273 Execute-In-Place allows the kernel to run from non-volatile storage
1276 to RAM. Read-write sections, such as the data section and stack,
1316 Please see the dt-binding, located at
1318 on the replacement properties, "riscv,isa-base" and
1319 "riscv,isa-extensions".
1322 bool "Built-in device tree"
1332 string "Built-in device tree source"