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 */
35 #ifdef CONFIG_DYNAMIC_FTRACE
36 #define ARCH_SUPPORTS_FTRACE_OPS 1
40 extern void mcount(void);
41 extern atomic_t modifying_ftrace_code;
43 static inline unsigned long ftrace_call_adjust(unsigned long addr)
46 * addr is the address of the mcount call instruction.
47 * recordmcount does the necessary offset calculation.
52 #ifdef CONFIG_DYNAMIC_FTRACE
54 struct dyn_arch_ftrace {
55 /* No extra data needed for x86 */
58 int ftrace_int3_handler(struct pt_regs *regs);
60 #endif /* CONFIG_DYNAMIC_FTRACE */
61 #endif /* __ASSEMBLY__ */
62 #endif /* CONFIG_FUNCTION_TRACER */
64 #endif /* _ASM_X86_FTRACE_H */