mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Those target configurations marked as "secondary" will be tested with a lower probability in autobuilders. The intent is to focus the Buildroot development (and bugfixes) on mainstream configurations, while still keeping some other, less common, configurations. This commit marks the following CPU architectures as secondary: BR2_arcle (ARC little endian) BR2_armeb (ARM big endian) BR2_aarch64_be (AArch64 big endian) BR2_hppa (PA-RISC) BR2_loongarch64 BR2_m68k BR2_microblazeel (Microblaze AXI, little endian) BR2_microblazebe (Microblaze non-AXI, big endian) BR2_mips (MIPS, big endian) BR2_mipsel (MIPS, little endian) BR2_mips64 (MIPS64 big endian) BR2_or1k (OpenRISC) BR2_powerpc (PowerPC, big endian) BR2_powerpc64 (PowerPC64, big endian) BR2_s390x BR2_sh (SuperH) BR2_sparc BR2_sparc64 BR2_xtensa In the following CPU architecture, only specific configurations are marked secondary: In BR2_armeb (ARM little endian), - armv4 cores (arm920t, arm922t, fa526/626, strongarm sa110/sa1100) In BR2_riscv: - all 32-bit configurations - 64-bit no-MMU In BR2_i386 (x86 32-bit), - i486, i586 and X1000 CPU There was no strict rule established to build this list of secondary configurations. This list was built mainly from the observation of which architecture/CPUs are still widely used in the field (disregarding its age), the quality of their upstream support and the general relevance in the Buildroot project. Signed-off-by: Julien Olivain <ju.o@free.fr> [Arnout: use !BR2_HIDE_SECONDARY_TARGET_OPTIONS instead of BR2_SHOW_SECONDARY_TARGET_OPTIONS] Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
136 lines
3.0 KiB
Plaintext
136 lines
3.0 KiB
Plaintext
# RISC-V CPU ISA extensions.
|
|
|
|
choice
|
|
prompt "Target Architecture Variant"
|
|
default BR2_riscv_g
|
|
|
|
config BR2_riscv_g
|
|
bool "General purpose (G)"
|
|
select BR2_RISCV_ISA_RVI
|
|
select BR2_RISCV_ISA_RVM
|
|
select BR2_RISCV_ISA_RVA
|
|
select BR2_RISCV_ISA_RVF
|
|
select BR2_RISCV_ISA_RVD
|
|
help
|
|
General purpose (G) is equivalent to IMAFD.
|
|
|
|
config BR2_riscv_custom
|
|
bool "Custom architecture"
|
|
select BR2_RISCV_ISA_RVI
|
|
|
|
endchoice
|
|
|
|
comment "Instruction Set Extensions"
|
|
|
|
config BR2_RISCV_ISA_RVI
|
|
bool "Base Integer (I)"
|
|
|
|
config BR2_RISCV_ISA_RVM
|
|
bool "Integer Multiplication and Division (M)"
|
|
|
|
config BR2_RISCV_ISA_RVA
|
|
bool "Atomic Instructions (A)"
|
|
|
|
config BR2_RISCV_ISA_RVF
|
|
bool "Single-precision Floating-point (F)"
|
|
|
|
config BR2_RISCV_ISA_RVD
|
|
bool "Double-precision Floating-point (D)"
|
|
depends on BR2_RISCV_ISA_RVF
|
|
|
|
config BR2_RISCV_ISA_RVC
|
|
bool "Compressed Instructions (C)"
|
|
|
|
config BR2_RISCV_ISA_RVV
|
|
bool "Vector Instructions (V)"
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
|
|
|
config BR2_RISCV_ISA_EXTRA
|
|
string "Append extra RISC-V ISA extensions"
|
|
help
|
|
Extra ISA extensions to append to the ISA extensions string.
|
|
They are underscore-separated. For example,
|
|
"zba_zbb_zvl256b".
|
|
|
|
choice
|
|
prompt "Target Architecture Size"
|
|
default BR2_RISCV_64
|
|
|
|
config BR2_RISCV_32
|
|
bool "32-bit"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
|
|
config BR2_RISCV_64
|
|
bool "64-bit"
|
|
select BR2_ARCH_IS_64
|
|
select BR2_RISCV_USE_MMU if BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
|
|
endchoice
|
|
|
|
config BR2_RISCV_USE_MMU
|
|
bool "MMU support"
|
|
default y
|
|
select BR2_USE_MMU
|
|
help
|
|
Enable this option if your RISC-V core has a MMU (Memory
|
|
Management Unit).
|
|
|
|
choice
|
|
prompt "Target ABI"
|
|
default BR2_RISCV_ABI_ILP32D if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
|
default BR2_RISCV_ABI_ILP32F if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
|
default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64
|
|
default BR2_RISCV_ABI_LP64D if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
|
default BR2_RISCV_ABI_LP64F if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
|
default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64
|
|
|
|
config BR2_RISCV_ABI_ILP32
|
|
bool "ilp32"
|
|
depends on !BR2_ARCH_IS_64
|
|
|
|
config BR2_RISCV_ABI_ILP32F
|
|
bool "ilp32f"
|
|
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
|
|
|
config BR2_RISCV_ABI_ILP32D
|
|
bool "ilp32d"
|
|
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
|
|
|
config BR2_RISCV_ABI_LP64
|
|
bool "lp64"
|
|
depends on BR2_ARCH_IS_64
|
|
|
|
config BR2_RISCV_ABI_LP64F
|
|
bool "lp64f"
|
|
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
|
|
depends on BR2_USE_MMU
|
|
|
|
config BR2_RISCV_ABI_LP64D
|
|
bool "lp64d"
|
|
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
|
|
endchoice
|
|
|
|
config BR2_ARCH
|
|
default "riscv32" if !BR2_ARCH_IS_64
|
|
default "riscv64" if BR2_ARCH_IS_64
|
|
|
|
config BR2_NORMALIZED_ARCH
|
|
default "riscv"
|
|
|
|
config BR2_ENDIAN
|
|
default "LITTLE"
|
|
|
|
config BR2_GCC_TARGET_ABI
|
|
default "ilp32" if BR2_RISCV_ABI_ILP32
|
|
default "ilp32f" if BR2_RISCV_ABI_ILP32F
|
|
default "ilp32d" if BR2_RISCV_ABI_ILP32D
|
|
default "lp64" if BR2_RISCV_ABI_LP64
|
|
default "lp64f" if BR2_RISCV_ABI_LP64F
|
|
default "lp64d" if BR2_RISCV_ABI_LP64D
|
|
|
|
config BR2_READELF_ARCH_NAME
|
|
default "RISC-V"
|
|
|
|
# vim: ft=kconfig
|
|
# -*- mode:kconfig; -*-
|