1 #ifndef _ASM_PARISC_FTRACE_H 2 #define _ASM_PARISC_FTRACE_H 3 4 #ifndef __ASSEMBLY__ 5 extern void mcount(void); 6 7 /* 8 * Stack of return addresses for functions of a thread. 9 * Used in struct thread_info 10 */ 11 struct ftrace_ret_stack { 12 unsigned long ret; 13 unsigned long func; 14 unsigned long long calltime; 15 }; 16 17 /* 18 * Primary handler of a function return. 19 * It relays on ftrace_return_to_handler. 20 * Defined in entry.S 21 */ 22 extern void return_to_handler(void); 23 24 25 extern unsigned long return_address(unsigned int); 26 27 #define HAVE_ARCH_CALLER_ADDR 28 29 #define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0)) 30 #define CALLER_ADDR1 return_address(1) 31 #define CALLER_ADDR2 return_address(2) 32 #define CALLER_ADDR3 return_address(3) 33 #define CALLER_ADDR4 return_address(4) 34 #define CALLER_ADDR5 return_address(5) 35 #define CALLER_ADDR6 return_address(6) 36 37 #endif /* __ASSEMBLY__ */ 38 39 #endif /* _ASM_PARISC_FTRACE_H */ 40