1 #ifndef _ASM_X86_FTRACE_H
2 #define _ASM_X86_FTRACE_H
4 #ifdef CONFIG_FUNCTION_TRACER
5 #define MCOUNT_ADDR ((long)(mcount))
6 #define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */
9 extern void mcount(void);
11 static inline unsigned long ftrace_call_adjust(unsigned long addr)
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.
21 #ifdef CONFIG_DYNAMIC_FTRACE
22 extern void ftrace_nmi_enter(void);
23 extern void ftrace_nmi_exit(void);
25 #define ftrace_nmi_enter() do { } while (0)
26 #define ftrace_nmi_exit() do { } while (0)
30 #else /* CONFIG_FUNCTION_TRACER */
33 #define ftrace_nmi_enter() do { } while (0)
34 #define ftrace_nmi_exit() do { } while (0)
37 #endif /* CONFIG_FUNCTION_TRACER */
39 #endif /* _ASM_X86_FTRACE_H */