From 3742be91c3f0c98001f311700f0aca89a53075f3 Mon Sep 17 00:00:00 2001 From: wangmingrong1 Date: Tue, 18 Feb 2025 11:18:43 +0800 Subject: [PATCH] arm64: Initialize sctrl_el1 when running fork Signed-off-by: wangmingrong1 --- arch/arm64/src/common/arm64_fork.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/src/common/arm64_fork.c b/arch/arm64/src/common/arm64_fork.c index bc91bcc5f5976..9cd23b5554a81 100644 --- a/arch/arm64/src/common/arm64_fork.c +++ b/arch/arm64/src/common/arm64_fork.c @@ -225,6 +225,11 @@ pid_t arm64_fork(const struct fork_s *context) child->cmn.xcp.regs[REG_ELR] = (uint64_t)context->lr; + child->cmn.xcp.regs[REG_SCTLR_EL1] = read_sysreg(sctlr_el1); +#ifdef CONFIG_ARM64_MTE + child->cmn.xcp.regs[REG_SCTLR_EL1] |= SCTLR_TCF1_BIT; +#endif + child->cmn.xcp.regs[REG_EXE_DEPTH] = 0; child->cmn.xcp.regs[REG_SP_ELX] = newsp - XCPTCONTEXT_SIZE; #ifdef CONFIG_ARCH_KERNEL_STACK