| #ifndef _ASM_PARISC_FTRACE_H |
| #define _ASM_PARISC_FTRACE_H |
| |
| #ifndef __ASSEMBLY__ |
| extern void mcount(void); |
| |
| /* |
| * Stack of return addresses for functions of a thread. |
| * Used in struct thread_info |
| */ |
| struct ftrace_ret_stack { |
| unsigned long ret; |
| unsigned long func; |
| unsigned long long calltime; |
| }; |
| |
| /* |
| * Primary handler of a function return. |
| * It relays on ftrace_return_to_handler. |
| * Defined in entry.S |
| */ |
| extern void return_to_handler(void); |
| |
| |
| extern unsigned long return_address(unsigned int); |
| |
| #define HAVE_ARCH_CALLER_ADDR |
| |
| #define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0)) |
| #define CALLER_ADDR1 return_address(1) |
| #define CALLER_ADDR2 return_address(2) |
| #define CALLER_ADDR3 return_address(3) |
| #define CALLER_ADDR4 return_address(4) |
| #define CALLER_ADDR5 return_address(5) |
| #define CALLER_ADDR6 return_address(6) |
| |
| #endif /* __ASSEMBLY__ */ |
| |
| #endif /* _ASM_PARISC_FTRACE_H */ |