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 CALLER_ADDR ((long)(ftrace_caller)) 15 #define STUB_ADDR ((long)(ftrace_stub)) 16 17 #define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALLER_ADDR) >> 1) 18 19 struct dyn_arch_ftrace { 20 /* No extra data needed on sh */ 21 }; 22 23 #endif /* CONFIG_DYNAMIC_FTRACE */ 24 25 static inline unsigned long ftrace_call_adjust(unsigned long addr) 26 { 27 /* 'addr' is the memory table address. */ 28 return addr; 29 } 30 31 #endif /* __ASSEMBLY__ */ 32 #endif /* CONFIG_FUNCTION_TRACER */ 33 34 #endif /* __ASM_SH_FTRACE_H */ 35