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 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 -- 2.20.1