[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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.