aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAntonio Niño Díaz <antonio.ninodiaz@arm.com>2019-04-09 12:31:09 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2019-04-09 12:31:09 +0000
commita738e1554c2daf7511af3543addd07c956268d14 (patch)
tree9832391ee72be177544a4f9dc7f760b9c7763fa3 /include
parentdbf65238f9bf22055d63c2d49b8183fdad3bf662 (diff)
parentfbd8f6c8414a49883cbdc32277a0f31fdd3d733d (diff)
downloadplatform_external_arm-trusted-firmware-a738e1554c2daf7511af3543addd07c956268d14.tar.gz
platform_external_arm-trusted-firmware-a738e1554c2daf7511af3543addd07c956268d14.tar.bz2
platform_external_arm-trusted-firmware-a738e1554c2daf7511af3543addd07c956268d14.zip
Merge "aarch32: Allow compiling with soft-float toolchain" into integration
Diffstat (limited to 'include')
-rw-r--r--include/arch/aarch32/el3_common_macros.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/arch/aarch32/el3_common_macros.S b/include/arch/aarch32/el3_common_macros.S
index 322aed5cd..0bd897814 100644
--- a/include/arch/aarch32/el3_common_macros.S
+++ b/include/arch/aarch32/el3_common_macros.S
@@ -92,9 +92,14 @@
*
* FPEXC.EN: Enable access to Advanced SIMD and floating point features
* from all exception levels.
+ *
+ * __SOFTFP__: Predefined macro exposed by soft-float toolchain.
+ * ARMv7 and Cortex-A32(ARMv8/aarch32) has both soft-float and
+ * hard-float variants of toolchain, avoid compiling below code with
+ * soft-float toolchain as "vmsr" instruction will not be recognized.
* ---------------------------------------------------------------------
*/
-#if (ARM_ARCH_MAJOR > 7) || defined(ARMV7_SUPPORTS_VFP)
+#if ((ARM_ARCH_MAJOR > 7) || defined(ARMV7_SUPPORTS_VFP)) && !(__SOFTFP__)
ldr r0, =(FPEXC_RESET_VAL | FPEXC_EN_BIT)
vmsr FPEXC, r0
isb