Merge commit 'v2.6.28-rc2' into tracing/urgent
[linux-2.6.git] / arch / x86 / include / asm / ftrace.h
1 #ifndef _ASM_X86_FTRACE_H
2 #define _ASM_X86_FTRACE_H
3
4 #ifdef CONFIG_FUNCTION_TRACER
5 #define MCOUNT_ADDR             ((long)(mcount))
6 #define MCOUNT_INSN_SIZE        5 /* sizeof mcount call */
7
8 #ifndef __ASSEMBLY__
9 extern void mcount(void);
10
11 static inline unsigned long ftrace_call_adjust(unsigned long addr)
12 {
13         /*
14          * call mcount is "e8 <4 byte offset>"
15          * The addr points to the 4 byte offset and the caller of this
16          * function wants the pointer to e8. Simply subtract one.
17          */
18         return addr - 1;
19 }
20 #endif
21
22 #endif /* CONFIG_FUNCTION_TRACER */
23
24 #endif /* _ASM_X86_FTRACE_H */