Xiaofeng Ling
2005-Sep-05 10:41 UTC
[Xen-devel] [PATCH][3/6]add callback irq in vmx_platform
Add a callback irq member in domain->arch.vmx_platform. This irq is used to inject event to vmx guest. Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com> Signed-off-by: Arun Sharma <arun.sharma@intel.com> diff -r 287d36b46fa3 xen/arch/x86/domain.c --- a/xen/arch/x86/domain.c Tue Aug 30 20:36:49 2005 +++ b/xen/arch/x86/domain.c Fri Sep 2 22:46:13 2005 @@ -266,6 +266,7 @@ v->arch.perdomain_ptes[FIRST_RESERVED_GDT_PAGE] l1e_from_page(virt_to_page(gdt_table), PAGE_HYPERVISOR); + v->domain->arch.vmx_platform.callback_irq = 0; v->arch.guest_vtable = __linear_l2_table; v->arch.shadow_vtable = __shadow_linear_l2_table; diff -r 287d36b46fa3 xen/include/public/xen.h --- a/xen/include/public/xen.h Tue Aug 30 20:36:49 2005 +++ b/xen/include/public/xen.h Fri Sep 2 22:46:13 2005 @@ -59,6 +60,7 @@ #define __HYPERVISOR_set_segment_base 25 /* x86/64 only */ #define __HYPERVISOR_mmuext_op 26 #define __HYPERVISOR_acm_op 27 +#define __HYPERVISOR_virtual_device_op 28 /* * VIRTUAL INTERRUPTS @@ -233,6 +235,14 @@ #define VMASST_TYPE_4gb_segments_notify 1 #define VMASST_TYPE_writable_pagetables 2 #define MAX_VMASST_TYPE 2 + +/* + * Commands to HYPERVISOR_virtual_device_op(). + */ + +#define SET_CALLBACK_IRQ 1 +#define SET_SHARE_PARAM_MAP 2 + #ifndef __ASSEMBLY__ @@ -319,6 +329,7 @@ u8 evtchn_upcall_pending; u8 evtchn_upcall_mask; u32 evtchn_pending_sel; + u16 callback_mask; #ifdef __ARCH_HAS_VCPU_INFO arch_vcpu_info_t arch; #endif diff -r 287d36b46fa3 xen/include/asm-x86/vmx_platform.h --- a/xen/include/asm-x86/vmx_platform.h Tue Aug 30 20:36:49 2005 +++ b/xen/include/asm-x86/vmx_platform.h Fri Sep 2 22:46:13 2005 @@ -83,6 +83,8 @@ struct vmx_virpit_t vmx_pit; struct vmx_handler_t vmx_handler; struct mi_per_cpu_info mpci; /* MMIO */ + unsigned int callback_irq; /* irq for para-driver*/ + }; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel