This is an automated email from the ASF dual-hosted git repository.

archer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 586b9c54ac 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.
586b9c54ac is described below

commit 586b9c54ac5f74e9bf9f488ef3dadcf0f86b4aef
Author: zouboan <zoub...@hotmail.com>
AuthorDate: Mon Feb 3 18:50:04 2025 +0800

    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 7467691a28..485d70492f 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

Reply via email to