summaryrefslogtreecommitdiffstats
path: root/arch/tile/include/asm/ftrace.h
diff options
context:
space:
mode:
authorTony Lu2015-03-27 19:46:38 +0100
committerChris Metcalf2015-04-17 20:01:38 +0200
commit437d3e124d25daaa671bfecfd4015ecd2503a955 (patch)
treeddc6e9491b9a14a09c6476d0543e9f4896dfd77d /arch/tile/include/asm/ftrace.h
parenttile: map data region shadow of kernel as R/W (diff)
downloadkernel-qcow2-linux-437d3e124d25daaa671bfecfd4015ecd2503a955.tar.gz
kernel-qcow2-linux-437d3e124d25daaa671bfecfd4015ecd2503a955.tar.xz
kernel-qcow2-linux-437d3e124d25daaa671bfecfd4015ecd2503a955.zip
tile: ftrace: fix function_graph tracer issues
- Add support for ARCH_SUPPORTS_FTRACE_OPS - Replace the instruction in ftrace_call with the bundle {move r10, lr; jal ftrace_stub}, so that the lr contains the right value after returning from ftrace_stub. An alternative fix might be to leave the instruction in ftrace_call alone when it is being updated with ftrace_stub. Signed-off-by: Tony Lu <zlu@ezchip.com> Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
Diffstat (limited to 'arch/tile/include/asm/ftrace.h')
-rw-r--r--arch/tile/include/asm/ftrace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/tile/include/asm/ftrace.h b/arch/tile/include/asm/ftrace.h
index 13a9bb81a8ab..738d239b792f 100644
--- a/arch/tile/include/asm/ftrace.h
+++ b/arch/tile/include/asm/ftrace.h
@@ -23,6 +23,8 @@
#ifndef __ASSEMBLY__
extern void __mcount(void);
+#define ARCH_SUPPORTS_FTRACE_OPS 1
+
#ifdef CONFIG_DYNAMIC_FTRACE
static inline unsigned long ftrace_call_adjust(unsigned long addr)
{