kvm_hypevents.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ARM64_KVM_HYPEVENTS_H_
  3. #define __ARM64_KVM_HYPEVENTS_H_
  4. #ifdef __KVM_NVHE_HYPERVISOR__
  5. #include <nvhe/trace.h>
  6. #endif
  7. /*
  8. * Hypervisor events definitions.
  9. */
  10. HYP_EVENT(hyp_enter,
  11. HE_PROTO(void),
  12. HE_STRUCT(
  13. ),
  14. HE_ASSIGN(
  15. ),
  16. HE_PRINTK(" ")
  17. );
  18. HYP_EVENT(hyp_exit,
  19. HE_PROTO(void),
  20. HE_STRUCT(
  21. ),
  22. HE_ASSIGN(
  23. ),
  24. HE_PRINTK(" ")
  25. );
  26. HYP_EVENT(host_hcall,
  27. HE_PROTO(unsigned int id, u8 invalid),
  28. HE_STRUCT(
  29. he_field(unsigned int, id)
  30. he_field(u8, invalid)
  31. ),
  32. HE_ASSIGN(
  33. __entry->id = id;
  34. __entry->invalid = invalid;
  35. ),
  36. HE_PRINTK("id=%u invalid=%u",
  37. __entry->id, __entry->invalid)
  38. );
  39. HYP_EVENT(host_smc,
  40. HE_PROTO(u64 id, u8 forwarded),
  41. HE_STRUCT(
  42. he_field(u64, id)
  43. he_field(u8, forwarded)
  44. ),
  45. HE_ASSIGN(
  46. __entry->id = id;
  47. __entry->forwarded = forwarded;
  48. ),
  49. HE_PRINTK("id=%llu forwarded=%u",
  50. __entry->id, __entry->forwarded)
  51. );
  52. HYP_EVENT(host_mem_abort,
  53. HE_PROTO(u64 esr, u64 addr),
  54. HE_STRUCT(
  55. he_field(u64, esr)
  56. he_field(u64, addr)
  57. ),
  58. HE_ASSIGN(
  59. __entry->esr = esr;
  60. __entry->addr = addr;
  61. ),
  62. HE_PRINTK("esr=0x%llx addr=0x%llx",
  63. __entry->esr, __entry->addr)
  64. );
  65. #endif