1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2d75f054aSHelge Deller #ifndef _ASM_PARISC_FTRACE_H 3d75f054aSHelge Deller #define _ASM_PARISC_FTRACE_H 4d75f054aSHelge Deller 5d75f054aSHelge Deller #ifndef __ASSEMBLY__ 6d75f054aSHelge Deller extern void mcount(void); 7d75f054aSHelge Deller 86ca63662SSven Schnelle #define MCOUNT_ADDR ((unsigned long)mcount) 9366dd4eaSHelge Deller #define MCOUNT_INSN_SIZE 4 106ca63662SSven Schnelle #define CC_USING_NOP_MCOUNT 11d562aca3SSven Schnelle #define ARCH_SUPPORTS_FTRACE_OPS 1 12fc79168aSHelge Deller extern unsigned long sys_call_table[]; 13fc79168aSHelge Deller 1411e17809SHelge Deller extern unsigned long return_address(unsigned int); 15*2794f8ecSHelge Deller struct ftrace_regs; 16*2794f8ecSHelge Deller extern void ftrace_function_trampoline(unsigned long parent, 17*2794f8ecSHelge Deller unsigned long self_addr, unsigned long org_sp_gr3, 18*2794f8ecSHelge Deller struct ftrace_regs *fregs); 1911e17809SHelge Deller 206ca63662SSven Schnelle #ifdef CONFIG_DYNAMIC_FTRACE 216ca63662SSven Schnelle extern void ftrace_caller(void); 226ca63662SSven Schnelle 236ca63662SSven Schnelle struct dyn_arch_ftrace { 246ca63662SSven Schnelle }; 256ca63662SSven Schnelle 266ca63662SSven Schnelle unsigned long ftrace_call_adjust(unsigned long addr); 276ca63662SSven Schnelle 286ca63662SSven Schnelle #endif 296ca63662SSven Schnelle 30eed542d6SAKASHI Takahiro #define ftrace_return_address(n) return_address(n) 3111e17809SHelge Deller 32d75f054aSHelge Deller #endif /* __ASSEMBLY__ */ 33d75f054aSHelge Deller 34d75f054aSHelge Deller #endif /* _ASM_PARISC_FTRACE_H */ 35