aboutsummaryrefslogtreecommitdiff
path: root/tools/build_system/cpu.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build_system/cpu.mk')
-rw-r--r--tools/build_system/cpu.mk10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/build_system/cpu.mk b/tools/build_system/cpu.mk
index 51810293..3ad53e13 100644
--- a/tools/build_system/cpu.mk
+++ b/tools/build_system/cpu.mk
@@ -15,6 +15,9 @@ BS_ARCH_CPU := $(BS_FIRMWARE_CPU)
# Supported ARMv7-M CPUs
ARMV7M_CPUS := cortex-m3 cortex-m7
+# Supported ARMv8-A CPUs
+ARMV8A_CPUS := cortex-a53 cortex-a57 cortex-a57.cortex-a53
+
ifneq ($(findstring $(BS_FIRMWARE_CPU),$(ARMV7M_CPUS)),)
BS_ARCH_VENDOR := arm
BS_ARCH_ARCH := armv7-m
@@ -25,6 +28,13 @@ ifneq ($(findstring $(BS_FIRMWARE_CPU),$(ARMV7M_CPUS)),)
CFLAGS_CLANG += --target=arm-arm-none-eabi
CFLAGS += -mfloat-abi=soft # No hardware floating point support
+else ifneq ($(findstring $(BS_FIRMWARE_CPU),$(ARMV8A_CPUS)),)
+ BS_ARCH_VENDOR := arm
+ BS_ARCH_ARCH := armv8-a
+
+ CFLAGS += -fno-builtin -mstrict-align
+ DEP_CFLAGS_GCC += -DAARCH64
+ DEP_ASFLAGS_GCC += -D__ASSEMBLY__
else ifeq ($(BS_FIRMWARE_CPU),host)
BS_ARCH_VENDOR := none
BS_ARCH_ARCH := host