1 #ifndef __ASM_SH_FTRACE_H 2 #define __ASM_SH_FTRACE_H 3 4 #ifdef CONFIG_FUNCTION_TRACER 5 6 #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ 7 8 #ifndef __ASSEMBLY__ 9 extern void mcount(void); 10 11 #define MCOUNT_ADDR ((long)(mcount)) 12 13 #ifdef CONFIG_DYNAMIC_FTRACE 14 #define CALL_ADDR ((long)(ftrace_call)) 15 #define STUB_ADDR ((long)(ftrace_stub)) 16 #define GRAPH_ADDR ((long)(ftrace_graph_call)) 17 #define CALLER_ADDR ((long)(ftrace_caller)) 18 19 #define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALL_ADDR) - 4) 20 #define GRAPH_INSN_OFFSET ((CALLER_ADDR - GRAPH_ADDR) - 4) 21 22 struct dyn_arch_ftrace { 23 /* No extra data needed on sh */ 24 }; 25 26 #endif /* CONFIG_DYNAMIC_FTRACE */ 27 28 static inline unsigned long ftrace_call_adjust(unsigned long addr) 29 { 30 /* 'addr' is the memory table address. */ 31 return addr; 32 } 33 34 #endif /* __ASSEMBLY__ */ 35 #endif /* CONFIG_FUNCTION_TRACER */ 36 37 #endif /* __ASM_SH_FTRACE_H */ 38