[RFC PATCH 00/15] powerpc/ftrace: refactoring and support for -fpatchable-function-entry
Naveen N Rao
naveen at kernel.org
Thu Jun 8 02:55:15 AEST 2023
This is a follow-on RFC to the patch I previously posted here:
http://lore.kernel.org/20230519192600.2593506-1-naveen@kernel.org
Since then, I have split up the patches, picked up a few more changes
and given this more testing. More details in the individual patches.
- Naveen
Naveen N Rao (15):
powerpc/module: Remove unused .ftrace.tramp section
powerpc64/ftrace: Move ELFv1 and -pg support code into a separate file
powerpc/ftrace: Simplify function_graph support in ftrace.c
powerpc/ftrace: Use FTRACE_REGS_ADDR to identify the correct ftrace
trampoline
powerpc/ftrace: Extend ftrace support for large kernels to ppc32
powerpc/ftrace: Consolidate ftrace support into fewer files
powerpc/ftrace: Refactor ftrace_modify_code()
powerpc/ftrace: Stop re-purposing linker generated long branches for
ftrace
powerpc/ftrace: Add separate ftrace_init_nop() with additional
validation
powerpc/ftrace: Simplify ftrace_make_nop()
powerpc/ftrace: Simplify ftrace_make_call()
powerpc/ftrace: Simplify ftrace_modify_call()
powerpc/ftrace: Replace use of ftrace_call_replace() with
ftrace_create_branch_inst()
powerpc/ftrace: Implement ftrace_replace_code()
powerpc/ftrace: Add support for -fpatchable-function-entry
arch/powerpc/Kconfig | 14 +-
arch/powerpc/Makefile | 5 +
arch/powerpc/include/asm/ftrace.h | 22 +-
arch/powerpc/include/asm/module.h | 4 -
arch/powerpc/include/asm/sections.h | 2 +
arch/powerpc/include/asm/vermagic.h | 4 +-
arch/powerpc/kernel/module_64.c | 2 +-
arch/powerpc/kernel/trace/Makefile | 12 +-
arch/powerpc/kernel/trace/ftrace.c | 908 +++++-------------
arch/powerpc/kernel/trace/ftrace_64_pg.S | 67 --
arch/powerpc/kernel/trace/ftrace_64_pg.c | 846 ++++++++++++++++
.../{ftrace_low.S => ftrace_64_pg_entry.S} | 64 +-
.../{ftrace_mprofile.S => ftrace_entry.S} | 67 ++
arch/powerpc/kernel/vmlinux.lds.S | 4 -
.../gcc-check-fpatchable-function-entry.sh | 26 +
15 files changed, 1277 insertions(+), 770 deletions(-)
delete mode 100644 arch/powerpc/kernel/trace/ftrace_64_pg.S
create mode 100644 arch/powerpc/kernel/trace/ftrace_64_pg.c
rename arch/powerpc/kernel/trace/{ftrace_low.S => ftrace_64_pg_entry.S} (54%)
rename arch/powerpc/kernel/trace/{ftrace_mprofile.S => ftrace_entry.S} (83%)
create mode 100755 arch/powerpc/tools/gcc-check-fpatchable-function-entry.sh
base-commit: bd517a8442b6c6646a136421cd4c1b95bf4ce32b
--
2.40.1
More information about the Linuxppc-dev
mailing list