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

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

commit 52a4fb6fabd74c78cc6a33cba9a84eb4a3c72a48
Author: lipengfei28 <[email protected]>
AuthorDate: Thu Sep 12 17:51:32 2024 +0800

    Kernel build: enter exception save sp_sl0,exit exception restroe sp_el0
    
    Signed-off-by: lipengfei28 <[email protected]>
---
 arch/arm64/src/common/arm64_vector_table.S | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/src/common/arm64_vector_table.S 
b/arch/arm64/src/common/arm64_vector_table.S
index 21b70d2575..34d77f787d 100644
--- a/arch/arm64/src/common/arm64_vector_table.S
+++ b/arch/arm64/src/common/arm64_vector_table.S
@@ -78,6 +78,10 @@
 #endif
     stp    x0, x1,  [sp, #8 * REG_ELR]
 
+    mrs    x0, sp_el0
+    mrs    x1, tpidrro_el0
+    stp    x0, x1,  [sp, #8 * REG_SP_EL0]
+
     /* Increment exception depth */
 
     mrs    x0, tpidrro_el0
@@ -262,6 +266,10 @@ SECTION_FUNC(text, arm64_exit_exception)
     msr    spsr_el1,  x1
 #endif
 
+    ldp    x0, x1,   [sp, #8 * REG_SP_EL0]
+    msr    sp_el0,   x0
+    msr    tpidrro_el0,  x1
+
     /* decrement exception depth */
 
     mrs    x0, tpidrro_el0

Reply via email to