[PATCH v9 03/36] x86: tracing: Add ftrace_regs definition in the header
From: Masami Hiramatsu (Google)
Date: Mon Apr 15 2024 - 08:53:20 EST
From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
Add ftrace_regs definition for x86_64 in the ftrace header to
clarify what register will be accessible from ftrace_regs.
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
---
Changes in v3:
- Add rip to be saved.
Changes in v2:
- Newly added.
---
arch/x86/include/asm/ftrace.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
index cf88cc8cc74d..c88bf47f46da 100644
--- a/arch/x86/include/asm/ftrace.h
+++ b/arch/x86/include/asm/ftrace.h
@@ -36,6 +36,12 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
#ifdef CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS
struct ftrace_regs {
+ /*
+ * On the x86_64, the ftrace_regs saves;
+ * rax, rcx, rdx, rdi, rsi, r8, r9, rbp, rip and rsp.
+ * Also orig_ax is used for passing direct trampoline address.
+ * x86_32 doesn't support ftrace_regs.
+ */
struct pt_regs regs;
};