| #include <linux/ftrace.h> |
| #include <xen/interface/xen.h> |
| |
| #define N(x) [__HYPERVISOR_##x] = "("#x")" |
| static const char *xen_hypercall_names[] = { |
| N(set_trap_table), |
| N(mmu_update), |
| N(set_gdt), |
| N(stack_switch), |
| N(set_callbacks), |
| N(fpu_taskswitch), |
| N(sched_op_compat), |
| N(dom0_op), |
| N(set_debugreg), |
| N(get_debugreg), |
| N(update_descriptor), |
| N(memory_op), |
| N(multicall), |
| N(update_va_mapping), |
| N(set_timer_op), |
| N(event_channel_op_compat), |
| N(xen_version), |
| N(console_io), |
| N(physdev_op_compat), |
| N(grant_table_op), |
| N(vm_assist), |
| N(update_va_mapping_otherdomain), |
| N(iret), |
| N(vcpu_op), |
| N(set_segment_base), |
| N(mmuext_op), |
| N(acm_op), |
| N(nmi_op), |
| N(sched_op), |
| N(callback_op), |
| N(xenoprof_op), |
| N(event_channel_op), |
| N(physdev_op), |
| N(hvm_op), |
| |
| /* Architecture-specific hypercall definitions. */ |
| N(arch_0), |
| N(arch_1), |
| N(arch_2), |
| N(arch_3), |
| N(arch_4), |
| N(arch_5), |
| N(arch_6), |
| N(arch_7), |
| }; |
| #undef N |
| |
| static const char *xen_hypercall_name(unsigned op) |
| { |
| if (op < ARRAY_SIZE(xen_hypercall_names) && xen_hypercall_names[op] != NULL) |
| return xen_hypercall_names[op]; |
| |
| return ""; |
| } |
| |
| #define CREATE_TRACE_POINTS |
| #include <trace/events/xen.h> |