Lines Matching +full:riscv +full:- +full:crypto +full:- +full:spec +full:- +full:vector
1 # SPDX-License-Identifier: GPL-2.0-only
4 # see Documentation/kbuild/kconfig-language.rst.
13 config RISCV config
65 # clang >= 17: https://github.com/llvm/llvm-project/commit/62fa708ceb027713b386c7e0efda994f8bdc27e2
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
270 # VA_BITS - PAGE_SHIFT - 3
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
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)
379 source "arch/riscv/Kconfig.socs"
380 source "arch/riscv/Kconfig.errata"
385 bool "Allow configurations that result in non-portable kernels"
387 RISC-V kernel binaries are compatible between all known systems
442 bool "Symmetric Multi-Processing"
455 int "Maximum number of CPUs (2-512)"
464 bool "Support for hot-pluggable CPUs"
495 Enable NUMA (Non-Uniform Memory Access) support.
510 prompt "RISC-V spinlock type"
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"
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)
624 bool "Vector extension support"
630 Add support for the Vector extension when it is detected at boot.
632 use vector procedures.
637 bool "Enable userspace Vector by default"
641 Say Y here if you want to enable Vector in userspace by default.
643 Vector, or enable it via the sysctl interface.
656 bool "Run kernel-mode Vector with kernel preemption"
661 Usually, in-kernel SIMD routines are run with preemption disabled.
663 vector unit to prevent blocking other tasks for too long.
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)
723 # This symbol indicates that the toolchain supports all v1.0 vector crypto
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)
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)
811 bool "Zicbom extension support for non-coherent DMA operation"
823 non-coherent DMA support on devices that need it.
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
880 newer ISA spec to version 2.2, relax the check to binutils >= 2.36.
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
928 scalar or vector loads and stores.
942 Enable detecting support for vector misaligned loads and stores.
996 prompt "Vector unaligned Accesses Support"
1000 This determines the level of support for vector unaligned accesses. This
1006 bool "Probe speed of vector unaligned accesses"
1011 speed of vector unaligned accesses if they are supported. This probing
1012 will dynamically determine the speed of vector unaligned accesses on
1016 bool "Assume the system supports slow vector unaligned memory accesses"
1019 Assume that the system supports slow vector unaligned memory accesses. The
1024 bool "Assume the system supports fast vector unaligned memory accesses"
1027 Assume that the system supports fast vector unaligned memory accesses. When
1035 source "arch/riscv/Kconfig.vendor"
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
1100 bool "Kernel support for 32-bit U-mode"
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.
1140 Since RISCV uses the RELA relocation format, this requires a
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
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,
1289 ROM memory will be arch/riscv/boot/xipImage.
1307 bool "Permit falling back to parsing riscv,isa for extension support by default"
1310 Parsing the "riscv,isa" devicetree property has been deprecated and
1313 "riscv,isa" property if the replacements are not found.
1319 Please see the dt-binding, located at
1320 Documentation/devicetree/bindings/riscv/extensions.yaml for details
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"
1338 DTS file path (without suffix, relative to arch/riscv/boot/dts)
1377 source "arch/riscv/kvm/Kconfig"