Re: [RESEND PATCH 1/4] ppc64 FTRACE_WITH_REGS implementation
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2015-06-19 13:25:54
Also in:
lkml
On Thu, 18 Jun 2015 18:21:07 +0200 Torsten Duwe [off-list ref] wrote:
Implement FTRACE_WITH_REGS for powerpc64, on ELF ABI v2.
Initial work started by Vojtech Pavlik, used with permission.
* arch/powerpc/kernel/entry_64.S:
- enhance _mcount with a stub to test (ftrace_trace_function == &ftrace_stub)
as suggested in Documentation/trace/ftrace-design.txt
(for reference only, patched out at runtime)
- Implement an effective ftrace_caller that works from within the kernel
binary as well as from modules.
* arch/powerpc/kernel/ftrace.c:
- be prepared to deal with ppc64 ELV ABI v2, especially calls to _mcount
that result from gcc -mprofile-kernel
* arch/powerpc/kernel/module_64.c:
- do not save the TOC pointer on the trampoline when the destination
is ftrace_caller. This trampoline jump happens from a function prologue
before a new stack frame is set up, so bad things may happen otherwise...
- relax is_module_trampoline() to recognise the modified trampoline.
Signed-off-by: Torsten Duwe <redacted>
--
FYI, the standard notation after the change log is '---' not '--'. That
way git will chop off this from the change log. When I did a git am -s
on this patch I had:
Signed-off-by: Torsten Duwe [off-list ref]
--
arch/powerpc/include/asm/ftrace.h | 5 +
arch/powerpc/kernel/entry_64.S | 112 +++++++++++++++++++++++++++++++-------
arch/powerpc/kernel/ftrace.c | 67 ++++++++++++++++++++--
arch/powerpc/kernel/module_64.c | 33 ++++++++++-
4 files changed, 186 insertions(+), 31 deletions(-)
--
Signed-off-by: Steven Rostedt [off-list ref]
-- Steve
quoted hunk ↗ jump to hunk
arch/powerpc/include/asm/ftrace.h | 5 + arch/powerpc/kernel/entry_64.S | 112 +++++++++++++++++++++++++++++++------- arch/powerpc/kernel/ftrace.c | 67 ++++++++++++++++++++-- arch/powerpc/kernel/module_64.c | 33 ++++++++++- 4 files changed, 186 insertions(+), 31 deletions(-) --diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/ftrace.h index e366187..6111191 100644 --- a/arch/powerpc/include/asm/ftrace.h +++ b/arch/powerpc/include/asm/ftrace.h