From 586b9c54ac5f74e9bf9f488ef3dadcf0f86b4aef Mon Sep 17 00:00:00 2001 From: zouboan Date: Mon, 3 Feb 2025 18:50:04 +0800 Subject: [PATCH] arch/arm64 Fix the SP unalignment issues zynq-mpsoc and zcu111 borad was broken by #15437, because #15437 changes ARM64_CONTEXT_REGS from 36 to 37, resulting in the stack no longer being 16-byte aligned which appears to violate the ARMv8-A architecture's requirement for 16-byte stack alignment. this commit changes ARM64_CONTEXT_REGS to 38 to fix this issues. --- arch/arm64/include/irq.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/irq.h b/arch/arm64/include/irq.h index 7467691a288..485d70492fb 100644 --- a/arch/arm64/include/irq.h +++ b/arch/arm64/include/irq.h @@ -154,10 +154,11 @@ #define REG_SP_EL0 (34) #define REG_EXE_DEPTH (35) #define REG_SCTLR_EL1 (36) +#define REG_RESERVED (37) /* In Armv8-A Architecture, the stack must align with 16 byte */ -#define ARM64_CONTEXT_REGS (37) +#define ARM64_CONTEXT_REGS (38) #define ARM64_CONTEXT_SIZE (8 * ARM64_CONTEXT_REGS) #ifdef CONFIG_ARCH_FPU