ftrace.h 897 B

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