[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [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-technology/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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |