xref: /openbmc/linux/arch/csky/include/asm/ftrace.h (revision 6607aa6f)
1230c77a5SGuo Ren /* SPDX-License-Identifier: GPL-2.0 */
2230c77a5SGuo Ren 
3230c77a5SGuo Ren #ifndef __ASM_CSKY_FTRACE_H
4230c77a5SGuo Ren #define __ASM_CSKY_FTRACE_H
5230c77a5SGuo Ren 
628bb030fSGuo Ren #define MCOUNT_INSN_SIZE	14
7d7950be1SGuo Ren 
8d7950be1SGuo Ren #define HAVE_FUNCTION_GRAPH_FP_TEST
9d7950be1SGuo Ren 
10d7950be1SGuo Ren #define HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
11230c77a5SGuo Ren 
1289a3927aSGuo Ren #define ARCH_SUPPORTS_FTRACE_OPS 1
1389a3927aSGuo Ren 
1428bb030fSGuo Ren #define MCOUNT_ADDR	((unsigned long)_mcount)
1528bb030fSGuo Ren 
1628bb030fSGuo Ren #ifndef __ASSEMBLY__
1728bb030fSGuo Ren 
1828bb030fSGuo Ren extern void _mcount(unsigned long);
1928bb030fSGuo Ren 
2028bb030fSGuo Ren extern void ftrace_graph_call(void);
2128bb030fSGuo Ren 
ftrace_call_adjust(unsigned long addr)2228bb030fSGuo Ren static inline unsigned long ftrace_call_adjust(unsigned long addr)
2328bb030fSGuo Ren {
2428bb030fSGuo Ren 	return addr;
2528bb030fSGuo Ren }
2628bb030fSGuo Ren 
2728bb030fSGuo Ren struct dyn_arch_ftrace {
2828bb030fSGuo Ren };
2928bb030fSGuo Ren #endif /* !__ASSEMBLY__ */
30230c77a5SGuo Ren #endif /* __ASM_CSKY_FTRACE_H */
31