xref: /openbmc/linux/arch/s390/include/asm/ftrace.h (revision a09d2831)
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