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