aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorGravatar Yann E. MORIN <yann.morin.1998@free.fr>2017-09-03 15:17:48 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-11-24 23:30:43 +0100
commit6317a199ecb525309e8172237a15b46776fe3a72 (patch)
tree25d42c130bd80bfccae275bfd58255e4cc412dc7 /arch
parentd632d9e5a984a8da01156f28a2180e344f6a07a7 (diff)
downloadbuildroot-6317a199ecb525309e8172237a15b46776fe3a72.tar.gz
buildroot-6317a199ecb525309e8172237a15b46776fe3a72.tar.bz2
arch/arm: add armv8.1a cores
The armv8.1a generation is a cumulative extension to armv8a. It adds new extensions, and makes some previously optional ones now mandatory. Since gcc correctly enables the appropriate extensions based on the core name, we don't really need to introduce a separate config for armv8.1a, and we can piggyback on armv8a. All those new cores are aarch64 only (gcc fails to build in arm mode). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/Config.in.arm35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 2d6eb99692..85070fbfc9 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -400,6 +400,37 @@ config BR2_xgene1
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
+
+if BR2_ARCH_IS_64
+comment "armv8.1a cores"
+config BR2_thunderx2t99
+ bool "thunderx2t99"
+ select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_FP_ARMV8
+ select BR2_ARM_CPU_ARMV8A
+ select BR2_ARCH_HAS_MMU_OPTIONAL
+ select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
+config BR2_thunderx2t99p1
+ bool "thunderx2t99p1"
+ select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_FP_ARMV8
+ select BR2_ARM_CPU_ARMV8A
+ select BR2_ARCH_HAS_MMU_OPTIONAL
+ select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
+config BR2_vulcan
+ bool "vulcan"
+ select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
+ select BR2_ARM_CPU_HAS_FP_ARMV8
+ select BR2_ARM_CPU_ARMV8A
+ select BR2_ARCH_HAS_MMU_OPTIONAL
+ select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
+endif # BR2_ARCH_IS_64
endchoice
config BR2_ARM_ENABLE_NEON
@@ -704,6 +735,10 @@ config BR2_GCC_TARGET_CPU
default "thunderxt88" if BR2_thunderxt88
default "thunderxt88p1" if BR2_thunderxt88p1
default "xgene1" if BR2_xgene1
+ # armv8.1a
+ default "thunderx2t99" if BR2_thunderx2t99
+ default "thunderx2t99p1" if BR2_thunderx2t99p1
+ default "vulcan" if BR2_vulcan
config BR2_GCC_TARGET_ABI
default "aapcs-linux" if BR2_arm || BR2_armeb