summaryrefslogtreecommitdiffstats
path: root/arch/riscv/Kconfig
diff options
context:
space:
mode:
authorAlan Kao2018-02-13 06:13:17 +0100
committerPalmer Dabbelt2018-04-03 04:59:12 +0200
commitc15ac4fd60d5ffdb151bb2c7805f377fd7f90363 (patch)
tree758628a4b5779f5af742da0b1781e8a467736827 /arch/riscv/Kconfig
parentriscv/ftrace: Add RECORD_MCOUNT support (diff)
downloadkernel-qcow2-linux-c15ac4fd60d5ffdb151bb2c7805f377fd7f90363.tar.gz
kernel-qcow2-linux-c15ac4fd60d5ffdb151bb2c7805f377fd7f90363.tar.xz
kernel-qcow2-linux-c15ac4fd60d5ffdb151bb2c7805f377fd7f90363.zip
riscv/ftrace: Add dynamic function tracer support
We now have dynamic ftrace with the following added items: * ftrace_make_call, ftrace_make_nop (in kernel/ftrace.c) The two functions turn each recorded call site of filtered functions into a call to ftrace_caller or nops * ftracce_update_ftrace_func (in kernel/ftrace.c) turns the nops at ftrace_call into a call to a generic entry for function tracers. * ftrace_caller (in kernel/mcount-dyn.S) The entry where each _mcount call sites calls to once they are filtered to be traced. Also, this patch fixes the semantic problems in mcount.S, which will be treated as only a reference implementation once we have the dynamic ftrace. 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/riscv/Kconfig')
-rw-r--r--arch/riscv/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index c9ccc6ea4371..1e9d878c1ac4 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -115,6 +115,7 @@ config ARCH_RV64I
select HAVE_FUNCTION_TRACER
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FTRACE_MCOUNT_RECORD
+ select HAVE_DYNAMIC_FTRACE
endchoice