trace.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #if !defined(_TRACE_ARM64_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
  2. #define _TRACE_ARM64_KVM_H
  3. #include <linux/tracepoint.h>
  4. #undef TRACE_SYSTEM
  5. #define TRACE_SYSTEM kvm
  6. TRACE_EVENT(kvm_wfx_arm64,
  7. TP_PROTO(unsigned long vcpu_pc, bool is_wfe),
  8. TP_ARGS(vcpu_pc, is_wfe),
  9. TP_STRUCT__entry(
  10. __field(unsigned long, vcpu_pc)
  11. __field(bool, is_wfe)
  12. ),
  13. TP_fast_assign(
  14. __entry->vcpu_pc = vcpu_pc;
  15. __entry->is_wfe = is_wfe;
  16. ),
  17. TP_printk("guest executed wf%c at: 0x%08lx",
  18. __entry->is_wfe ? 'e' : 'i', __entry->vcpu_pc)
  19. );
  20. TRACE_EVENT(kvm_hvc_arm64,
  21. TP_PROTO(unsigned long vcpu_pc, unsigned long r0, unsigned long imm),
  22. TP_ARGS(vcpu_pc, r0, imm),
  23. TP_STRUCT__entry(
  24. __field(unsigned long, vcpu_pc)
  25. __field(unsigned long, r0)
  26. __field(unsigned long, imm)
  27. ),
  28. TP_fast_assign(
  29. __entry->vcpu_pc = vcpu_pc;
  30. __entry->r0 = r0;
  31. __entry->imm = imm;
  32. ),
  33. TP_printk("HVC at 0x%08lx (r0: 0x%08lx, imm: 0x%lx)",
  34. __entry->vcpu_pc, __entry->r0, __entry->imm)
  35. );
  36. #endif /* _TRACE_ARM64_KVM_H */
  37. #undef TRACE_INCLUDE_PATH
  38. #define TRACE_INCLUDE_PATH .
  39. #undef TRACE_INCLUDE_FILE
  40. #define TRACE_INCLUDE_FILE trace
  41. /* This part must be outside protection */
  42. #include <trace/define_trace.h>