summaryrefslogtreecommitdiffstats
path: root/arch/csky/Kconfig
diff options
context:
space:
mode:
authorGuo Ren <ren_guo@c-sky.com>2019-03-01 08:50:36 +0800
committerGuo Ren <ren_guo@c-sky.com>2019-04-22 13:44:57 +0800
commit28bb030f93334495ddc64ade0bff18721bf7023d (patch)
treed0a4e4eaa36575adf490165f63d2bd6160653124 /arch/csky/Kconfig
parent3dfc242f11d792535db774613c6fd1df565c2137 (diff)
downloadlinux-stable-28bb030f93334495ddc64ade0bff18721bf7023d.tar.gz
linux-stable-28bb030f93334495ddc64ade0bff18721bf7023d.tar.bz2
linux-stable-28bb030f93334495ddc64ade0bff18721bf7023d.zip
csky/ftrace: Add dynamic function tracer (include graph tracer)
Support dynamic ftrace including dynamic graph tracer. Gcc-csky with -pg will produce call site in every function prologue and we can use these call site to hook trace function. gcc with -pg origin call site: push lr jbsr _mcount nop32 nop32 If the (callee - caller)'s offset is in range of bsr instruction, we'll modify code with: push lr bsr _mcount nop32 nop32 Else if the (callee - caller)'s offset is out of bsr instrunction, we'll modify code with: push lr movih r26, ... ori r26, ... jsr r26 (r26 is reserved for jsr link reg in csky abiv2 spec.) Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Diffstat (limited to 'arch/csky/Kconfig')
-rw-r--r--arch/csky/Kconfig3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index 725a115759c9..60ebaa325584 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -29,13 +29,14 @@ config CSKY
select GENERIC_SCHED_CLOCK
select GENERIC_SMP_IDLE_THREAD
select HAVE_ARCH_TRACEHOOK
+ select HAVE_DYNAMIC_FTRACE
select HAVE_FUNCTION_TRACER
select HAVE_FUNCTION_GRAPH_TRACER
+ select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZO
select HAVE_KERNEL_LZMA
select HAVE_PERF_EVENTS
- select HAVE_C_RECORDMCOUNT
select HAVE_DMA_API_DEBUG
select HAVE_DMA_CONTIGUOUS
select MAY_HAVE_SPARSE_IRQ