summaryrefslogtreecommitdiff
path: root/include/common/aarch32
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@linaro.org>2017-11-05 22:55:47 +0100
committerEtienne Carriere <etienne.carriere@linaro.org>2017-11-08 13:49:29 +0100
commit0147bef523e27e26c0240fef4b47deca6720566c (patch)
treef814f85c8fefbec6459e70737dd409e9ea7193b5 /include/common/aarch32
parent70896274bac4b2c420f115fb71a677e516048797 (diff)
ARMv7 does not support STL instruction
Also need to add a SEV instruction in ARMv7 spin_unlock which is implicit in ARMv8. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'include/common/aarch32')
-rw-r--r--include/common/aarch32/asm_macros.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/common/aarch32/asm_macros.S b/include/common/aarch32/asm_macros.S
index f5737449..0d1a37d1 100644
--- a/include/common/aarch32/asm_macros.S
+++ b/include/common/aarch32/asm_macros.S
@@ -79,6 +79,15 @@
ldr r0, =(\_name + \_size)
.endm
+#if (ARM_ARCH_MAJOR == 7)
+ /* ARMv7 does not support stl instruction */
+ .macro stl _reg, _write_lock
+ dmb
+ str \_reg, \_write_lock
+ dsb
+ .endm
+#endif
+
/*
* Helper macro to generate the best mov/movw/movt combinations
* according to the value to be moved.