fix(pauth): add an isb after restoring pauth registers so they take effect
Without the isb the write to the APIA key may not take effect until some
later point. When context is restored and execution returns to the
pre-suspend path the key must be the same otherwise the authentication
will fail.
Change-Id: Iada89dd17eb0f3ed85bbc64087a27be6ab0b242a
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
diff --git a/lib/power_management/suspend/aarch64/asm_tftf_suspend.S b/lib/power_management/suspend/aarch64/asm_tftf_suspend.S
index 83df3fb..d2aec5c 100644
--- a/lib/power_management/suspend/aarch64/asm_tftf_suspend.S
+++ b/lib/power_management/suspend/aarch64/asm_tftf_suspend.S
@@ -158,6 +158,7 @@
ldp x1, x2, [x0, #SUSPEND_CTX_APIAKEY_OFFSET]
msr APIAKeyLo_EL1, x1
msr APIAKeyHi_EL1, x2
+ isb
#endif
ldr x2, [x0, #SUSPEND_CTX_SP_OFFSET]
mov sp, x2