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>
503 lines
12 KiB
Plaintext
503 lines
12 KiB
Plaintext
menu "Target options"
|
|
|
|
config BR2_ARCH_IS_64
|
|
bool
|
|
|
|
config BR2_KERNEL_64_USERLAND_32
|
|
bool
|
|
|
|
config BR2_SOFT_FLOAT
|
|
bool
|
|
|
|
config BR2_USE_MMU
|
|
bool
|
|
|
|
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
|
bool
|
|
|
|
choice
|
|
prompt "Target Architecture"
|
|
default BR2_i386
|
|
help
|
|
Select the target architecture family to build for.
|
|
|
|
config BR2_arcle
|
|
bool "ARC (little endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
Synopsys' DesignWare ARC Processor Cores are a family of
|
|
32-bit CPUs that can be used from deeply embedded to high
|
|
performance host applications. Little endian.
|
|
|
|
config BR2_arm
|
|
bool "ARM (little endian)"
|
|
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
|
help
|
|
ARM is a 32-bit reduced instruction set computer (RISC)
|
|
instruction set architecture (ISA) developed by ARM Holdings.
|
|
Little endian.
|
|
http://www.arm.com/
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
config BR2_armeb
|
|
bool "ARM (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
ARM is a 32-bit reduced instruction set computer (RISC)
|
|
instruction set architecture (ISA) developed by ARM Holdings.
|
|
Big endian.
|
|
http://www.arm.com/
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
config BR2_aarch64
|
|
bool "AArch64 (little endian)"
|
|
select BR2_ARCH_IS_64
|
|
help
|
|
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
config BR2_aarch64_be
|
|
bool "AArch64 (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_ARCH_IS_64
|
|
help
|
|
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
config BR2_hppa
|
|
bool "HPPA"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
Precision Architecture (a.k.a. PA-RISC) is a 32-bit
|
|
(big endian) architecture developed by Hewlett Packard.
|
|
https://en.wikipedia.org/wiki/PA-RISC
|
|
|
|
config BR2_i386
|
|
bool "i386"
|
|
select BR2_USE_MMU
|
|
help
|
|
Intel i386 architecture compatible microprocessor
|
|
http://en.wikipedia.org/wiki/I386
|
|
|
|
config BR2_loongarch64
|
|
bool "LoongArch64"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
select BR2_ARCH_IS_64
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
|
help
|
|
LoongArch64 is 64-bit architecture developed by Loongson.
|
|
http://www.loongson.cn/
|
|
https://en.wikipedia.org/wiki/Loongson
|
|
|
|
config BR2_m68k
|
|
bool "m68k"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
|
|
help
|
|
Motorola 68000 family microprocessor
|
|
http://en.wikipedia.org/wiki/M68k
|
|
|
|
config BR2_microblazeel
|
|
bool "Microblaze AXI (little endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
|
|
bus based architecture (little endian)
|
|
http://www.xilinx.com
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
config BR2_microblazebe
|
|
bool "Microblaze non-AXI (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
|
|
bus based architecture (non-AXI, big endian)
|
|
http://www.xilinx.com
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
config BR2_mips
|
|
bool "MIPS (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
|
endian.
|
|
http://www.mips.com/
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
config BR2_mipsel
|
|
bool "MIPS (little endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
|
endian.
|
|
http://www.mips.com/
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
config BR2_mips64
|
|
bool "MIPS64 (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big
|
|
endian.
|
|
http://www.mips.com/
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
config BR2_mips64el
|
|
bool "MIPS64 (little endian)"
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little
|
|
endian.
|
|
http://www.mips.com/
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
config BR2_or1k
|
|
bool "OpenRISC"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
OpenRISC is a free and open processor for embedded system.
|
|
http://openrisc.io
|
|
|
|
config BR2_powerpc
|
|
bool "PowerPC"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
alliance. Big endian.
|
|
http://www.power.org/
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
config BR2_powerpc64
|
|
bool "PowerPC64 (big endian)"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
alliance. Big endian.
|
|
http://www.power.org/
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
config BR2_powerpc64le
|
|
bool "PowerPC64 (little endian)"
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola
|
|
alliance. Little endian.
|
|
http://www.power.org/
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
config BR2_riscv
|
|
bool "RISCV"
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
help
|
|
RISC-V is an open, free Instruction Set Architecture created
|
|
by the UC Berkeley Architecture Research group and supported
|
|
and promoted by RISC-V Foundation.
|
|
https://riscv.org/
|
|
https://en.wikipedia.org/wiki/RISC-V
|
|
|
|
config BR2_s390x
|
|
bool "s390x"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
s390x is a big-endian architecture made by IBM.
|
|
http://www.ibm.com/
|
|
http://en.wikipedia.org/wiki/IBM_System/390
|
|
|
|
config BR2_sh
|
|
bool "SuperH"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
SuperH (or SH) is a 32-bit reduced instruction set computer
|
|
(RISC) instruction set architecture (ISA) developed by
|
|
Hitachi.
|
|
http://www.hitachi.com/
|
|
http://en.wikipedia.org/wiki/SuperH
|
|
|
|
config BR2_sparc
|
|
bool "SPARC"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_USE_MMU
|
|
help
|
|
SPARC (from Scalable Processor Architecture) is a RISC
|
|
instruction set architecture (ISA) developed by Sun
|
|
Microsystems.
|
|
http://www.oracle.com/sun
|
|
http://en.wikipedia.org/wiki/Sparc
|
|
|
|
config BR2_sparc64
|
|
bool "SPARC64"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
SPARC (from Scalable Processor Architecture) is a RISC
|
|
instruction set architecture (ISA) developed by Sun
|
|
Microsystems.
|
|
http://www.oracle.com/sun
|
|
http://en.wikipedia.org/wiki/Sparc
|
|
|
|
config BR2_x86_64
|
|
bool "x86_64"
|
|
select BR2_ARCH_IS_64
|
|
select BR2_USE_MMU
|
|
help
|
|
x86-64 is an extension of the x86 instruction set (Intel i386
|
|
architecture compatible microprocessor).
|
|
http://en.wikipedia.org/wiki/X86_64
|
|
|
|
config BR2_xtensa
|
|
bool "Xtensa"
|
|
depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS
|
|
# MMU support is set by the subarchitecture file, arch/Config.in.xtensa
|
|
help
|
|
Xtensa is a Tensilica processor IP architecture.
|
|
http://en.wikipedia.org/wiki/Xtensa
|
|
http://www.tensilica.com/
|
|
|
|
endchoice
|
|
|
|
# For some architectures or specific cores, our internal toolchain
|
|
# backend is not suitable (like, missing support in upstream gcc, or
|
|
# no ChipCo fork exists...)
|
|
config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
bool
|
|
|
|
config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
|
|
bool
|
|
default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
|
|
|
# The following symbols are selected by the individual
|
|
# Config.in.$ARCH files
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
bool
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
|
|
|
config BR2_ARCH_NEEDS_GCC_AT_LEAST_16
|
|
bool
|
|
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
|
|
|
# The following string values are defined by the individual
|
|
# Config.in.$ARCH files
|
|
config BR2_ARCH
|
|
string
|
|
|
|
config BR2_NORMALIZED_ARCH
|
|
string
|
|
|
|
config BR2_ENDIAN
|
|
string
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
|
string
|
|
|
|
config BR2_GCC_TARGET_ABI
|
|
string
|
|
|
|
config BR2_GCC_TARGET_NAN
|
|
string
|
|
|
|
config BR2_GCC_TARGET_FP32_MODE
|
|
string
|
|
|
|
config BR2_GCC_TARGET_CPU
|
|
string
|
|
|
|
# The value of this option will be passed as --with-fpu=<value> when
|
|
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
|
# wrapper (external toolchain)
|
|
config BR2_GCC_TARGET_FPU
|
|
string
|
|
|
|
# The value of this option will be passed as --with-float=<value> when
|
|
# building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
|
|
# wrapper (external toolchain)
|
|
config BR2_GCC_TARGET_FLOAT_ABI
|
|
string
|
|
|
|
# The value of this option will be passed as --with-simd=<value> when
|
|
# building gcc (internal backend) or -simd=<value> in the toolchain
|
|
# wrapper (external toolchain)
|
|
config BR2_GCC_TARGET_SIMD
|
|
string
|
|
|
|
# The value of this option will be passed as --with-mode=<value> when
|
|
# building gcc (internal backend) or -m<value> in the toolchain
|
|
# wrapper (external toolchain)
|
|
config BR2_GCC_TARGET_MODE
|
|
string
|
|
|
|
# Must be selected by binary formats that support shared libraries.
|
|
config BR2_BINFMT_SUPPORTS_SHARED
|
|
bool
|
|
|
|
# Must match the name of the architecture from readelf point of view,
|
|
# i.e the "Machine:" field of readelf output. See get_machine_name()
|
|
# in binutils/readelf.c for the list of possible values.
|
|
config BR2_READELF_ARCH_NAME
|
|
string
|
|
|
|
if BR2_arcle
|
|
source "arch/Config.in.arc"
|
|
endif
|
|
|
|
if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
|
source "arch/Config.in.arm"
|
|
endif
|
|
|
|
if BR2_hppa
|
|
source "arch/Config.in.hppa"
|
|
endif
|
|
|
|
if BR2_loongarch64
|
|
source "arch/Config.in.loongarch"
|
|
endif
|
|
|
|
if BR2_m68k
|
|
source "arch/Config.in.m68k"
|
|
endif
|
|
|
|
if BR2_microblazeel || BR2_microblazebe
|
|
source "arch/Config.in.microblaze"
|
|
endif
|
|
|
|
if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
|
source "arch/Config.in.mips"
|
|
endif
|
|
|
|
if BR2_or1k
|
|
source "arch/Config.in.or1k"
|
|
endif
|
|
|
|
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
|
source "arch/Config.in.powerpc"
|
|
endif
|
|
|
|
if BR2_riscv
|
|
source "arch/Config.in.riscv"
|
|
endif
|
|
|
|
if BR2_s390x
|
|
source "arch/Config.in.s390x"
|
|
endif
|
|
|
|
if BR2_sh
|
|
source "arch/Config.in.sh"
|
|
endif
|
|
|
|
if BR2_sparc || BR2_sparc64
|
|
source "arch/Config.in.sparc"
|
|
endif
|
|
|
|
if BR2_i386 || BR2_x86_64
|
|
source "arch/Config.in.x86"
|
|
endif
|
|
|
|
if BR2_xtensa
|
|
source "arch/Config.in.xtensa"
|
|
endif
|
|
|
|
# Set up target binary format
|
|
choice
|
|
prompt "Target Binary Format"
|
|
default BR2_BINFMT_ELF if BR2_USE_MMU
|
|
default BR2_BINFMT_FLAT
|
|
|
|
config BR2_BINFMT_ELF
|
|
bool "ELF"
|
|
depends on BR2_USE_MMU
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
|
help
|
|
ELF (Executable and Linkable Format) is a format for libraries
|
|
and executables used across different architectures and
|
|
operating systems.
|
|
|
|
config BR2_BINFMT_FDPIC
|
|
bool "FDPIC"
|
|
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
|
help
|
|
ELF FDPIC binaries are based on ELF, but allow the individual
|
|
load segments of a binary to be located in memory
|
|
independently of each other. This makes this format ideal for
|
|
use in environments where no MMU is available.
|
|
|
|
config BR2_BINFMT_FLAT
|
|
bool "FLAT"
|
|
depends on !BR2_USE_MMU
|
|
help
|
|
FLAT binary is a relatively simple and lightweight executable
|
|
format based on the original a.out format. It is widely used
|
|
in environment where no MMU is available.
|
|
|
|
endchoice
|
|
|
|
endmenu # Target options
|