xref: /openbmc/linux/arch/csky/include/asm/ftrace.h (revision 89a3927a)
1230c77a5SGuo Ren /* SPDX-License-Identifier: GPL-2.0 */
2230c77a5SGuo Ren // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
3230c77a5SGuo Ren 
4230c77a5SGuo Ren #ifndef __ASM_CSKY_FTRACE_H
5230c77a5SGuo Ren #define __ASM_CSKY_FTRACE_H
6230c77a5SGuo Ren 
728bb030fSGuo Ren #define MCOUNT_INSN_SIZE	14
8d7950be1SGuo Ren 
9d7950be1SGuo Ren #define HAVE_FUNCTION_GRAPH_FP_TEST
10d7950be1SGuo Ren 
11d7950be1SGuo Ren #define HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
12230c77a5SGuo Ren 
1389a3927aSGuo Ren #define ARCH_SUPPORTS_FTRACE_OPS 1
1489a3927aSGuo Ren 
1528bb030fSGuo Ren #define MCOUNT_ADDR	((unsigned long)_mcount)
1628bb030fSGuo Ren 
1728bb030fSGuo Ren #ifndef __ASSEMBLY__
1828bb030fSGuo Ren 
1928bb030fSGuo Ren extern void _mcount(unsigned long);
2028bb030fSGuo Ren 
2128bb030fSGuo Ren extern void ftrace_graph_call(void);
2228bb030fSGuo Ren 
2328bb030fSGuo Ren static inline unsigned long ftrace_call_adjust(unsigned long addr)
2428bb030fSGuo Ren {
2528bb030fSGuo Ren 	return addr;
2628bb030fSGuo Ren }
2728bb030fSGuo Ren 
2828bb030fSGuo Ren struct dyn_arch_ftrace {
2928bb030fSGuo Ren };
3028bb030fSGuo Ren #endif /* !__ASSEMBLY__ */
31230c77a5SGuo Ren #endif /* __ASM_CSKY_FTRACE_H */
32