diff options
author | Michal Simek <monstr@monstr.eu> | 2009-11-16 08:40:14 (GMT) |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-12-14 07:40:09 (GMT) |
commit | 2fd7c761a24c28e83d7194b4b4a099451126a503 (patch) | |
tree | c8647ae1bc4519649e35e46b231f3f2af77f9a76 /arch/microblaze/include/asm/ftrace.h | |
parent | a3cd613b2e775eb59816c2c7c49c038d54917208 (diff) | |
download | linux-2fd7c761a24c28e83d7194b4b4a099451126a503.tar.xz |
microblaze: ftrace: add static function tracer
If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to
_mcount will be inserted into each kernel function. so, there is a
possibility to trace the kernel functions in _mcount.
This patch add the specific _mcount support for static function
tracing. by default, ftrace_trace_function is initialized as
ftrace_stub(an empty function), so, the default _mcount will introduce
very little overhead. after enabling ftrace in user-space, it will jump
to a real tracing function and do static function tracing for us.
Commit message from Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/include/asm/ftrace.h')
-rw-r--r-- | arch/microblaze/include/asm/ftrace.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/microblaze/include/asm/ftrace.h b/arch/microblaze/include/asm/ftrace.h index 8b13789..22beec5 100644 --- a/arch/microblaze/include/asm/ftrace.h +++ b/arch/microblaze/include/asm/ftrace.h @@ -1 +1,15 @@ +#ifndef _ASM_MICROBLAZE_FTRACE +#define _ASM_MICROBLAZE_FTRACE +#ifdef CONFIG_FUNCTION_TRACER + +#define MCOUNT_ADDR ((long)(_mcount)) +#define MCOUNT_INSN_SIZE 8 /* sizeof mcount call */ + +#ifndef __ASSEMBLY__ +extern void _mcount(void); +extern void ftrace_call_graph(void); +#endif + +#endif /* CONFIG_FUNCTION_TRACER */ +#endif /* _ASM_MICROBLAZE_FTRACE */ |