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
23 struct dyn_arch_ftrace
{
24 /* No extra data needed for x86 */
27 #endif /* CONFIG_DYNAMIC_FTRACE */
28 #endif /* __ASSEMBLY__ */
29 #endif /* CONFIG_FUNCTION_TRACER */
31 #ifdef CONFIG_FUNCTION_RET_TRACER
36 * Stack of return addresses for functions
38 * Used in struct thread_info
40 struct ftrace_ret_stack
{
43 unsigned long long calltime
;
47 * Primary handler of a function return.
48 * It relays on ftrace_return_to_handler.
49 * Defined in entry32.S
51 extern void return_to_handler(void);
53 #endif /* __ASSEMBLY__ */
54 #endif /* CONFIG_FUNCTION_RET_TRACER */
56 #endif /* _ASM_X86_FTRACE_H */
This page took 0.03192 seconds and 6 git commands to generate.