Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / sparc / include / asm / ftrace.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_SPARC64_FTRACE
3 #define _ASM_SPARC64_FTRACE
4
5 #ifdef CONFIG_MCOUNT
6 #define MCOUNT_ADDR             ((unsigned long)(_mcount))
7 #define MCOUNT_INSN_SIZE        4 /* sizeof mcount call */
8
9 #ifndef __ASSEMBLY__
10 void _mcount(void);
11 #endif
12
13 #endif /* CONFIG_MCOUNT */
14
15 #if defined(CONFIG_SPARC64) && !defined(CC_USE_FENTRY)
16 #define HAVE_FUNCTION_GRAPH_FP_TEST
17 #endif
18
19 #ifdef CONFIG_DYNAMIC_FTRACE
20 /* reloction of mcount call site is the same as the address */
21 static inline unsigned long ftrace_call_adjust(unsigned long addr)
22 {
23         return addr;
24 }
25
26 struct dyn_arch_ftrace {
27 };
28 #endif /*  CONFIG_DYNAMIC_FTRACE */
29
30 unsigned long prepare_ftrace_return(unsigned long parent,
31                                     unsigned long self_addr,
32                                     unsigned long frame_pointer);
33
34 #endif /* _ASM_SPARC64_FTRACE */