aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/arm.mk
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2018-10-08 11:00:02 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2018-10-09 09:16:43 +0800
commit9551f4e55c19cba96b1187b82dcea9bd2512f758 (patch)
treef27d4b426e3e5f418e2fdf80a242267a1a150cd1 /core/arch/arm/arm.mk
parent70df09b8f139cb6c028823d93e398d5f62d1c054 (diff)
core: juno: workaround cortex-a57 errata 808870
Workaround errata 808870: Unconditional VLDM instructions might cause an alignment fault even though the address is aligned Products Affected: Cortex-A57 MPCore. Present in: r0p0 The workaround is to avoid generating the problematic instructions in AArch32 TA. Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/arm.mk')
-rw-r--r--core/arch/arm/arm.mk9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk
index 179096ec..7e15ae1f 100644
--- a/core/arch/arm/arm.mk
+++ b/core/arch/arm/arm.mk
@@ -28,7 +28,10 @@ ifeq ($(CFG_ARM64_core),y)
$(call force,CFG_WITH_VFP,y)
endif
ifeq ($(CFG_WITH_VFP),y)
-platform-hard-float-enabled := y
+arm64-platform-hard-float-enabled := y
+ifneq ($(CFG_TA_ARM32_NO_HARD_FLOAT_SUPPORT),y)
+arm32-platform-hard-float-enabled := y
+endif
endif
endif
@@ -150,7 +153,7 @@ ta_arm32-platform-cflags += $(platform-cflags-optimization)
ta_arm32-platform-cflags += $(platform-cflags-debug-info)
ta_arm32-platform-cflags += -fpie
ta_arm32-platform-cflags += $(arm32-platform-cflags-generic)
-ifeq ($(platform-hard-float-enabled),y)
+ifeq ($(arm32-platform-hard-float-enabled),y)
ta_arm32-platform-cflags += $(arm32-platform-cflags-hard-float)
else
ta_arm32-platform-cflags += $(arm32-platform-cflags-no-hard-float)
@@ -182,7 +185,7 @@ ta_arm64-platform-cflags += $(platform-cflags-optimization)
ta_arm64-platform-cflags += $(platform-cflags-debug-info)
ta_arm64-platform-cflags += -fpie
ta_arm64-platform-cflags += $(arm64-platform-cflags-generic)
-ifeq ($(platform-hard-float-enabled),y)
+ifeq ($(arm64-platform-hard-float-enabled),y)
ta_arm64-platform-cflags += $(arm64-platform-cflags-hard-float)
else
ta_arm64-platform-cflags += $(arm64-platform-cflags-no-hard-float)