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
39 select ARCH_HAS_KERNEL_FPU_SUPPORT if 64BIT && FPU
60 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU
65 # clang >= 17: https://github.com/llvm/llvm-project/commit/62fa708ceb027713b386c7e0efda994f8bdc27e2
72 select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS if 64BIT && MMU
78 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
87 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
107 select GENERIC_ATOMIC64 if !64BIT
113 select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO && 64BIT
132 select HAVE_ARCH_HUGE_VMAP if MMU && 64BIT
135 select HAVE_ARCH_KASAN if MMU && 64BIT
136 select HAVE_ARCH_KASAN_VMALLOC if MMU && 64BIT
137 select HAVE_ARCH_KFENCE if MMU && 64BIT
145 select HAVE_ARCH_SOFT_DIRTY if 64BIT && MMU && RISCV_ISA_SVRSW60T59B
148 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT && MMU
149 select HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD if 64BIT && MMU
150 select HAVE_ARCH_USERFAULTFD_MINOR if 64BIT && USERFAULTFD
151 select HAVE_ARCH_USERFAULTFD_WP if 64BIT && MMU && USERFAULTFD && RISCV_ISA_SVRSW60T59B
152 select HAVE_ARCH_VMAP_STACK if MMU && 64BIT
228 select VDSO_GETRANDOM if HAVE_GENERIC_VDSO && 64BIT
230 select ZONE_DMA32 if 64BIT
234 depends on 64BIT
236 # -Zsanitizer=shadow-call-stack flag.
246 depends on $(cc-option,-fpatchable-function-entry=8)
250 def_bool $(cc-option,-fsanitize=shadow-call-stack)
251 …# https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444…
252 depends on $(ld-option,--no-relax-gp)
254 # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
257 # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
259 # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
263 default 18 if 64BIT
270 # VA_BITS - PAGE_SHIFT - 3
272 default 24 if 64BIT # SV39 based
284 Select this option if you want to run the kernel in M-mode,
287 # set if we are running in S-mode and can use SBI calls
294 bool "MMU-based Paged Memory Management Support"
297 Select if you want MMU-based virtualised addressing space
303 default 0xdfffffff00000000 if 64BIT
304 default 0xffffffff if 32BIT
312 select SPARSEMEM_STATIC if 32BIT && SPARSEMEM
313 select SPARSEMEM_VMEMMAP_ENABLE if 64BIT
327 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
346 default 0 if 32BIT
347 default 0xdead000000000000 if 64BIT
351 default 5 if 64BIT
368 This enables function pointer support for non-standard noncoherent
372 def_bool $(as-instr,.insn 0x100000f)
375 # https://github.com/llvm/llvm-project/commit/9e8ed3403c191ab9c4903e8eeb8f732ff8a43cb4
377 depends on $(as-instr, .option arch$(comma) +m)
385 bool "Allow configurations that result in non-portable kernels"
387 RISC-V kernel binaries are compatible between all known systems
409 select 32BIT
417 select 64BIT
424 # is still a bit more efficient when generating code if it's setup in a manner
428 default CMODEL_MEDLOW if 32BIT
429 default CMODEL_MEDANY if 64BIT
442 bool "Symmetric Multi-Processing"
455 int "Maximum number of CPUs (2-512)"
458 range 2 32 if RISCV_SBI_V01 && 32BIT
459 range 2 64 if RISCV_SBI_V01 && 64BIT
460 default "32" if 32BIT
461 default "64" if 64BIT
464 bool "Support for hot-pluggable CPUs"
495 Enable NUMA (Non-Uniform Memory Access) support.
510 prompt "RISC-V spinlock type"
570 depends on 64BIT
581 depends on 64BIT && MMU
585 Enable support for the Svnapot ISA-extension when it is detected
589 of contiguous virtual-to-physical translations for a naturally
590 aligned power-of-2 (NAPOT) granularity larger than the base 4KB page
599 bool "Svpbmt extension support for supervisor mode page-based memory types"
600 depends on 64BIT && MMU
604 Add support for the Svpbmt ISA-extension (Supervisor-mode:
605 page-based memory types) in the kernel when it is detected at boot.
611 The Svpbmt extension is only available on 64-bit cpus.
618 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64imv)
619 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
656 bool "Run kernel-mode Vector with kernel preemption"
661 Usually, in-kernel SIMD routines are run with preemption disabled.
667 due to the allocation of per-task's kernel Vector context.
675 which allow a hart to enter a low-power state or to trap to the
683 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zabha)
684 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zabha)
693 Enable the use of the Zabha ISA-extension to implement kernel
701 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zacas)
702 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zacas)
710 Enable the use of the Zacas ISA-extension to implement kernel atomic
718 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbb)
719 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
727 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
733 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zba)
734 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zba)
739 bool "Zba extension support for bit manipulation instructions"
751 bool "Zbb extension support for bit manipulation instructions"
760 of bit-specific operations (count bit population, sign extending,
768 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbc)
769 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
774 bool "Zbc extension support for carry-less multiplication instructions"
781 extension (carry-less multiplication) and enable its usage.
791 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbkb)
792 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbkb)
797 bool "Zbkb extension support for bit manipulation instructions"
803 extension (bit manipulation for cryptography) and enable its usage.
811 bool "Zicbom extension support for non-coherent DMA operation"
823 non-coherent DMA support on devices that need it.
856 depends on MMU && 64BIT
870 …# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6…
874 Binutils-2.38 and GCC-12.1.0 bumped the default ISA spec to the newer
887 # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
892 -march. This option causes an older ISA spec compatible with these older
894 as passing zicsr and zifencei to -march.
916 int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
918 default 1 if 32BIT
1048 deprecated in future once legacy M-mode software are no longer in use.
1059 scheme. It should be only enabled for M-mode Linux or platforms relying
1079 def_bool 64BIT
1100 bool "Kernel support for 32-bit U-mode"
1101 default 64BIT
1102 depends on 64BIT && MMU
1104 This option enables support for a 32-bit U-mode running under a 64-bit
1105 kernel at S-mode. riscv32-specific components such as system calls,
1109 If you want to execute 32-bit userspace applications, say Y.
1149 depends on MMU && 64BIT && !XIP_KERNEL
1156 random u64 value in /chosen/kaslr-seed at kernel entry.
1170 string "Built-in kernel command line"
1173 are provided at run-time, during boot. However, there are cases
1177 When that occurs, it is possible to define a built-in command
1181 prompt "Built-in command line usage"
1185 Choose how the kernel will handle the provided built-in command
1191 Use the built-in command line as fallback in case we get nothing
1197 The built-in command line will be appended to the command-
1205 Always use the built-in command line, even if we get one during
1220 select ARCH_SUPPORTS_ACPI if 64BIT
1230 by UEFI firmware (such as non-volatile variables, realtime
1244 continue to boot on existing non-UEFI platforms.
1247 …def_bool $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=tp -mstack-protector-…
1265 explicitly specified to run early relocations of read-write data
1269 bool "Kernel Execute-In-Place from ROM"
1276 Execute-In-Place allows the kernel to run from non-volatile storage
1279 to RAM. Read-write sections, such as the data section and stack,
1319 Please see the dt-binding, located at
1321 on the replacement properties, "riscv,isa-base" and
1322 "riscv,isa-extensions".
1325 bool "Built-in device tree"
1335 string "Built-in device tree source"