Lines Matching +full:isa +full:- +full:extensions
1 # SPDX-License-Identifier: GPL-2.0-only
4 # see Documentation/kbuild/kconfig-language.rst.
63 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
216 # -Zsanitizer=shadow-call-stack flag.
226 depends on $(cc-option,-fpatchable-function-entry=8)
229 def_bool $(cc-option,-fsanitize=shadow-call-stack)
230 # https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444d769
231 depends on $(ld-option,--no-relax-gp)
235 # https://github.com/llvm/llvm-project/commit/6611d58f5bbcbec77262d392e2923e1d680f6985
238 # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
242 # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
244 # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
255 # VA_BITS - PAGE_SHIFT - 3
269 Select this option if you want to run the kernel in M-mode,
272 # set if we are running in S-mode and can use SBI calls
279 bool "MMU-based Paged Memory Management Support"
282 Select if you want MMU-based virtualised addressing space
360 This enables function pointer support for non-standard noncoherent
364 def_bool $(as-instr,.insn r 51$(comma) 0$(comma) 0$(comma) t0$(comma) t0$(comma) zero)
367 # https://github.com/llvm/llvm-project/commit/9e8ed3403c191ab9c4903e8eeb8f732ff8a43cb4
369 depends on $(as-instr, .option arch$(comma) +m)
377 bool "Allow configurations that result in non-portable kernels"
379 RISC-V kernel binaries are compatible between all known systems
392 prompt "Base ISA"
395 This selects the base ISA that this kernel will target and must match
434 bool "Symmetric Multi-Processing"
447 bool "Multi-core scheduler support"
450 Multi-core scheduler support improves the CPU scheduler's decision
451 making when dealing with multi-core CPU chips at a cost of slightly
455 int "Maximum number of CPUs (2-512)"
464 bool "Support for hot-pluggable CPUs"
495 Enable NUMA (Non-Uniform Memory Access) support.
528 Adds "C" to the ISA subsets that the toolchain is allowed to emit
540 Allow kernel to detect the Svnapot ISA-extension dynamically at boot
544 of contiguous virtual-to-physical translations for a naturally
545 aligned power-of-2 (NAPOT) granularity larger than the base 4KB page
554 bool "Svpbmt extension support for supervisor mode page-based memory types"
560 ISA-extension (Supervisor-mode: page-based memory types) and
567 The Svpbmt extension is only available on 64-bit cpus.
574 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64imv)
575 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
611 bool "Run kernel-mode Vector with kernel preemption"
616 Usually, in-kernel SIMD routines are run with preemption disabled.
622 consumption due to the allocation of per-task's kernel Vector context.
630 which allow a hart to enter a low-power state or to trap to the
640 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbb)
641 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
646 # extensions, including Zvk*, Zvbb, and Zvbc. LLVM added all of these at once.
649 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
674 of bit-specific operations (count bit population, sign extending,
682 depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zbc)
683 depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
688 bool "Zbc extension support for carry-less multiplication instructions"
695 extension (carry-less multiplication) and enable its usage.
703 bool "Zicbom extension support for non-coherent DMA operation"
715 non-coherent DMA support on devices that need it.
733 # https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6dc
737 Binutils-2.38 and GCC-12.1.0 bumped the default ISA spec to the newer
739 the Zicsr and Zifencei extensions. This requires explicitly specifying
743 newer ISA spec to version 2.2, relax the check to binutils >= 2.36.
750 # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
755 -march. This option causes an older ISA spec compatible with these older
757 as passing zicsr and zifencei to -march.
763 Say N here if you want to disable all floating-point related procedure
778 int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
856 deprecated in future once legacy M-mode software are no longer in use.
867 scheme. It should be only enabled for M-mode Linux or platforms relying
908 bool "Kernel support for 32-bit U-mode"
912 This option enables support for a 32-bit U-mode running under a 64-bit
913 kernel at S-mode. riscv32-specific components such as system calls,
917 If you want to execute 32-bit userspace applications, say Y.
963 random u64 value in /chosen/kaslr-seed at kernel entry.
977 string "Built-in kernel command line"
980 are provided at run-time, during boot. However, there are cases
984 When that occurs, it is possible to define a built-in command
988 prompt "Built-in command line usage"
992 Choose how the kernel will handle the provided built-in command
998 Use the built-in command line as fallback in case we get nothing
1004 The command-line arguments provided during boot will be
1005 appended to the built-in command line. This is useful in
1012 Always use the built-in command line, even if we get one during
1037 by UEFI firmware (such as non-volatile variables, realtime
1051 continue to boot on existing non-UEFI platforms.
1054 def_bool $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=tp -mstack-protector-guard-offset=0)
1072 explicitly specified to run early relocations of read-write data
1076 bool "Kernel Execute-In-Place from ROM"
1083 Execute-In-Place allows the kernel to run from non-volatile storage
1086 to RAM. Read-write sections, such as the data section and stack,
1114 bool "Permit falling back to parsing riscv,isa for extension support by default"
1117 Parsing the "riscv,isa" devicetree property has been deprecated and
1120 "riscv,isa" property if the replacements are not found.
1126 Please see the dt-binding, located at
1127 Documentation/devicetree/bindings/riscv/extensions.yaml for details
1128 on the replacement properties, "riscv,isa-base" and
1129 "riscv,isa-extensions".
1132 bool "Built-in device tree"
1141 string "Built-in device tree source"