[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC v2 00/15] Add VT-d Posted-Interrupts support



Ping.. 

> -----Original Message-----
> From: Wu, Feng
> Sent: Friday, May 08, 2015 5:07 PM
> To: xen-devel@xxxxxxxxxxxxx
> Cc: keir@xxxxxxx; jbeulich@xxxxxxxx; andrew.cooper3@xxxxxxxxxx; Zhang,
> Yang Z; Tian, Kevin; george.dunlap@xxxxxxxxxxxxx; Wu, Feng
> Subject: [RFC v2 00/15] Add VT-d Posted-Interrupts support
> 
> VT-d Posted-Interrupts is an enhancement to CPU side Posted-Interrupt.
> With VT-d Posted-Interrupts enabled, external interrupts from
> direct-assigned devices can be delivered to guests without VMM
> intervention when guest is running in non-root mode.
> 
> You can find the VT-d Posted-Interrtups Spec. in the following URL:
> http://www.intel.com/content/www/us/en/intelligent-systems/intel-technolog
> y/vt-directed-io-spec.html
> 
> This patch set follow the following design:
> http://article.gmane.org/gmane.comp.emulators.xen.devel/236476
> 
> v1 -> v2
> 1. Add the design doc.
> 2. Coding style fix.
> 3. Add some comments for struct pi_desc.
> 4. Extend 'struct iremap_entry' to a more common format.
> 5. Delete the atomic helper functions for pi descriptor manipulation.
> 6. Add the new command line in docs/misc/xen-command-line.markdown.
> 7. Use macros to replace some magic numbers.
> 
> One open in "[RFC v2 07/15] vt-d: Add API to update IRTE when VT-d PI is used"
> How to update the IRTE for PI dynamically (in an atomic way)? I am trying
> to use cmpxchg16b and it is in progress, I will add this in the next version.
> 
> Feng Wu (15):
>   Vt-d Posted-intterrupt (PI) design
>   iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
>   vt-d: VT-d Posted-Interrupts feature detection
>   vmx: Extend struct pi_desc to support VT-d Posted-Interrupts
>   vmx: Initialize VT-d Posted-Interrupts Descriptor
>   vt-d: Extend struct iremap_entry to support VT-d Posted-Interrupts
>   vt-d: Add API to update IRTE when VT-d PI is used
>   Update IRTE according to guest interrupt config changes
>   Add a new per-vCPU tasklet to wakeup the blocked vCPU
>   vmx: Define two per-cpu variables
>   vmx: Add a global wake-up vector for VT-d Posted-Interrupts
>   vmx: Properly handle notification event when vCPU is running
>   Update Posted-Interrupts Descriptor during vCPU scheduling
>   Suppress posting interrupts when 'SN' is set
>   Add a command line parameter for VT-d posted-interrupts
> 
>  docs/misc/vtd-pi.txt                   | 332
> +++++++++++++++++++++++++++++++++
>  docs/misc/xen-command-line.markdown    |   9 +-
>  xen/arch/x86/hvm/vmx/vmcs.c            |   6 +
>  xen/arch/x86/hvm/vmx/vmx.c             | 236
> ++++++++++++++++++++++-
>  xen/common/domain.c                    |  11 ++
>  xen/common/schedule.c                  |   5 +
>  xen/drivers/passthrough/io.c           |  99 +++++++++-
>  xen/drivers/passthrough/iommu.c        |  17 +-
>  xen/drivers/passthrough/vtd/intremap.c | 188 ++++++++++++++-----
>  xen/drivers/passthrough/vtd/iommu.c    |  15 +-
>  xen/drivers/passthrough/vtd/iommu.h    |  31 ++-
>  xen/drivers/passthrough/vtd/utils.c    |  10 +-
>  xen/include/asm-x86/hvm/hvm.h          |   1 +
>  xen/include/asm-x86/hvm/vmx/vmcs.h     |  15 +-
>  xen/include/asm-x86/hvm/vmx/vmx.h      |  27 ++-
>  xen/include/asm-x86/iommu.h            |   2 +
>  xen/include/xen/iommu.h                |   2 +-
>  xen/include/xen/sched.h                |   7 +
>  18 files changed, 945 insertions(+), 68 deletions(-)
>  create mode 100644 docs/misc/vtd-pi.txt
> 
> --
> 2.1.0


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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