trace.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM powerpc
  3. #if !defined(_TRACE_POWERPC_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_POWERPC_H
  5. #include <linux/tracepoint.h>
  6. struct pt_regs;
  7. TRACE_EVENT(irq_entry,
  8. TP_PROTO(struct pt_regs *regs),
  9. TP_ARGS(regs),
  10. TP_STRUCT__entry(
  11. __field(struct pt_regs *, regs)
  12. ),
  13. TP_fast_assign(
  14. __entry->regs = regs;
  15. ),
  16. TP_printk("pt_regs=%p", __entry->regs)
  17. );
  18. TRACE_EVENT(irq_exit,
  19. TP_PROTO(struct pt_regs *regs),
  20. TP_ARGS(regs),
  21. TP_STRUCT__entry(
  22. __field(struct pt_regs *, regs)
  23. ),
  24. TP_fast_assign(
  25. __entry->regs = regs;
  26. ),
  27. TP_printk("pt_regs=%p", __entry->regs)
  28. );
  29. TRACE_EVENT(timer_interrupt_entry,
  30. TP_PROTO(struct pt_regs *regs),
  31. TP_ARGS(regs),
  32. TP_STRUCT__entry(
  33. __field(struct pt_regs *, regs)
  34. ),
  35. TP_fast_assign(
  36. __entry->regs = regs;
  37. ),
  38. TP_printk("pt_regs=%p", __entry->regs)
  39. );
  40. TRACE_EVENT(timer_interrupt_exit,
  41. TP_PROTO(struct pt_regs *regs),
  42. TP_ARGS(regs),
  43. TP_STRUCT__entry(
  44. __field(struct pt_regs *, regs)
  45. ),
  46. TP_fast_assign(
  47. __entry->regs = regs;
  48. ),
  49. TP_printk("pt_regs=%p", __entry->regs)
  50. );
  51. #ifdef CONFIG_PPC_PSERIES
  52. extern void hcall_tracepoint_regfunc(void);
  53. extern void hcall_tracepoint_unregfunc(void);
  54. TRACE_EVENT_FN(hcall_entry,
  55. TP_PROTO(unsigned long opcode, unsigned long *args),
  56. TP_ARGS(opcode, args),
  57. TP_STRUCT__entry(
  58. __field(unsigned long, opcode)
  59. ),
  60. TP_fast_assign(
  61. __entry->opcode = opcode;
  62. ),
  63. TP_printk("opcode=%lu", __entry->opcode),
  64. hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
  65. );
  66. TRACE_EVENT_FN(hcall_exit,
  67. TP_PROTO(unsigned long opcode, unsigned long retval,
  68. unsigned long *retbuf),
  69. TP_ARGS(opcode, retval, retbuf),
  70. TP_STRUCT__entry(
  71. __field(unsigned long, opcode)
  72. __field(unsigned long, retval)
  73. ),
  74. TP_fast_assign(
  75. __entry->opcode = opcode;
  76. __entry->retval = retval;
  77. ),
  78. TP_printk("opcode=%lu retval=%lu", __entry->opcode, __entry->retval),
  79. hcall_tracepoint_regfunc, hcall_tracepoint_unregfunc
  80. );
  81. #endif
  82. #endif /* _TRACE_POWERPC_H */
  83. #undef TRACE_INCLUDE_PATH
  84. #undef TRACE_INCLUDE_FILE
  85. #define TRACE_INCLUDE_PATH asm
  86. #define TRACE_INCLUDE_FILE trace
  87. #include <trace/define_trace.h>