mbox series

[v3,0/6] Dynamic FTRACE for PA-RISC

Message ID 20190605203222.6194-1-svens@stackframe.org (mailing list archive)
Headers show
Series Dynamic FTRACE for PA-RISC | expand

Message

Sven Schnelle June 5, 2019, 8:32 p.m. UTC
Hi List,

this series adds support for dynamic ftrace. See the commit message of
the patch for a explanation how it works. For testing, you need a patched
version of gcc because the current version has a bug which misplaces the 
function label. John David Anglin can provide a patch which fixes this issue.
This issue is tracked here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90751

Changes to v2:

- use offset_in_page() instead of open-coded version

Changes to v1:

- replace a few hardcoded size by sizeof()
- change len parameter of patch_text_multiple() to unsigned
- add link to gcc bugtracker


Sven Schnelle (6):
  parisc: add support for patching multiple words
  parisc: add spinlock to patch function
  parisc: add WARN_ON() to clear_fixmap
  parisc: use pr_debug() in kernel/module.c
  compiler.h: add CC_USING_PATCHABLE_FUNCTION_ENTRY
  parisc: add dynamic ftrace

 arch/parisc/Kconfig               |   2 +
 arch/parisc/Makefile              |  18 +++++
 arch/parisc/include/asm/ftrace.h  |  15 +++-
 arch/parisc/include/asm/patch.h   |   4 +-
 arch/parisc/kernel/Makefile       |   9 ++-
 arch/parisc/kernel/entry.S        |  64 +++++++++++++++
 arch/parisc/kernel/ftrace.c       | 129 +++++++++++++++++++++++++++---
 arch/parisc/kernel/module.c       |  64 +++++++++------
 arch/parisc/kernel/module.lds     |   7 ++
 arch/parisc/kernel/patch.c        |  88 ++++++++++++++++----
 arch/parisc/kernel/vmlinux.lds.S  |   2 +
 arch/parisc/mm/fixmap.c           |   7 +-
 include/asm-generic/vmlinux.lds.h |   7 ++
 include/linux/compiler_types.h    |   2 +
 14 files changed, 358 insertions(+), 60 deletions(-)
 create mode 100644 arch/parisc/kernel/module.lds