[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 0/5] Add posted interrupt supporting
From: Yang Zhang <yang.z.zhang@xxxxxxxxx> The follwoing patches are adding the Posted Interrupt supporting to Xen: Posted Interrupt allows vAPIC interrupts to inject into guest directly without any vmexit. - When delivering a interrupt to guest, if target vcpu is running, update Posted-interrupt requests bitmap and send a notification event to the vcpu. Then the vcpu will handle this interrupt automatically, without any software involvemnt. - If target vcpu is not running or there already a notification event pending in the vcpu, do nothing. The interrupt will be handled by next vm entry Refer to Intel SDM vol3, 29.6 to get more information. Changes from v2 to v3: * Remove unused global vector POSTED_INTR_VECTOR. * Use bitmap to define pi_desc->pir. * Refine vmx_sync_pir_to_irr() to use bitmap related operations. * Minor adjustments according Jan's comments. Changes from v1 to v2: * Allocate posted interrupt vector dynamically. * Use vlapic_set_vector() to sync pir to irr. * Refine vlapic_set_irq() and call it to deliver virtual interrupt. * Rebase on top of Xen. Yang Zhang (5): VMX: Detect posted interrupt capability VMX: Turn on posted interrupt bit in vmcs VMX: Add posted interrupt supporting Call vlapic_set_irq() to delivery virtual interrupt VMX: Use posted interrupt to deliver virutal interrupt xen/arch/x86/hvm/vioapic.c | 3 +- xen/arch/x86/hvm/vlapic.c | 38 +++++++------------- xen/arch/x86/hvm/vmsi.c | 3 +- xen/arch/x86/hvm/vmx/vmcs.c | 20 ++++++++++- xen/arch/x86/hvm/vmx/vmx.c | 70 ++++++++++++++++++++++++++++++++++++ xen/include/asm-x86/bitops.h | 10 +++++ xen/include/asm-x86/hvm/hvm.h | 2 + xen/include/asm-x86/hvm/vlapic.h | 19 +++++++++- xen/include/asm-x86/hvm/vmx/vmcs.h | 14 +++++++ xen/include/asm-x86/hvm/vmx/vmx.h | 25 +++++++++++++ 10 files changed, 173 insertions(+), 31 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |