[PATCH v8 0/5] arm64: ftrace with regs

From: Torsten Duwe
Date: Fri Feb 08 2019 - 10:08:30 EST


Patch series v8, as discussed.
The whole series applies cleanly on 5.0-rc5

---
arch/arm64/Kconfig | 4 +
arch/arm64/Makefile | 10 ++
arch/arm64/include/asm/ftrace.h | 16 ++++
arch/arm64/include/asm/module.h | 3
arch/arm64/kernel/Makefile | 12 +--
arch/arm64/kernel/entry-ftrace.S | 125 ++++++++++++++++++++++++++++++++--
arch/arm64/kernel/ftrace.c | 117 ++++++++++++++++++++++++-------
arch/arm64/kernel/module-plts.c | 3
arch/arm64/kernel/module.c | 2
arch/arm64/lib/Makefile | 4 -
drivers/firmware/efi/libstub/Makefile | 12 +--
include/asm-generic/vmlinux.lds.h | 2
include/linux/compiler_types.h | 4 +
kernel/module.c | 14 +++
mm/kasan/Makefile | 8 +-
15 files changed, 281 insertions(+), 55 deletions(-)
---
changes since v7:

* -pg -> $(CC_FLAGS_FTRACE) cleanup now split according to subtree
maintainership.

* REC_IP_BRANCH_OFFSET is gone, the functionality went into
ftrace_call_adjust(), where it belongs.

* MOV_X9_X30 macro is gone (why did we argue about its name anyway?);
it is only used once now in the initial ftrace_make_nop new helper
function ftrace_setup_lr_saver(), suggested by Julien.

* call site processing was missing for modules. Fixed.

changes since v6:

* change the stack layout once more; I hope I have it the "standard" way now.
And yes, it looks simpler and cleaner; thanks, Mark, for nagging.

* split out the independent Kconfig and Makefile changes

* fixed style issues

* s/fp/x29/g

* MCOUNT_ADDR is now merely a 64-bit magic, as this is totally sufficient.

* QUICK_LR_SAVE renamed back to MOV_X9_X30.

* place MOV_X9_X30 insns on bootup, and only flip b <-> nop at runtime

* graph tracer "ifdeffery" reshuffle

Torsten