diff --git a/arch/arm64/src/common/arm64_schedulesigaction.c b/arch/arm64/src/common/arm64_schedulesigaction.c index a143a05bb8..26b0217406 100644 --- a/arch/arm64/src/common/arm64_schedulesigaction.c +++ b/arch/arm64/src/common/arm64_schedulesigaction.c @@ -72,7 +72,8 @@ static void arm64_init_signal_process(struct tcb_s *tcb, uint64_t *regs) tcb->xcp.regs[REG_SP_EL0] = regs[REG_SP_ELX] - XCPTCONTEXT_SIZE * 2; #endif tcb->xcp.regs[REG_SP_ELX] = regs[REG_SP_ELX] - XCPTCONTEXT_SIZE; - tcb->xcp.regs[REG_EXE_DEPTH] = 1; + tcb->xcp.regs[REG_EXE_DEPTH] = 1; + tcb->xcp.regs[REG_SCTLR_EL1] = regs[REG_SCTLR_EL1]; } /****************************************************************************