[PATCH 20/21] arm64: tracing: Advertise a mode of EL1t in synthetic kernel regs
Will Deacon
will at kernel.org
Mon Sep 7 09:42:45 PDT 2026
When synthesising a kernel regs structure for ftrace or perf, advertise
a mode of EL1t to reflect the mode in which the kernel runs for the vast
majority of the time.
Signed-off-by: Will Deacon <will at kernel.org>
---
arch/arm64/include/asm/ftrace.h | 4 ++--
arch/arm64/include/asm/perf_event.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h
index 1621c84f44b3..d55a019cdf0a 100644
--- a/arch/arm64/include/asm/ftrace.h
+++ b/arch/arm64/include/asm/ftrace.h
@@ -153,7 +153,7 @@ ftrace_partial_regs(const struct ftrace_regs *fregs, struct pt_regs *regs)
regs->pc = afregs->pc;
regs->regs[29] = afregs->fp;
regs->regs[30] = afregs->lr;
- regs->pstate = PSR_MODE_EL1h;
+ regs->pstate = PSR_MODE_EL1t;
return regs;
}
@@ -161,7 +161,7 @@ ftrace_partial_regs(const struct ftrace_regs *fregs, struct pt_regs *regs)
(_regs)->pc = arch_ftrace_regs(fregs)->pc; \
(_regs)->regs[29] = arch_ftrace_regs(fregs)->fp; \
(_regs)->sp = arch_ftrace_regs(fregs)->sp; \
- (_regs)->pstate = PSR_MODE_EL1h; \
+ (_regs)->pstate = PSR_MODE_EL1t; \
} while (0)
int ftrace_regs_query_register_offset(const char *name);
diff --git a/arch/arm64/include/asm/perf_event.h b/arch/arm64/include/asm/perf_event.h
index ee45b4e77347..b3e7c24a5aab 100644
--- a/arch/arm64/include/asm/perf_event.h
+++ b/arch/arm64/include/asm/perf_event.h
@@ -17,7 +17,7 @@
(regs)->pc = (__ip); \
(regs)->regs[29] = (unsigned long) __builtin_frame_address(0); \
(regs)->sp = current_stack_pointer; \
- (regs)->pstate = PSR_MODE_EL1h; \
+ (regs)->pstate = PSR_MODE_EL1t; \
}
#endif
--
2.55.0.979.g7e5102b832-goog
More information about the linux-arm-kernel
mailing list