http://blog.csdn.net/xianfengdesign/archive/2007/05/22/1621649.aspxHyperCalls Mapping to code Xen 3.0.2Mapping of HyperCalls to code : Follwoing is the location of all hypercalls: The HyperCalls appear according to their order in xen.h. The hypercall table itself is in xen/arch/x86/x86_32/entry.S (ENTRY(hypercall_table)). HYPERVISOR_set_trap_table => do_set_trap_table() (file xen/arch/x86/traps.c) HYPERVISOR_mmu_update => do_mmu_update() (file xen/arch/x86/mm.c) HYPERVISOR_set_gdt => do_set_gdt() (file xen/arch/x86/mm.c) HYPERVISOR_stack_switch => do_stack_switch() (file xen/arch/x86/x86_32/mm.c) HYPERVISOR_set_callbacks => do_set_callbacks() (file xen/arch/x86/x86_32/traps.c) HYPERVISOR_fpu_taskswitch => do_fpu_taskswitch(int set) (file xen/arch/x86/traps.c) HYPERVISOR_sched_op_compat => do_sched_op_compat() (file xen/common/schedule.c) HYPERVISOR_dom0_op => do_dom0_op() (file xen/common/dom0_ops.c) HYPERVISOR_set_debugreg => do_set_debugreg() (file xen/arch/x86/traps.c) HYPERVISOR_get_debugreg => do_get_debugreg() (file xen/arch/x86/traps.c) HYPERVISOR_update_descriptor => do_update_descriptor() (file xen/arch/x86/mm.c) HYPERVISOR_memory_op => do_memory_op() (file xen/common/memory.c) HYPERVISOR_multicall => do_multicall() (file xen/common/multicall.c) HYPERVISOR_update_va_mapping => do_update_va_mapping() (file /xen/arch/x86/mm.c) HYPERVISOR_set_timer_op => do_set_timer_op() (file xen/common/schedule.c) HYPERVISOR_event_channel_op => do_event_channel_op() (file xen/common/event_channel.c) HYPERVISOR_xen_version => do_xen_version() (file xen/common/kernel.c) HYPERVISOR_console_io => do_console_io() (file xen/drivers/char/console.c) HYPERVISOR_physdev_op => do_physdev_op() (file xen/arch/x86/physdev.c) HYPERVISOR_grant_table_op => do_grant_table_op() (file xen/common/grant_table.c) HYPERVISOR_vm_assist => do_vm_assist() (file xen/common/kernel.c) HYPERVISOR_update_va_mapping_otherdomain =>
HYPERVISOR_iret => do_iret() (file xen/arch/x86/x86_32/traps.c) /* x86/32 only */ HYPERVISOR_vcpu_op => do_vcpu_op() (file xen/common/domain.c) HYPERVISOR_set_segment_base => do_set_segment_base (file xen/arch/x86/x86_64/mm.c) /* x86/64 only */ HYPERVISOR_mmuext_op => do_mmuext_op() (file xen/arch/x86/mm.c) HYPERVISOR_acm_op => do_acm_op() (file xen/common/acm_ops.c) HYPERVISOR_nmi_op => do_nmi_op() (file xen/common/kernel.c) HYPERVISOR_sched_op => do_sched_op() (file xen/common/schedule.c) (Note: sometimes hypercalls are also called hcalls.) |
- [linuxkernelnewbies] Xen Intro- version 1.0 - Xianfeng Design -... Peter Teoh
- [linuxkernelnewbies] Xen Intro- version 1.0 - Xianfeng Des... Peter Teoh
- [linuxkernelnewbies] Xen Intro- version 1.0 - Xianfeng Des... Peter Teoh
