63 lines
1.1 KiB
C
63 lines
1.1 KiB
C
#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>
|