Commit | Line | Data |
---|---|---|
4b4cf759 PM |
1 | #ifndef __ASM_SH_FTRACE_H |
2 | #define __ASM_SH_FTRACE_H | |
3 | ||
fad57feb MF |
4 | #ifdef CONFIG_FUNCTION_TRACER |
5 | ||
6 | #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ | |
c68e3206 | 7 | #define FTRACE_SYSCALL_MAX NR_syscalls |
fad57feb | 8 | |
4b4cf759 PM |
9 | #ifndef __ASSEMBLY__ |
10 | extern void mcount(void); | |
fad57feb MF |
11 | |
12 | #define MCOUNT_ADDR ((long)(mcount)) | |
13 | ||
14 | #ifdef CONFIG_DYNAMIC_FTRACE | |
ca0d1727 | 15 | #define CALL_ADDR ((long)(ftrace_call)) |
fad57feb | 16 | #define STUB_ADDR ((long)(ftrace_stub)) |
327933f5 MF |
17 | #define GRAPH_ADDR ((long)(ftrace_graph_call)) |
18 | #define CALLER_ADDR ((long)(ftrace_caller)) | |
fad57feb | 19 | |
ca0d1727 | 20 | #define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALL_ADDR) - 4) |
327933f5 | 21 | #define GRAPH_INSN_OFFSET ((CALLER_ADDR - GRAPH_ADDR) - 4) |
22f131aa PM |
22 | |
23 | struct dyn_arch_ftrace { | |
24 | /* No extra data needed on sh */ | |
25 | }; | |
26 | ||
27 | #endif /* CONFIG_DYNAMIC_FTRACE */ | |
fad57feb MF |
28 | |
29 | static inline unsigned long ftrace_call_adjust(unsigned long addr) | |
30 | { | |
31 | /* 'addr' is the memory table address. */ | |
32 | return addr; | |
33 | } | |
4b4cf759 | 34 | |
36c87199 PM |
35 | #endif /* __ASSEMBLY__ */ |
36 | #endif /* CONFIG_FUNCTION_TRACER */ | |
37 | ||
38 | #ifndef __ASSEMBLY__ | |
39 | ||
ac4fac8c PM |
40 | /* arch/sh/kernel/return_address.c */ |
41 | extern void *return_address(unsigned int); | |
d26cddbb | 42 | |
eed542d6 | 43 | #define ftrace_return_address(n) return_address(n) |
d26cddbb | 44 | |
22f131aa | 45 | #endif /* __ASSEMBLY__ */ |
fad57feb | 46 | |
4b4cf759 | 47 | #endif /* __ASM_SH_FTRACE_H */ |