trace.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include <linux/ftrace.h>
  2. #define N(x) [__HYPERVISOR_##x] = "("#x")"
  3. static const char *xen_hypercall_names[] = {
  4. N(set_trap_table),
  5. N(mmu_update),
  6. N(set_gdt),
  7. N(stack_switch),
  8. N(set_callbacks),
  9. N(fpu_taskswitch),
  10. N(sched_op_compat),
  11. N(dom0_op),
  12. N(set_debugreg),
  13. N(get_debugreg),
  14. N(update_descriptor),
  15. N(memory_op),
  16. N(multicall),
  17. N(update_va_mapping),
  18. N(set_timer_op),
  19. N(event_channel_op_compat),
  20. N(xen_version),
  21. N(console_io),
  22. N(physdev_op_compat),
  23. N(grant_table_op),
  24. N(vm_assist),
  25. N(update_va_mapping_otherdomain),
  26. N(iret),
  27. N(vcpu_op),
  28. N(set_segment_base),
  29. N(mmuext_op),
  30. N(acm_op),
  31. N(nmi_op),
  32. N(sched_op),
  33. N(callback_op),
  34. N(xenoprof_op),
  35. N(event_channel_op),
  36. N(physdev_op),
  37. N(hvm_op),
  38. /* Architecture-specific hypercall definitions. */
  39. N(arch_0),
  40. N(arch_1),
  41. N(arch_2),
  42. N(arch_3),
  43. N(arch_4),
  44. N(arch_5),
  45. N(arch_6),
  46. N(arch_7),
  47. };
  48. #undef N
  49. static const char *xen_hypercall_name(unsigned op)
  50. {
  51. if (op < ARRAY_SIZE(xen_hypercall_names) && xen_hypercall_names[op] != NULL)
  52. return xen_hypercall_names[op];
  53. return "";
  54. }
  55. #define CREATE_TRACE_POINTS
  56. #include <trace/events/xen.h>