xref: /linux/arch/microblaze/include/asm/ftrace.h (revision f2cc020d7876de7583feb52ec939a32419cf9468)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
22fd7c761SMichal Simek #ifndef _ASM_MICROBLAZE_FTRACE
32fd7c761SMichal Simek #define _ASM_MICROBLAZE_FTRACE
46c149fd7SMichal Simek 
52fd7c761SMichal Simek #ifdef CONFIG_FUNCTION_TRACER
62fd7c761SMichal Simek 
7c93bf928SMinfei Huang #define MCOUNT_ADDR		((unsigned long)(_mcount))
82fd7c761SMichal Simek #define MCOUNT_INSN_SIZE	8 /* sizeof mcount call */
92fd7c761SMichal Simek 
102fd7c761SMichal Simek #ifndef __ASSEMBLY__
112fd7c761SMichal Simek extern void _mcount(void);
122fd7c761SMichal Simek extern void ftrace_call_graph(void);
132fd7c761SMichal Simek #endif
142fd7c761SMichal Simek 
157d241ff0SMichal Simek #ifdef CONFIG_DYNAMIC_FTRACE
16*f2cc020dSIngo Molnar /* relocation of mcount call site is the same as the address */
177d241ff0SMichal Simek static inline unsigned long ftrace_call_adjust(unsigned long addr)
187d241ff0SMichal Simek {
197d241ff0SMichal Simek 	return addr;
207d241ff0SMichal Simek }
217d241ff0SMichal Simek 
227d241ff0SMichal Simek struct dyn_arch_ftrace {
237d241ff0SMichal Simek };
247d241ff0SMichal Simek #endif /* CONFIG_DYNAMIC_FTRACE */
257d241ff0SMichal Simek 
262fd7c761SMichal Simek #endif /* CONFIG_FUNCTION_TRACER */
272fd7c761SMichal Simek #endif /* _ASM_MICROBLAZE_FTRACE */
28