diff options
author | Matt Fleming <mjf@gentoo.org> | 2008-11-12 20:11:47 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-12-22 18:42:52 +0900 |
commit | fad57feba77d2e5b183e068cb6b90693e4567b40 (patch) | |
tree | 478788d5a05a30f638540d345e9d09c5733687da /arch/sh/include | |
parent | ef6aff6884408db95ceb0f678f583536e0bd48f8 (diff) | |
download | op-kernel-dev-fad57feba77d2e5b183e068cb6b90693e4567b40.zip op-kernel-dev-fad57feba77d2e5b183e068cb6b90693e4567b40.tar.gz |
sh: dynamic ftrace support.
First cut at dynamic ftrace support.
Signed-off-by: Matt Fleming <mjf@gentoo.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r-- | arch/sh/include/asm/ftrace.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/sh/include/asm/ftrace.h b/arch/sh/include/asm/ftrace.h index 3aed362..4cb5dbf 100644 --- a/arch/sh/include/asm/ftrace.h +++ b/arch/sh/include/asm/ftrace.h @@ -1,8 +1,29 @@ #ifndef __ASM_SH_FTRACE_H #define __ASM_SH_FTRACE_H +#ifdef CONFIG_FUNCTION_TRACER + +#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ + #ifndef __ASSEMBLY__ extern void mcount(void); + +#define MCOUNT_ADDR ((long)(mcount)) + +#ifdef CONFIG_DYNAMIC_FTRACE +#define CALLER_ADDR ((long)(ftrace_caller)) +#define STUB_ADDR ((long)(ftrace_stub)) + +#define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALLER_ADDR) >> 1) +#endif + +static inline unsigned long ftrace_call_adjust(unsigned long addr) +{ + /* 'addr' is the memory table address. */ + return addr; +} #endif +#endif /* CONFIG_FUNCTION_TRACER */ + #endif /* __ASM_SH_FTRACE_H */ |