diff options
Diffstat (limited to 'arch/s390/include/asm/ftrace.h')
-rw-r--r-- | arch/s390/include/asm/ftrace.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/s390/include/asm/ftrace.h b/arch/s390/include/asm/ftrace.h index 5a5bc75e19d..96c14a9102b 100644 --- a/arch/s390/include/asm/ftrace.h +++ b/arch/s390/include/asm/ftrace.h | |||
@@ -2,7 +2,28 @@ | |||
2 | #define _ASM_S390_FTRACE_H | 2 | #define _ASM_S390_FTRACE_H |
3 | 3 | ||
4 | #ifndef __ASSEMBLY__ | 4 | #ifndef __ASSEMBLY__ |
5 | |||
5 | extern void _mcount(void); | 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 | ||
6 | #endif | 21 | #endif |
7 | 22 | ||
23 | static inline unsigned long ftrace_call_adjust(unsigned long addr) | ||
24 | { | ||
25 | return addr - MCOUNT_OFFSET; | ||
26 | } | ||
27 | |||
28 | #endif /* __ASSEMBLY__ */ | ||
8 | #endif /* _ASM_S390_FTRACE_H */ | 29 | #endif /* _ASM_S390_FTRACE_H */ |