18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _ASM_PARISC_FTRACE_H
38c2ecf20Sopenharmony_ci#define _ASM_PARISC_FTRACE_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__
68c2ecf20Sopenharmony_ciextern void mcount(void);
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#define MCOUNT_ADDR		((unsigned long)mcount)
98c2ecf20Sopenharmony_ci#define MCOUNT_INSN_SIZE	4
108c2ecf20Sopenharmony_ci#define CC_USING_NOP_MCOUNT
118c2ecf20Sopenharmony_ci#define ARCH_SUPPORTS_FTRACE_OPS 1
128c2ecf20Sopenharmony_ciextern unsigned long sys_call_table[];
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciextern unsigned long return_address(unsigned int);
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#ifdef CONFIG_DYNAMIC_FTRACE
178c2ecf20Sopenharmony_ciextern void ftrace_caller(void);
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_cistruct dyn_arch_ftrace {
208c2ecf20Sopenharmony_ci};
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciunsigned long ftrace_call_adjust(unsigned long addr);
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci#endif
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define ftrace_return_address(n) return_address(n)
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#endif /* _ASM_PARISC_FTRACE_H */
31