1 #ifndef _ASM_X86_FTRACE_H
2 #define _ASM_X86_FTRACE_H
6 .macro MCOUNT_SAVE_FRAME
18 .macro MCOUNT_RESTORE_FRAME
31 #ifdef CONFIG_FUNCTION_TRACER
32 #define MCOUNT_ADDR ((long)(mcount))
33 #define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */
36 extern void mcount(void);
38 static inline unsigned long ftrace_call_adjust(unsigned long addr
)
41 * call mcount is "e8 <4 byte offset>"
42 * The addr points to the 4 byte offset and the caller of this
43 * function wants the pointer to e8. Simply subtract one.
48 #ifdef CONFIG_DYNAMIC_FTRACE
50 struct dyn_arch_ftrace
{
51 /* No extra data needed for x86 */
54 #endif /* CONFIG_DYNAMIC_FTRACE */
55 #endif /* __ASSEMBLY__ */
56 #endif /* CONFIG_FUNCTION_TRACER */
58 #endif /* _ASM_X86_FTRACE_H */