1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2a439fe51SSam Ravnborg #ifndef _ASM_SPARC64_FTRACE 3a439fe51SSam Ravnborg #define _ASM_SPARC64_FTRACE 4a439fe51SSam Ravnborg 5a439fe51SSam Ravnborg #ifdef CONFIG_MCOUNT 6c93bf928SMinfei Huang #define MCOUNT_ADDR ((unsigned long)(_mcount)) 7a439fe51SSam Ravnborg #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ 8a439fe51SSam Ravnborg 9a439fe51SSam Ravnborg #ifndef __ASSEMBLY__ 10f05a6865SSam Ravnborg void _mcount(void); 11a439fe51SSam Ravnborg #endif 12a439fe51SSam Ravnborg 13e4a744efSJosh Poimboeuf #endif /* CONFIG_MCOUNT */ 14e4a744efSJosh Poimboeuf 15e4a744efSJosh Poimboeuf #if defined(CONFIG_SPARC64) && !defined(CC_USE_FENTRY) 16e4a744efSJosh Poimboeuf #define HAVE_FUNCTION_GRAPH_FP_TEST 17a439fe51SSam Ravnborg #endif 18a439fe51SSam Ravnborg 199be12f9bSDavid S. Miller #ifdef CONFIG_DYNAMIC_FTRACE 20*f2cc020dSIngo Molnar /* relocation of mcount call site is the same as the address */ ftrace_call_adjust(unsigned long addr)219be12f9bSDavid S. Millerstatic inline unsigned long ftrace_call_adjust(unsigned long addr) 229be12f9bSDavid S. Miller { 239be12f9bSDavid S. Miller return addr; 249be12f9bSDavid S. Miller } 259be12f9bSDavid S. Miller 269be12f9bSDavid S. Miller struct dyn_arch_ftrace { 279be12f9bSDavid S. Miller }; 289be12f9bSDavid S. Miller #endif /* CONFIG_DYNAMIC_FTRACE */ 299be12f9bSDavid S. Miller 30b6abce1fSSam Ravnborg unsigned long prepare_ftrace_return(unsigned long parent, 31b6abce1fSSam Ravnborg unsigned long self_addr, 32b6abce1fSSam Ravnborg unsigned long frame_pointer); 33b6abce1fSSam Ravnborg 34a439fe51SSam Ravnborg #endif /* _ASM_SPARC64_FTRACE */ 35