aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/include
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2009-12-10 08:15:44 -0500
committerMichal Simek <monstr@monstr.eu>2009-12-14 02:44:01 -0500
commit7d241ff0567b9503d79ee775c40927d09b509f83 (patch)
tree8de1af72c5643416ee427edc7e9ff2170e0d73db /arch/microblaze/include
parent6d9e60ce30a1be35491c74df00aaa25d869f8a02 (diff)
microblaze: ftrace: Add dynamic trace support
With dynamic function tracer, by default, _mcount is defined as an "empty" function, it returns directly without any more action. When enabling it in user-space, it will jump to a real tracing function(ftrace_caller), and do the real job for us. Differ from the static function tracer, dynamic function tracer provides two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the tracing of some indicated kernel functions(set_ftrace_filter). In the kernel version, there is only one "_mcount" string for every kernel function, so, we just need to match this one in mcount_regex of scripts/recordmcount.pl. For more information please look at code and Documentation/trace folder. Steven ACK that scripts/recordmcount.pl part. Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/include')
-rw-r--r--arch/microblaze/include/asm/ftrace.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/microblaze/include/asm/ftrace.h b/arch/microblaze/include/asm/ftrace.h
index 22beec58c021..fd2fa2eca62f 100644
--- a/arch/microblaze/include/asm/ftrace.h
+++ b/arch/microblaze/include/asm/ftrace.h
@@ -11,5 +11,16 @@ extern void _mcount(void);
11extern void ftrace_call_graph(void); 11extern void ftrace_call_graph(void);
12#endif 12#endif
13 13
14#ifdef CONFIG_DYNAMIC_FTRACE
15/* reloction of mcount call site is the same as the address */
16static inline unsigned long ftrace_call_adjust(unsigned long addr)
17{
18 return addr;
19}
20
21struct dyn_arch_ftrace {
22};
23#endif /* CONFIG_DYNAMIC_FTRACE */
24
14#endif /* CONFIG_FUNCTION_TRACER */ 25#endif /* CONFIG_FUNCTION_TRACER */
15#endif /* _ASM_MICROBLAZE_FTRACE */ 26#endif /* _ASM_MICROBLAZE_FTRACE */