Xen中各个超级调用在源文件中的位置
来源:互联网 发布:青山软件教学视频 编辑:程序博客网 时间:2024/06/07 15:21
xen中的超级调用在文件xen.h(xen/include/public/xen.h)定义,按照超级调用号从低到高来排列
/* * HYPERCALLS */#define __HYPERVISOR_set_trap_table 0#define __HYPERVISOR_mmu_update 1#define __HYPERVISOR_set_gdt 2#define __HYPERVISOR_stack_switch 3#define __HYPERVISOR_set_callbacks 4#define __HYPERVISOR_fpu_taskswitch 5#define __HYPERVISOR_sched_op_compat 6 /* compat since 0x00030101 */#define __HYPERVISOR_platform_op 7#define __HYPERVISOR_set_debugreg 8#define __HYPERVISOR_get_debugreg 9#define __HYPERVISOR_update_descriptor 10#define __HYPERVISOR_memory_op 12#define __HYPERVISOR_multicall 13#define __HYPERVISOR_update_va_mapping 14#define __HYPERVISOR_set_timer_op 15#define __HYPERVISOR_event_channel_op_compat 16 /* compat since 0x00030202 */#define __HYPERVISOR_xen_version 17#define __HYPERVISOR_console_io 18#define __HYPERVISOR_physdev_op_compat 19 /* compat since 0x00030202 */#define __HYPERVISOR_grant_table_op 20#define __HYPERVISOR_vm_assist 21#define __HYPERVISOR_update_va_mapping_otherdomain 22#define __HYPERVISOR_iret 23 /* x86 only */#define __HYPERVISOR_vcpu_op 24#define __HYPERVISOR_set_segment_base 25 /* x86/64 only */#define __HYPERVISOR_mmuext_op 26#define __HYPERVISOR_xsm_op 27#define __HYPERVISOR_nmi_op 28#define __HYPERVISOR_sched_op 29#define __HYPERVISOR_callback_op 30#define __HYPERVISOR_xenoprof_op 31#define __HYPERVISOR_event_channel_op 32#define __HYPERVISOR_physdev_op 33#define __HYPERVISOR_hvm_op 34#define __HYPERVISOR_sysctl 35#define __HYPERVISOR_domctl 36#define __HYPERVISOR_kexec_op 37#define __HYPERVISOR_tmem_op 38
具体实现位置:
#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, unsignedint 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(intset)
#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, unsignedint 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, unsignedint 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)
- Xen中各个超级调用在源文件中的位置
- xen的超级调用
- android中各个部件驱动在源码中的位置
- Xen超级调用详细实现
- Xcode 中放置图片的位置,Images.xcassets 和直接放在源文件目录中的区别
- Xcode 中放置图片的位置,Images.xcassets 和直接放在源文件目录中的区别
- 如何定位OOPS信息在源文件中的位置
- Xen设计的理念--超级调用
- Xen 超级调用 和 事件通道
- 大神教你在Xen下快速添加自定义hypercallt超级调用
- 把源文件夹中的文件名称写入目的文件夹指定后缀的各个文件中
- 如何在c语言中源文件调用另一个源文件的函数
- 如何在c语言中源文件调用另一个源文件的函数
- Xen虚拟化技术详解---第四章----申请超级调用
- 定义和声明的区别,它们在头文件、源文件中的位置,extern的用法
- 各个系统中hosts位置
- 用户态调用Xen超级调用与Linux内核系统调用
- 在源文件中搜收特定函数在哪个文件中被定义及被哪些文件调用
- 待机阶段之自我反省
- 运输公司对用户计算运费
- oracle 数据库 触发器 trigger 语法
- DLL中导出函数的两种方式
- Linux下VPNClient的路由配置
- Xen中各个超级调用在源文件中的位置
- discuz删除用户时提示“dnt_photocomments”错误
- 在ashx页面获取Session值
- C# winform post 请求指定 url
- memcached的基础
- e500核 上电启动及uboot流程
- 喜欢的歌、静静地听。喜欢的人、远远的看
- yahoo雅虎网站的优化原则
- hive文件存储格式