xref: /openbmc/linux/arch/csky/include/asm/ftrace.h (revision 28bb030f)
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 
1328bb030fSGuo Ren #define MCOUNT_ADDR	((unsigned long)_mcount)
1428bb030fSGuo Ren 
1528bb030fSGuo Ren #ifndef __ASSEMBLY__
1628bb030fSGuo Ren 
1728bb030fSGuo Ren extern void _mcount(unsigned long);
1828bb030fSGuo Ren 
1928bb030fSGuo Ren extern void ftrace_graph_call(void);
2028bb030fSGuo Ren 
2128bb030fSGuo Ren static inline unsigned long ftrace_call_adjust(unsigned long addr)
2228bb030fSGuo Ren {
2328bb030fSGuo Ren 	return addr;
2428bb030fSGuo Ren }
2528bb030fSGuo Ren 
2628bb030fSGuo Ren struct dyn_arch_ftrace {
2728bb030fSGuo Ren };
2828bb030fSGuo Ren #endif /* !__ASSEMBLY__ */
29230c77a5SGuo Ren #endif /* __ASM_CSKY_FTRACE_H */
30