Skip to content
  • Abel Vesa's avatar
    ARM: 8678/1: ftrace: Adds support for CONFIG_DYNAMIC_FTRACE_WITH_REGS · 620176f3
    Abel Vesa authored
    
    
    The DYNAMIC_FTRACE_WITH_REGS configuration makes it possible for a
    ftrace operation to specify if registers need to saved/restored by
    the ftrace handler. This is needed by kgraft and possibly other
    ftrace-based tools, and the ARM architecture is currently lacking
    this feature. It would also be the first step to support the
    "Kprobes-on-ftrace" optimization on ARM.
    
    This patch introduces a new ftrace handler that stores the registers
    on the stack before calling the next stage. The registers are restored
    from the stack before going back to the instrumented function.
    
    A side-effect of this patch is to activate the support for
    ftrace_modify_call() as it defines ARCH_SUPPORTS_FTRACE_OPS for the
    ARM architecture.
    
    Signed-off-by: default avatarAbel Vesa <abelvesa@linux.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    620176f3