1 #ifndef _ASM_S390_FTRACE_H 2 #define _ASM_S390_FTRACE_H 3 4 #ifndef __ASSEMBLY__ 5 6 extern void _mcount(void); 7 extern unsigned long ftrace_dyn_func; 8 9 struct dyn_arch_ftrace { }; 10 11 #define MCOUNT_ADDR ((long)_mcount) 12 13 #ifdef CONFIG_64BIT 14 #define MCOUNT_OFFSET_RET 18 15 #define MCOUNT_INSN_SIZE 24 16 #define MCOUNT_OFFSET 14 17 #else 18 #define MCOUNT_OFFSET_RET 26 19 #define MCOUNT_INSN_SIZE 30 20 #define MCOUNT_OFFSET 8 21 #endif 22 23 static inline unsigned long ftrace_call_adjust(unsigned long addr) 24 { 25 return addr - MCOUNT_OFFSET; 26 } 27 28 #endif /* __ASSEMBLY__ */ 29 #endif /* _ASM_S390_FTRACE_H */ 30