diff options
author | Alan Kao <alankao@andestech.com> | 2018-02-13 13:13:19 +0800 |
---|---|---|
committer | Palmer Dabbelt <palmer@sifive.com> | 2018-04-02 19:59:12 -0700 |
commit | 71e736a7d65551e49136c1efc4759e5902729cc2 (patch) | |
tree | 272309b5451443b090a06c2696d758c8a509c307 /arch | |
parent | bc1a4c3a842556852bb02039887d73899d513532 (diff) | |
download | linux-stable-71e736a7d65551e49136c1efc4759e5902729cc2.tar.gz linux-stable-71e736a7d65551e49136c1efc4759e5902729cc2.tar.bz2 linux-stable-71e736a7d65551e49136c1efc4759e5902729cc2.zip |
riscv/ftrace: Add ARCH_SUPPORTS_FTRACE_OPS support
Cc: Greentime Hu <greentime@andestech.com>
Signed-off-by: Alan Kao <alankao@andestech.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/riscv/include/asm/ftrace.h | 1 | ||||
-rw-r--r-- | arch/riscv/kernel/mcount-dyn.S | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/ftrace.h b/arch/riscv/include/asm/ftrace.h index 078743aacfd3..fedadc40e358 100644 --- a/arch/riscv/include/asm/ftrace.h +++ b/arch/riscv/include/asm/ftrace.h @@ -9,6 +9,7 @@ #define HAVE_FUNCTION_GRAPH_FP_TEST #endif +#define ARCH_SUPPORTS_FTRACE_OPS 1 #ifndef __ASSEMBLY__ void _mcount(void); static inline unsigned long ftrace_call_adjust(unsigned long addr) diff --git a/arch/riscv/kernel/mcount-dyn.S b/arch/riscv/kernel/mcount-dyn.S index 739e07a6fd85..6bbc3f88fcb3 100644 --- a/arch/riscv/kernel/mcount-dyn.S +++ b/arch/riscv/kernel/mcount-dyn.S @@ -74,9 +74,12 @@ ENTRY(ftrace_caller) /* * a0: the address in the caller when calling ftrace_caller * a1: the caller's return address + * a2: the address of global variable function_trace_op */ ld a1, -8(s0) addi a0, ra, -MCOUNT_INSN_SIZE + la t5, function_trace_op + ld a2, 0(t5) #ifdef CONFIG_FUNCTION_GRAPH_TRACER /* |