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__
10void _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/* relocation of mcount call site is the same as the address */
21static inline unsigned long ftrace_call_adjust(unsigned long addr)
22{
23	return addr;
24}
25
26struct dyn_arch_ftrace {
27};
28#endif /*  CONFIG_DYNAMIC_FTRACE */
29
30unsigned long prepare_ftrace_return(unsigned long parent,
31				    unsigned long self_addr,
32				    unsigned long frame_pointer);
33
34#endif /* _ASM_SPARC64_FTRACE */
35