This is v2 of the series posted here: http://lkml.kernel.org/r/cover.1702045299.git.nav...@kernel.org
Since v2, the primary change is that the entire ftrace sequence is moved out of line and this is now restricted to 64-bit powerpc by default. Patch 5 has the details. I have dropped patches to enable DYNAMIC_FTRACE_WITH_CALL_OPS and ftrace direct support so that this approach can be finalized. This series depends on Benjamin Gray's series adding support for patch_ulong(): http://lkml.kernel.org/r/20240515024445.236364-1-bg...@linux.ibm.com Appreciate feedback on the approach. Thanks, Naveen Naveen N Rao (5): powerpc/kprobes: Use ftrace to determine if a probe is at function entry powerpc/ftrace: Remove pointer to struct module from dyn_arch_ftrace powerpc/ftrace: Unify 32-bit and 64-bit ftrace entry code kbuild: Add generic hook for architectures to use before the final vmlinux link powerpc64/ftrace: Move ftrace sequence out of line arch/Kconfig | 3 + arch/powerpc/Kconfig | 4 + arch/powerpc/Makefile | 4 + arch/powerpc/include/asm/ftrace.h | 11 +- arch/powerpc/include/asm/module.h | 5 + arch/powerpc/kernel/asm-offsets.c | 4 + arch/powerpc/kernel/kprobes.c | 18 +-- arch/powerpc/kernel/module_64.c | 67 +++++++- arch/powerpc/kernel/trace/ftrace.c | 196 ++++++++++++++++++++--- arch/powerpc/kernel/trace/ftrace_64_pg.c | 73 ++++----- arch/powerpc/kernel/trace/ftrace_entry.S | 75 ++++++--- arch/powerpc/kernel/vmlinux.lds.S | 3 +- arch/powerpc/tools/vmlinux_o.sh | 47 ++++++ scripts/link-vmlinux.sh | 18 ++- 14 files changed, 419 insertions(+), 109 deletions(-) create mode 100755 arch/powerpc/tools/vmlinux_o.sh base-commit: 2c644f2847c188b4fa545e602e4a1d4db55e8c8d prerequisite-patch-id: a1d50e589288239d5a8b1c1f354cd4737057c9d3 prerequisite-patch-id: da4142d56880861bd0ad7ad7087c9e2670a2ee54 prerequisite-patch-id: 609d292e054b2396b603890522a940fa0bdfb6d8 prerequisite-patch-id: 6f7213fb77b1260defbf43be0e47bff9c80054cc prerequisite-patch-id: ad3b71bf071ae4ba1bee5b087e61a2055772a74f -- 2.45.2