diff options
author | Jens Wiklander <jens.wiklander@linaro.org> | 2018-10-08 11:00:02 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-10-09 09:16:43 +0800 |
commit | 9551f4e55c19cba96b1187b82dcea9bd2512f758 (patch) | |
tree | f27d4b426e3e5f418e2fdf80a242267a1a150cd1 /core/arch/arm/arm.mk | |
parent | 70df09b8f139cb6c028823d93e398d5f62d1c054 (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.mk | 9 |
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) |