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 */ 25