summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2009-02-11 20:06:43 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-02-23 10:48:55 +1100
commit60ce8f7260d9ae4ff17548f5a275edfbc200187a (patch)
tree6cc3a37f27ba582434b464a94fe0e1c37b8f8e08 /arch
parentfad4f47cc8b2b8f7e7d062c40c66188cdf783137 (diff)
downloadblackbird-op-linux-60ce8f7260d9ae4ff17548f5a275edfbc200187a.tar.gz
blackbird-op-linux-60ce8f7260d9ae4ff17548f5a275edfbc200187a.zip
powerpc32, ftrace: dynamic function graph tracer
This patch gets function graph tracing working with dynamic function tracer on PowerPC32. Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/powerpc/kernel/entry_32.S8
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index f50b1c41a699..e46995a21685 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -111,7 +111,7 @@ config PPC
select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_DYNAMIC_FTRACE
select HAVE_FUNCTION_TRACER
- select HAVE_FUNCTION_GRAPH_TRACER if PPC64 || !DYNAMIC_FTRACE
+ select HAVE_FUNCTION_GRAPH_TRACER
select ARCH_WANT_OPTIONAL_GPIOLIB
select HAVE_IDE
select HAVE_IOREMAP_PROT
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 12247b937d25..0506f54b4237 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -1183,7 +1183,12 @@ _GLOBAL(ftrace_caller)
ftrace_call:
bl ftrace_stub
nop
-
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
+.globl ftrace_graph_call
+ftrace_graph_call:
+ b ftrace_graph_stub
+_GLOBAL(ftrace_graph_stub)
+#endif
MCOUNT_RESTORE_FRAME
/* old link register ends up in ctr reg */
bctr
@@ -1205,7 +1210,6 @@ _GLOBAL(_mcount)
b ftrace_graph_caller
#endif
MCOUNT_RESTORE_FRAME
-
bctr
#endif
OpenPOWER on IntegriCloud