Fix stack push/pop alignment for SMC wrapper
AArch64 requires stack pointer alignment of two X (8 byte) registers.
Bug: 132421503
Change-Id: Ib93bd47a49286ec9646bfd1f0456c8765fa64aca
diff --git a/src/arch/aarch64/smc_internal.S b/src/arch/aarch64/smc_internal.S
index de7879f..c49e6cd 100644
--- a/src/arch/aarch64/smc_internal.S
+++ b/src/arch/aarch64/smc_internal.S
@@ -20,9 +20,9 @@
smc32_internal:
smc64_internal:
- str x8, [sp, #-8] !
+ str x8, [sp, #-16] ! /* AArch64 stack pointer alignment is 16 bytes */
smc #0
- ldr x8, [sp], #8
- stp x0, x1, [x8]
- stp x2, x3, [x8, #16]
+ ldr x8, [sp], #16
+ stp x0, x1, [x8]
+ stp x2, x3, [x8, #16]
ret