aboutsummaryrefslogtreecommitdiffstats
path: root/include/arch/aarch64/asm_macros.S
diff options
context:
space:
mode:
Diffstat (limited to 'include/arch/aarch64/asm_macros.S')
-rw-r--r--include/arch/aarch64/asm_macros.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/arch/aarch64/asm_macros.S b/include/arch/aarch64/asm_macros.S
index a7d5a3dd6..cbb9f0be8 100644
--- a/include/arch/aarch64/asm_macros.S
+++ b/include/arch/aarch64/asm_macros.S
@@ -220,11 +220,16 @@
/*
* Macro for mitigating against speculative execution beyond ERET.
+ * If possible use Speculation Barrier instruction defined in ARMv8.5
*/
.macro exception_return
eret
- dsb nsh
+#if ARM_ARCH_AT_LEAST(8, 5)
+ sb
+#else
+ dsb nsh
isb
+#endif
.endm
#endif /* ASM_MACROS_S */