按照超级调用号从低到高来排列
#define __HYPERVISOR_set_trap_table 0
- xen\arch\x86\traps.c
- long do_set_trap_table(XEN_GUEST_HANDLE(trap_info_t) traps)
#define __HYPERVISOR_mmu_update 1
- xen\arch\x86\mm.c
- int do_mmu_update(
- XEN_GUEST_HANDLE(mmu_update_t) ureqs,
- unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
- unsigned int foreigndom)
#define __HYPERVISOR_set_gdt 2
- xen\arch\x86\mm.c
- long do_set_gdt(XEN_GUEST_HANDLE(ulong) frame_list, unsigned int entries)
#define __HYPERVISOR_stack_switch 3
- xen\arch\x86\x86_64(x86_32)\mm.c
- long do_stack_switch(unsigned long ss, unsigned long esp)
#define __HYPERVISOR_set_callbacks 4
- xen\arch\x86\x86_64(x86_32)\traps.c
- long do_set_callbacks(unsigned long event_address,
- unsigned long failsafe_address,
- unsigned long syscall_address)
#define __HYPERVISOR_fpu_taskswitch 5
- xen\arch\arch\x86\traps.c
- long do_fpu_taskswitch(int set)
#define __HYPERVISOR_sched_op_compat 6 /* compat since 0x00030101 */
- xen\common\schedule.c
- long do_sched_op_compat(int cmd, unsigned long arg)
#define __HYPERVISOR_platform_op 7
- xen/arch/x86/platform_hypercall.c
- ret_t do_platform_op(XEN_GUEST_HANDLE(xen_platform_op_t) u_xenpf_op)
#define __HYPERVISOR_set_debugreg 8
- xen/arch/x86/traps.c
- long do_set_debugreg(int reg, unsigned long value)
#define __HYPERVISOR_get_debugreg 9
- xen\arch\x86\traps.c
- unsigned long do_get_debugreg(int reg)
#define __HYPERVISOR_update_descriptor 10
- xen\arch\x86\mm.c
- long do_update_descriptor(u64 pa, u64 desc)
#define __HYPERVISOR_memory_op 12
- xen\common\memory.c
- long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_multicall 13
- xen\common\multicall.c
- ret_t
- do_multicall(
- XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
#define __HYPERVISOR_update_va_mapping 14
- xen\arch\x86\mm.c
- int do_update_va_mapping(unsigned long va, u64 val64,
- unsigned long flags)
#define __HYPERVISOR_set_timer_op 15
- xen\common\schedule.c
- long do_set_timer_op(s_time_t timeout)
#define __HYPERVISOR_event_channel_op_compat 16 /* compat since 0x00030202 */
- xen\arch\x86\compat.c
- long do_event_channel_op_compat(XEN_GUEST_HANDLE(evtchn_op_t) uop)
#define __HYPERVISOR_xen_version 17
- tools\libxc\xc_private.h
- static inline int do_xen_version(int xc_handle, int cmd, void *dest)
#define __HYPERVISOR_console_io 18
- xen\drivers\char\console.c
- long do_console_io(int cmd, int count, XEN_GUEST_HANDLE(char) buffer)
#define __HYPERVISOR_physdev_op_compat 19 /* compat since 0x00030202 */
- xen\arch\x86\compat.c
- ret_t do_physdev_op_compat(XEN_GUEST_HANDLE(physdev_op_t) uop)
#define __HYPERVISOR_grant_table_op 20
- xen\common\grant_table.c
- long
- do_grant_table_op(
- unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
#define __HYPERVISOR_vm_assist 21
#define __HYPERVISOR_update_va_mapping_otherdomain 22
- xen\arch\x86\mm.c
- int do_update_va_mapping_otherdomain(unsigned long va, u64 val64,
- unsigned long flags, domid_t domid)
#define __HYPERVISOR_iret 23 /* x86 only */
- xen\arch\x86\x86_64(x86_32)\traps.c
- unsigned long do_iret(void)
#define __HYPERVISOR_vcpu_op 24
- xen\common\domain.c
- long do_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_set_segment_base 25 /* x86/64 only */
- xen\arch\x86\x86_64\mm.c
- long do_set_segment_base(unsigned int which, unsigned long base)
#define __HYPERVISOR_mmuext_op 26
- xen\arch\x86\mm.c
- int do_mmuext_op(
- XEN_GUEST_HANDLE(mmuext_op_t) uops,
- unsigned int count,
- XEN_GUEST_HANDLE(uint) pdone,
- unsigned int foreigndom)
#define __HYPERVISOR_acm_op 27
- xen\common\acm_ops.c
- long do_acm_op(int cmd, XEN_GUEST_HANDLE(void) arg)
- //该函数区分是否定义ACM_SECURITY宏分为两个函数,实现不同,声明相同
#define __HYPERVISOR_nmi_op 28
#define __HYPERVISOR_sched_op 29
- xen\common\schedule.c
- ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_callback_op 30
- xen\arch\x86\x86_64(x86_32)\traps.c
- long do_callback_op(int cmd, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_xenoprof_op 31
- xen\common\xenoprof.c
- int do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_event_channel_op 32
- xen\common\event_channel.c
- long do_event_channel_op(int cmd, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_physdev_op 33
- xen\arch\x86\physdev.c
- ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_hvm_op 34
- xen\arch\x86\hvm\hvm.c
- long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
#define __HYPERVISOR_sysctl 35
- tools\libxc\xc_private.h
- static inline int do_sysctl(int xc_handle, struct xen_sysctl *sysctl)
- xen\common\sysctl.c
- long do_sysctl(XEN_GUEST_HANDLE(xen_sysctl_t) u_sysctl)
#define __HYPERVISOR_domctl 36
- xen\common\domctl.c
- long do_domctl(XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
- tools\libxc\xc_private.h
- static inline int do_domctl(int xc_handle, struct xen_domctl *domctl)
#define __HYPERVISOR_kexec_op 37
- xen\common\kexec.c
- ret_t do_kexec_op(unsigned long op, XEN_GUEST_HANDLE(void) uarg)