All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tiejun Chen <tiejun.chen@intel.com>
To: pbonzini@redhat.com, anthony.perard@citrix.com,
	stefano.stabellini@eu.citrix.com, mst@redhat.com,
	Kelly.Zytaruk@amd.com
Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com,
	allen.m.kay@intel.com, qemu-devel@nongnu.org,
	anthony@codemonkey.ws, yang.z.zhang@intel.com
Subject: [Qemu-devel] [v5][PATCH 5/5] xen, gfx passthrough: add opregion mapping
Date: Wed, 25 Jun 2014 10:17:21 +0800	[thread overview]
Message-ID: <1403662641-28526-6-git-send-email-tiejun.chen@intel.com> (raw)
In-Reply-To: <1403662641-28526-1-git-send-email-tiejun.chen@intel.com>

The OpRegion shouldn't be mapped 1:1 because the address in the host
can't be used in the guest directly.

This patch traps read and write access to the opregion of the Intel
GPU config space (offset 0xfc).

The original patch is from Jean Guyader <jean.guyader@eu.citrix.com>

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
Cc: Jean Guyader <jean.guyader@eu.citrix.com>
---
v5:

* Nothing is changed.

v4:

* Nothing is changed.

v3:

* Fix some typos.
* Add more comments to make that readable.
* To unmap igd_opregion when call xen_pt_unregister_vga_regions().
* Improve some return paths.
* We need to map 3 pages for opregion as hvmloader set. 
* Force to convert igd_guest/host_opoegion as an unsigned long type
  while calling xc_domain_memory_mapping().

v2:

* We should return zero as an invalid address value while calling
  igd_read_opregion().

 hw/xen/xen_pt.h             |  4 ++-
 hw/xen/xen_pt_config_init.c | 50 ++++++++++++++++++++++++++++++++++-
 hw/xen/xen_pt_graphics.c    | 64 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index 507165c..25147cf 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -63,7 +63,7 @@ typedef int (*xen_pt_conf_byte_read)
 #define XEN_PT_BAR_UNMAPPED (-1)
 
 #define PCI_CAP_MAX 48
-
+#define PCI_INTEL_OPREGION 0xfc
 
 typedef enum {
     XEN_PT_GRP_TYPE_HARDWIRED = 0,  /* 0 Hardwired reg group */
@@ -306,5 +306,7 @@ int pci_create_pch(PCIBus *bus);
 void igd_pci_write(PCIDevice *pci_dev, uint32_t config_addr,
                    uint32_t val, int len);
 uint32_t igd_pci_read(PCIDevice *pci_dev, uint32_t config_addr, int len);
+uint32_t igd_read_opregion(XenPCIPassthroughState *s);
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
 
 #endif /* !XEN_PT_H */
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index de9a20f..6eaaa9a 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -575,6 +575,22 @@ static int xen_pt_exp_rom_bar_reg_write(XenPCIPassthroughState *s,
     return 0;
 }
 
+static int xen_pt_intel_opregion_read(XenPCIPassthroughState *s,
+                                      XenPTReg *cfg_entry,
+                                      uint32_t *value, uint32_t valid_mask)
+{
+    *value = igd_read_opregion(s);
+    return 0;
+}
+
+static int xen_pt_intel_opregion_write(XenPCIPassthroughState *s,
+                                       XenPTReg *cfg_entry, uint32_t *value,
+                                       uint32_t dev_value, uint32_t valid_mask)
+{
+    igd_write_opregion(s, *value);
+    return 0;
+}
+
 /* Header Type0 reg static information table */
 static XenPTRegInfo xen_pt_emu_reg_header0[] = {
     /* Vendor ID reg */
@@ -1440,6 +1456,20 @@ static XenPTRegInfo xen_pt_emu_reg_msix[] = {
     },
 };
 
+static XenPTRegInfo xen_pt_emu_reg_igd_opregion[] = {
+    /* Intel IGFX OpRegion reg */
+    {
+        .offset     = 0x0,
+        .size       = 4,
+        .init_val   = 0,
+        .no_wb      = 1,
+        .u.dw.read   = xen_pt_intel_opregion_read,
+        .u.dw.write  = xen_pt_intel_opregion_write,
+    },
+    {
+        .size = 0,
+    },
+};
 
 /****************************
  * Capabilities
@@ -1677,6 +1707,14 @@ static const XenPTRegGroupInfo xen_pt_emu_reg_grps[] = {
         .size_init   = xen_pt_msix_size_init,
         .emu_regs = xen_pt_emu_reg_msix,
     },
+    /* Intel IGD Opregion group */
+    {
+        .grp_id      = PCI_INTEL_OPREGION,
+        .grp_type    = XEN_PT_GRP_TYPE_EMU,
+        .grp_size    = 0x4,
+        .size_init   = xen_pt_reg_grp_size_init,
+        .emu_regs    = xen_pt_emu_reg_igd_opregion,
+    },
     {
         .grp_size = 0,
     },
@@ -1806,7 +1844,8 @@ int xen_pt_config_init(XenPCIPassthroughState *s)
         uint32_t reg_grp_offset = 0;
         XenPTRegGroup *reg_grp_entry = NULL;
 
-        if (xen_pt_emu_reg_grps[i].grp_id != 0xFF) {
+        if (xen_pt_emu_reg_grps[i].grp_id != 0xFF
+            && xen_pt_emu_reg_grps[i].grp_id != PCI_INTEL_OPREGION) {
             if (xen_pt_hide_dev_cap(&s->real_device,
                                     xen_pt_emu_reg_grps[i].grp_id)) {
                 continue;
@@ -1819,6 +1858,15 @@ int xen_pt_config_init(XenPCIPassthroughState *s)
             }
         }
 
+        /*
+         * By default we will trap up to 0x40 in the cfg space.
+         * If an intel device is pass through we need to trap 0xfc,
+         * therefore the size should be 0xff.
+         */
+        if (xen_pt_emu_reg_grps[i].grp_id == PCI_INTEL_OPREGION) {
+            reg_grp_offset = PCI_INTEL_OPREGION;
+        }
+
         reg_grp_entry = g_new0(XenPTRegGroup, 1);
         QLIST_INIT(&reg_grp_entry->reg_tbl_list);
         QLIST_INSERT_HEAD(&s->reg_grps, reg_grp_entry, entries);
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index f3fbfed..fa341ad 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -6,6 +6,9 @@
 #include "hw/xen/xen_backend.h"
 #include "hw/pci/pci_bus.h"
 
+static unsigned long igd_guest_opregion;
+static unsigned long igd_host_opregion;
+
 static int is_vga_passthrough(XenHostPCIDevice *dev)
 {
     return (xen_has_gfx_passthru
@@ -88,6 +91,7 @@ int xen_pt_register_vga_regions(XenHostPCIDevice *dev)
 int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev)
 {
     int i = 0;
+    int ret = 0;
 
     if (!is_vga_passthrough(dev)) {
         return 0;
@@ -114,6 +118,17 @@ int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev)
         }
     }
 
+    if (igd_guest_opregion) {
+        ret = xc_domain_memory_mapping(xen_xc, xen_domid,
+                (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT),
+                (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                3,
+                DPCI_REMOVE_MAPPING);
+        if (ret) {
+            return ret;
+        }
+    }
+
     return 0;
 }
 
@@ -447,3 +462,52 @@ err_out:
     XEN_PT_ERR(pci_dev, "Can't get pci_dev_host_bridge\n");
     return -1;
 }
+
+uint32_t igd_read_opregion(XenPCIPassthroughState *s)
+{
+    uint32_t val = 0;
+
+    if (igd_guest_opregion == 0) {
+        return val;
+    }
+
+    val = igd_guest_opregion;
+
+    XEN_PT_LOG(&s->dev, "Read opregion val=%x\n", val);
+    return val;
+}
+
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val)
+{
+    int ret;
+
+    if (igd_guest_opregion) {
+        XEN_PT_LOG(&s->dev, "opregion register already been set, ignoring %x\n",
+                   val);
+        return;
+    }
+
+    xen_host_pci_get_block(&s->real_device, PCI_INTEL_OPREGION,
+            (uint8_t *)&igd_host_opregion, 4);
+    igd_guest_opregion = (unsigned long)(val & ~0xfff)
+                            | (igd_host_opregion & 0xfff);
+
+    ret = xc_domain_memory_mapping(xen_xc, xen_domid,
+            (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT),
+            (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+            3,
+            DPCI_ADD_MAPPING);
+
+    if (ret) {
+        XEN_PT_ERR(&s->dev, "[%d]:Can't map IGD host opregion:0x%lx to"
+                    " guest opregion:0x%lx.\n", ret,
+                    (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                    (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT));
+        igd_guest_opregion = 0;
+        return;
+    }
+
+    XEN_PT_LOG(&s->dev, "Map OpRegion: 0x%lx -> 0x%lx\n",
+                    (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                    (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT));
+}
-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: Tiejun Chen <tiejun.chen@intel.com>
To: pbonzini@redhat.com, anthony.perard@citrix.com,
	stefano.stabellini@eu.citrix.com, mst@redhat.com,
	Kelly.Zytaruk@amd.com
Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com,
	allen.m.kay@intel.com, qemu-devel@nongnu.org,
	anthony@codemonkey.ws, yang.z.zhang@intel.com
Subject: [v5][PATCH 5/5] xen, gfx passthrough: add opregion mapping
Date: Wed, 25 Jun 2014 10:17:21 +0800	[thread overview]
Message-ID: <1403662641-28526-6-git-send-email-tiejun.chen@intel.com> (raw)
In-Reply-To: <1403662641-28526-1-git-send-email-tiejun.chen@intel.com>

The OpRegion shouldn't be mapped 1:1 because the address in the host
can't be used in the guest directly.

This patch traps read and write access to the opregion of the Intel
GPU config space (offset 0xfc).

The original patch is from Jean Guyader <jean.guyader@eu.citrix.com>

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
Cc: Jean Guyader <jean.guyader@eu.citrix.com>
---
v5:

* Nothing is changed.

v4:

* Nothing is changed.

v3:

* Fix some typos.
* Add more comments to make that readable.
* To unmap igd_opregion when call xen_pt_unregister_vga_regions().
* Improve some return paths.
* We need to map 3 pages for opregion as hvmloader set. 
* Force to convert igd_guest/host_opoegion as an unsigned long type
  while calling xc_domain_memory_mapping().

v2:

* We should return zero as an invalid address value while calling
  igd_read_opregion().

 hw/xen/xen_pt.h             |  4 ++-
 hw/xen/xen_pt_config_init.c | 50 ++++++++++++++++++++++++++++++++++-
 hw/xen/xen_pt_graphics.c    | 64 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index 507165c..25147cf 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -63,7 +63,7 @@ typedef int (*xen_pt_conf_byte_read)
 #define XEN_PT_BAR_UNMAPPED (-1)
 
 #define PCI_CAP_MAX 48
-
+#define PCI_INTEL_OPREGION 0xfc
 
 typedef enum {
     XEN_PT_GRP_TYPE_HARDWIRED = 0,  /* 0 Hardwired reg group */
@@ -306,5 +306,7 @@ int pci_create_pch(PCIBus *bus);
 void igd_pci_write(PCIDevice *pci_dev, uint32_t config_addr,
                    uint32_t val, int len);
 uint32_t igd_pci_read(PCIDevice *pci_dev, uint32_t config_addr, int len);
+uint32_t igd_read_opregion(XenPCIPassthroughState *s);
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
 
 #endif /* !XEN_PT_H */
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index de9a20f..6eaaa9a 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -575,6 +575,22 @@ static int xen_pt_exp_rom_bar_reg_write(XenPCIPassthroughState *s,
     return 0;
 }
 
+static int xen_pt_intel_opregion_read(XenPCIPassthroughState *s,
+                                      XenPTReg *cfg_entry,
+                                      uint32_t *value, uint32_t valid_mask)
+{
+    *value = igd_read_opregion(s);
+    return 0;
+}
+
+static int xen_pt_intel_opregion_write(XenPCIPassthroughState *s,
+                                       XenPTReg *cfg_entry, uint32_t *value,
+                                       uint32_t dev_value, uint32_t valid_mask)
+{
+    igd_write_opregion(s, *value);
+    return 0;
+}
+
 /* Header Type0 reg static information table */
 static XenPTRegInfo xen_pt_emu_reg_header0[] = {
     /* Vendor ID reg */
@@ -1440,6 +1456,20 @@ static XenPTRegInfo xen_pt_emu_reg_msix[] = {
     },
 };
 
+static XenPTRegInfo xen_pt_emu_reg_igd_opregion[] = {
+    /* Intel IGFX OpRegion reg */
+    {
+        .offset     = 0x0,
+        .size       = 4,
+        .init_val   = 0,
+        .no_wb      = 1,
+        .u.dw.read   = xen_pt_intel_opregion_read,
+        .u.dw.write  = xen_pt_intel_opregion_write,
+    },
+    {
+        .size = 0,
+    },
+};
 
 /****************************
  * Capabilities
@@ -1677,6 +1707,14 @@ static const XenPTRegGroupInfo xen_pt_emu_reg_grps[] = {
         .size_init   = xen_pt_msix_size_init,
         .emu_regs = xen_pt_emu_reg_msix,
     },
+    /* Intel IGD Opregion group */
+    {
+        .grp_id      = PCI_INTEL_OPREGION,
+        .grp_type    = XEN_PT_GRP_TYPE_EMU,
+        .grp_size    = 0x4,
+        .size_init   = xen_pt_reg_grp_size_init,
+        .emu_regs    = xen_pt_emu_reg_igd_opregion,
+    },
     {
         .grp_size = 0,
     },
@@ -1806,7 +1844,8 @@ int xen_pt_config_init(XenPCIPassthroughState *s)
         uint32_t reg_grp_offset = 0;
         XenPTRegGroup *reg_grp_entry = NULL;
 
-        if (xen_pt_emu_reg_grps[i].grp_id != 0xFF) {
+        if (xen_pt_emu_reg_grps[i].grp_id != 0xFF
+            && xen_pt_emu_reg_grps[i].grp_id != PCI_INTEL_OPREGION) {
             if (xen_pt_hide_dev_cap(&s->real_device,
                                     xen_pt_emu_reg_grps[i].grp_id)) {
                 continue;
@@ -1819,6 +1858,15 @@ int xen_pt_config_init(XenPCIPassthroughState *s)
             }
         }
 
+        /*
+         * By default we will trap up to 0x40 in the cfg space.
+         * If an intel device is pass through we need to trap 0xfc,
+         * therefore the size should be 0xff.
+         */
+        if (xen_pt_emu_reg_grps[i].grp_id == PCI_INTEL_OPREGION) {
+            reg_grp_offset = PCI_INTEL_OPREGION;
+        }
+
         reg_grp_entry = g_new0(XenPTRegGroup, 1);
         QLIST_INIT(&reg_grp_entry->reg_tbl_list);
         QLIST_INSERT_HEAD(&s->reg_grps, reg_grp_entry, entries);
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index f3fbfed..fa341ad 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -6,6 +6,9 @@
 #include "hw/xen/xen_backend.h"
 #include "hw/pci/pci_bus.h"
 
+static unsigned long igd_guest_opregion;
+static unsigned long igd_host_opregion;
+
 static int is_vga_passthrough(XenHostPCIDevice *dev)
 {
     return (xen_has_gfx_passthru
@@ -88,6 +91,7 @@ int xen_pt_register_vga_regions(XenHostPCIDevice *dev)
 int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev)
 {
     int i = 0;
+    int ret = 0;
 
     if (!is_vga_passthrough(dev)) {
         return 0;
@@ -114,6 +118,17 @@ int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev)
         }
     }
 
+    if (igd_guest_opregion) {
+        ret = xc_domain_memory_mapping(xen_xc, xen_domid,
+                (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT),
+                (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                3,
+                DPCI_REMOVE_MAPPING);
+        if (ret) {
+            return ret;
+        }
+    }
+
     return 0;
 }
 
@@ -447,3 +462,52 @@ err_out:
     XEN_PT_ERR(pci_dev, "Can't get pci_dev_host_bridge\n");
     return -1;
 }
+
+uint32_t igd_read_opregion(XenPCIPassthroughState *s)
+{
+    uint32_t val = 0;
+
+    if (igd_guest_opregion == 0) {
+        return val;
+    }
+
+    val = igd_guest_opregion;
+
+    XEN_PT_LOG(&s->dev, "Read opregion val=%x\n", val);
+    return val;
+}
+
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val)
+{
+    int ret;
+
+    if (igd_guest_opregion) {
+        XEN_PT_LOG(&s->dev, "opregion register already been set, ignoring %x\n",
+                   val);
+        return;
+    }
+
+    xen_host_pci_get_block(&s->real_device, PCI_INTEL_OPREGION,
+            (uint8_t *)&igd_host_opregion, 4);
+    igd_guest_opregion = (unsigned long)(val & ~0xfff)
+                            | (igd_host_opregion & 0xfff);
+
+    ret = xc_domain_memory_mapping(xen_xc, xen_domid,
+            (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT),
+            (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+            3,
+            DPCI_ADD_MAPPING);
+
+    if (ret) {
+        XEN_PT_ERR(&s->dev, "[%d]:Can't map IGD host opregion:0x%lx to"
+                    " guest opregion:0x%lx.\n", ret,
+                    (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                    (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT));
+        igd_guest_opregion = 0;
+        return;
+    }
+
+    XEN_PT_LOG(&s->dev, "Map OpRegion: 0x%lx -> 0x%lx\n",
+                    (unsigned long)(igd_host_opregion >> XC_PAGE_SHIFT),
+                    (unsigned long)(igd_guest_opregion >> XC_PAGE_SHIFT));
+}
-- 
1.9.1

  parent reply	other threads:[~2014-06-25  2:19 UTC|newest]

Thread overview: 338+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-25  2:17 [Qemu-devel] [v5][PATCH 0/5] xen: add Intel IGD passthrough support Tiejun Chen
2014-06-25  2:17 ` Tiejun Chen
2014-06-25  2:17 ` [Qemu-devel] [v5][PATCH 1/5] xen, gfx passthrough: basic graphics " Tiejun Chen
2014-06-25  2:17   ` Tiejun Chen
2014-06-25  6:21   ` [Qemu-devel] " Paolo Bonzini
2014-06-25  6:21     ` Paolo Bonzini
2014-06-25  7:48     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  7:48       ` Chen, Tiejun
2014-06-25  6:35   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  6:35     ` Michael S. Tsirkin
2014-06-25  9:06     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:06       ` Chen, Tiejun
2014-06-25  9:16       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:16         ` Michael S. Tsirkin
2014-06-25  2:17 ` [Qemu-devel] [v5][PATCH 2/5] xen, gfx passthrough: create pseudo intel isa bridge Tiejun Chen
2014-06-25  2:17   ` Tiejun Chen
2014-06-25  6:22   ` [Qemu-devel] " Paolo Bonzini
2014-06-25  6:22     ` Paolo Bonzini
2014-06-25  7:51     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  7:51       ` Chen, Tiejun
2014-06-25  6:45   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  6:45     ` Michael S. Tsirkin
2014-06-25  8:10     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  8:10       ` Chen, Tiejun
2014-06-25  8:28       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  8:28         ` Michael S. Tsirkin
2014-06-25  8:39         ` [Qemu-devel] " Chen, Tiejun
2014-06-25  8:39           ` Chen, Tiejun
2014-06-25  8:43           ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  8:43             ` Michael S. Tsirkin
2014-06-25  8:48             ` [Qemu-devel] " Chen, Tiejun
2014-06-25  8:48               ` Chen, Tiejun
2014-06-25  9:04               ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:04                 ` Michael S. Tsirkin
2014-06-25  9:14                 ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:14                   ` Chen, Tiejun
2014-06-25  9:21                   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:21                     ` Michael S. Tsirkin
2014-06-25  9:28                     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:28                       ` Chen, Tiejun
2014-06-25  9:44                       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:44                         ` Michael S. Tsirkin
2014-06-25  9:58                         ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:58                           ` Chen, Tiejun
2014-06-27  7:22                           ` [Qemu-devel] " Chen, Tiejun
2014-06-27  7:22                             ` Chen, Tiejun
2014-06-30 19:34                             ` [Qemu-devel] " Stefano Stabellini
2014-06-30 19:34                               ` Stefano Stabellini
2014-07-01  2:21                               ` [Qemu-devel] " Chen, Tiejun
2014-07-01  2:21                                 ` Chen, Tiejun
2014-07-01  5:47                               ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01  5:47                                 ` Michael S. Tsirkin
2014-07-01  9:50                                 ` [Qemu-devel] " Chen, Tiejun
2014-07-01  9:50                                   ` Chen, Tiejun
2014-07-01 12:34                                   ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 12:34                                     ` Michael S. Tsirkin
2014-07-01 16:51                                 ` [Qemu-devel] " Stefano Stabellini
2014-07-01 16:51                                   ` Stefano Stabellini
2014-06-25  2:17 ` [Qemu-devel] [v5][PATCH 3/5] xen, gfx passthrough: support Intel IGD passthrough with VT-D Tiejun Chen
2014-06-25  2:17   ` Tiejun Chen
2014-06-25  6:25   ` [Qemu-devel] " Paolo Bonzini
2014-06-25  6:25     ` Paolo Bonzini
2014-06-25  7:54     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  7:54       ` Chen, Tiejun
2014-06-25  7:04   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  7:04     ` Michael S. Tsirkin
2014-06-27  9:16     ` [Qemu-devel] " Chen, Tiejun
2014-06-27  9:16       ` Chen, Tiejun
2014-06-25 14:05   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 14:05     ` Michael S. Tsirkin
2014-06-26  5:34     ` [Qemu-devel] " Chen, Tiejun
2014-06-26  5:34       ` Chen, Tiejun
2014-06-26  6:04       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-26  6:04         ` Michael S. Tsirkin
2014-06-26  8:26         ` [Qemu-devel] " Chen, Tiejun
2014-06-26  8:26           ` Chen, Tiejun
2014-06-25  2:17 ` [Qemu-devel] [v5][PATCH 4/5] xen, gfx passthrough: create host bridge to passthrough Tiejun Chen
2014-06-25  2:17   ` Tiejun Chen
2014-06-25  6:24   ` [Qemu-devel] " Paolo Bonzini
2014-06-25  6:24     ` Paolo Bonzini
2014-06-27  8:34     ` [Qemu-devel] " Chen, Tiejun
2014-06-27  8:34       ` Chen, Tiejun
2014-06-27 11:26       ` [Qemu-devel] " Paolo Bonzini
2014-06-27 11:26         ` Paolo Bonzini
2014-06-29  7:56         ` [Qemu-devel] " Chen, Tiejun
2014-06-29  7:56           ` Chen, Tiejun
2014-06-29 12:14           ` [Qemu-devel] " Michael S. Tsirkin
2014-06-29 12:14             ` Michael S. Tsirkin
2014-06-30  2:52             ` [Qemu-devel] " Chen, Tiejun
2014-06-30  2:52               ` Chen, Tiejun
2014-06-30 19:42               ` [Qemu-devel] " Stefano Stabellini
2014-06-30 19:42                 ` Stefano Stabellini
2014-07-01  2:19                 ` [Qemu-devel] " Chen, Tiejun
2014-07-01  2:19                   ` Chen, Tiejun
2014-07-01 16:49                   ` [Qemu-devel] " Stefano Stabellini
2014-07-01 16:49                     ` Stefano Stabellini
2014-07-01 18:34                     ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 18:34                       ` Michael S. Tsirkin
2014-07-01 18:45                       ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 18:45                         ` Michael S. Tsirkin
2014-06-25  2:17 ` Tiejun Chen [this message]
2014-06-25  2:17   ` [v5][PATCH 5/5] xen, gfx passthrough: add opregion mapping Tiejun Chen
2014-06-25  7:13   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  7:13     ` Michael S. Tsirkin
2014-06-27  9:22     ` [Qemu-devel] " Chen, Tiejun
2014-06-27  9:22       ` Chen, Tiejun
2014-06-29 11:43       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-29 11:43         ` Michael S. Tsirkin
2014-06-30  0:57         ` [Qemu-devel] " Chen, Tiejun
2014-06-30  0:57           ` Chen, Tiejun
2014-06-25  6:19 ` [Qemu-devel] [v5][PATCH 0/5] xen: add Intel IGD passthrough support Paolo Bonzini
2014-06-25  6:19   ` Paolo Bonzini
2014-06-25  7:15   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  7:15     ` Michael S. Tsirkin
2014-06-25  7:56     ` [Qemu-devel] " Paolo Bonzini
2014-06-25  7:56       ` Paolo Bonzini
2014-06-25  7:35   ` [Qemu-devel] " Chen, Tiejun
2014-06-25  7:35     ` Chen, Tiejun
2014-06-25  7:40     ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  7:40       ` Michael S. Tsirkin
2014-06-25  7:44     ` [Qemu-devel] " Paolo Bonzini
2014-06-25  7:44       ` Paolo Bonzini
2014-06-25  8:31       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  8:31         ` Michael S. Tsirkin
2014-06-25  8:39         ` [Qemu-devel] " Paolo Bonzini
2014-06-25  8:39           ` Paolo Bonzini
2014-06-25  8:48           ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  8:48             ` Michael S. Tsirkin
2014-06-25  8:55             ` [Qemu-devel] " Chen, Tiejun
2014-06-25  8:55               ` Chen, Tiejun
2014-06-25  9:09               ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:09                 ` Michael S. Tsirkin
2014-06-25  9:21                 ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:21                   ` Chen, Tiejun
2014-06-25  9:31                   ` [Qemu-devel] " Paolo Bonzini
2014-06-25  9:31                     ` Paolo Bonzini
2014-06-25  9:50                     ` [Qemu-devel] " Chen, Tiejun
2014-06-25  9:50                       ` Chen, Tiejun
2014-06-25  9:54                       ` [Qemu-devel] " Paolo Bonzini
2014-06-25  9:54                         ` Paolo Bonzini
2014-06-25 10:00                         ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:00                           ` Michael S. Tsirkin
2014-06-26  9:18                         ` [Qemu-devel] " Chen, Tiejun
2014-06-26  9:18                           ` Chen, Tiejun
2014-06-26 10:03                           ` [Qemu-devel] " Paolo Bonzini
2014-06-26 10:03                             ` Paolo Bonzini
2014-06-26 11:26                             ` [Qemu-devel] " Michael S. Tsirkin
2014-06-26 11:26                               ` Michael S. Tsirkin
2014-06-26 11:30                               ` [Qemu-devel] " Paolo Bonzini
2014-06-26 11:30                                 ` Paolo Bonzini
2014-06-26 11:36                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-06-26 11:36                                   ` Michael S. Tsirkin
2014-06-26 13:30                                   ` [Qemu-devel] " Paolo Bonzini
2014-06-26 13:30                                     ` Paolo Bonzini
2014-06-26 15:40                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-06-26 15:40                                       ` Michael S. Tsirkin
2014-06-30  2:51                             ` [Qemu-devel] " Chen, Tiejun
2014-06-30  2:51                               ` Chen, Tiejun
2014-06-30  6:48                               ` [Qemu-devel] " Michael S. Tsirkin
2014-06-30  6:48                                 ` Michael S. Tsirkin
2014-06-30  7:24                                 ` [Qemu-devel] " Chen, Tiejun
2014-06-30  7:24                                   ` Chen, Tiejun
2014-06-30  9:05                                   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-30  9:05                                     ` Michael S. Tsirkin
2014-06-30  9:38                                     ` [Qemu-devel] " Chen, Tiejun
2014-06-30  9:38                                       ` Chen, Tiejun
2014-06-30  9:55                                       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-30  9:55                                         ` Michael S. Tsirkin
2014-06-30 10:20                                         ` [Qemu-devel] [Xen-devel] " Chen, Tiejun
2014-06-30 10:20                                           ` Chen, Tiejun
2014-06-30 11:18                                           ` [Qemu-devel] " Paolo Bonzini
2014-06-30 11:18                                             ` Paolo Bonzini
2014-06-30 11:31                                             ` [Qemu-devel] " Michael S. Tsirkin
2014-06-30 11:31                                               ` Michael S. Tsirkin
2014-06-30 11:28                                           ` [Qemu-devel] " Michael S. Tsirkin
2014-06-30 11:28                                             ` Michael S. Tsirkin
2014-07-01  2:40                                             ` [Qemu-devel] " Chen, Tiejun
2014-07-01  2:40                                               ` Chen, Tiejun
2014-07-01  9:12                                               ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01  9:12                                                 ` Michael S. Tsirkin
2014-07-01  9:46                                                 ` [Qemu-devel] " Chen, Tiejun
2014-07-01  9:46                                                   ` Chen, Tiejun
2014-07-01 12:33                                                   ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 12:33                                                     ` Michael S. Tsirkin
2014-07-02  0:59                                                     ` [Qemu-devel] " Chen, Tiejun
2014-07-02  0:59                                                       ` Chen, Tiejun
2014-07-02  6:22                                                       ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02  6:22                                                         ` Michael S. Tsirkin
2014-07-02  8:45                                                         ` [Qemu-devel] " Chen, Tiejun
2014-07-02  8:45                                                           ` Chen, Tiejun
2014-06-30 19:22                                     ` [Qemu-devel] " Stefano Stabellini
2014-06-30 19:22                                       ` Stefano Stabellini
2014-06-30 19:31                                       ` [Qemu-devel] [Xen-devel] " Ross Philipson
2014-06-30 19:31                                         ` Ross Philipson
2014-07-01  2:24                                         ` [Qemu-devel] " Chen, Tiejun
2014-07-01  2:24                                           ` Chen, Tiejun
2014-07-01  5:39                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01  5:39                                           ` Michael S. Tsirkin
2014-07-01 16:47                                           ` [Qemu-devel] " Stefano Stabellini
2014-07-01 16:47                                             ` Stefano Stabellini
2014-07-01 17:02                                             ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 17:02                                               ` Michael S. Tsirkin
2014-07-01 17:39                                               ` [Qemu-devel] " Ross Philipson
2014-07-01 17:39                                                 ` Ross Philipson
2014-07-01 18:06                                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 18:06                                                   ` Michael S. Tsirkin
2014-07-01 19:29                                                   ` [Qemu-devel] " Ross Philipson
2014-07-01 19:29                                                     ` Ross Philipson
2014-07-02  6:11                                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02  6:11                                                       ` Michael S. Tsirkin
2014-07-02  7:56                                                       ` [Qemu-devel] " Chen, Tiejun
2014-07-02  7:56                                                         ` Chen, Tiejun
2014-07-02 11:33                                                 ` [Qemu-devel] " Paolo Bonzini
2014-07-02 11:33                                                   ` Paolo Bonzini
2014-07-02 14:00                                                   ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-02 14:00                                                     ` Konrad Rzeszutek Wilk
2014-07-02 14:07                                                     ` [Qemu-devel] " Stefano Stabellini
2014-07-02 14:07                                                       ` Stefano Stabellini
2014-07-03  3:00                                                       ` [Qemu-devel] " Chen, Tiejun
2014-07-03  3:00                                                         ` Chen, Tiejun
2014-07-03 18:25                                                         ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-03 18:25                                                           ` Konrad Rzeszutek Wilk
2014-07-02 14:08                                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 14:08                                                       ` Michael S. Tsirkin
2014-07-02 16:05                                                       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-02 16:05                                                         ` Konrad Rzeszutek Wilk
2014-07-02 17:58                                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 17:58                                                           ` Michael S. Tsirkin
2014-07-02 14:50                                                     ` [Qemu-devel] ResettRe: " Paolo Bonzini
2014-07-02 14:50                                                       ` Paolo Bonzini
2014-07-02 15:12                                                       ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 15:12                                                         ` Michael S. Tsirkin
2014-07-02 19:33                                                         ` [Qemu-devel] " Alex Williamson
2014-07-02 19:33                                                           ` Alex Williamson
2014-07-02 16:23                                                       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-02 16:23                                                         ` Konrad Rzeszutek Wilk
2014-07-02 16:27                                                         ` [Qemu-devel] " Paolo Bonzini
2014-07-02 16:27                                                           ` Paolo Bonzini
2014-07-02 16:53                                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 16:53                                                           ` Michael S. Tsirkin
2014-07-03  7:32                                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-03  7:32                                                           ` Michael S. Tsirkin
2014-07-03 18:26                                                           ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-03 18:26                                                             ` Konrad Rzeszutek Wilk
2014-07-03 19:09                                                             ` [Qemu-devel] [Intel-gfx] " Jesse Barnes
2014-07-03 19:09                                                               ` Jesse Barnes
2014-07-03 20:27                                                               ` [Qemu-devel] [Intel-gfx] " Michael S. Tsirkin
2014-07-03 20:27                                                                 ` Michael S. Tsirkin
2014-07-16 14:20                                                                 ` [Qemu-devel] [Intel-gfx] " Konrad Rzeszutek Wilk
2014-07-16 14:20                                                                   ` Konrad Rzeszutek Wilk
2014-07-17  9:42                                                                   ` [Qemu-devel] [Intel-gfx] " Chen, Tiejun
2014-07-17  9:42                                                                     ` Chen, Tiejun
2014-07-17 17:37                                                                 ` [Qemu-devel] [Intel-gfx] " Kay, Allen M
2014-07-17 17:37                                                                   ` Kay, Allen M
2014-07-18 13:44                                                                   ` [Qemu-devel] [Intel-gfx] " Konrad Rzeszutek Wilk
2014-07-18 13:44                                                                     ` Konrad Rzeszutek Wilk
2014-07-19  0:27                                                                     ` [Qemu-devel] [Intel-gfx] " Kay, Allen M
2014-07-19  0:27                                                                       ` Kay, Allen M
2014-07-23 20:54                                                                       ` [Qemu-devel] [Intel-gfx] " Konrad Rzeszutek Wilk
2014-07-23 20:54                                                                         ` Konrad Rzeszutek Wilk
2014-07-24  1:44                                                                         ` [Qemu-devel] [Intel-gfx] " Chen, Tiejun
2014-07-24  1:44                                                                           ` Chen, Tiejun
2014-07-25 17:01                                                                           ` [Qemu-devel] [Intel-gfx] " Konrad Rzeszutek Wilk
2014-07-25 17:01                                                                             ` Konrad Rzeszutek Wilk
2014-07-29  6:59                                                                             ` [Qemu-devel] [Intel-gfx] " Chen, Tiejun
2014-07-29  6:59                                                                               ` Chen, Tiejun
2014-07-29  8:32                                                                               ` [Qemu-devel] [Intel-gfx] " Paolo Bonzini
2014-07-29  8:32                                                                                 ` Paolo Bonzini
2014-07-29  9:14                                                                                 ` [Qemu-devel] [Intel-gfx] " Chen, Tiejun
2014-07-29  9:14                                                                                   ` Chen, Tiejun
2014-07-04  6:28                                                               ` [Qemu-devel] " Paolo Bonzini
2014-07-04  6:28                                                                 ` Paolo Bonzini
2014-07-06  6:08                                                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-07-06  6:08                                                                   ` Michael S. Tsirkin
2014-07-02 15:15                                                   ` [Qemu-devel] " Ross Philipson
2014-07-02 15:15                                                     ` Ross Philipson
2014-07-02 15:27                                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 15:27                                                       ` Michael S. Tsirkin
2014-07-02 16:29                                                       ` [Qemu-devel] " Paolo Bonzini
2014-07-02 16:29                                                         ` Paolo Bonzini
2014-07-02 16:45                                                         ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-07-02 16:45                                                           ` Konrad Rzeszutek Wilk
2014-07-02 18:00                                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02 18:00                                                           ` Michael S. Tsirkin
2014-07-03  5:57                                                       ` [Qemu-devel] " Chen, Tiejun
2014-07-03  5:57                                                         ` Chen, Tiejun
2014-07-03  6:40                                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-07-03  6:40                                                           ` Michael S. Tsirkin
2014-07-01 18:20                                               ` [Qemu-devel] " Stefano Stabellini
2014-07-01 18:20                                                 ` Stefano Stabellini
2014-07-01 18:38                                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-07-01 18:38                                                   ` Michael S. Tsirkin
2014-07-02  1:37                                                 ` [Qemu-devel] " Chen, Tiejun
2014-07-02  1:37                                                   ` Chen, Tiejun
2014-07-02  6:09                                                   ` [Qemu-devel] " Michael S. Tsirkin
2014-07-02  6:09                                                     ` Michael S. Tsirkin
2014-07-02  7:51                                                     ` [Qemu-devel] " Chen, Tiejun
2014-07-02  7:51                                                       ` Chen, Tiejun
2014-06-25  9:55                       ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:55                         ` Michael S. Tsirkin
2014-06-25  9:59                         ` [Qemu-devel] " Paolo Bonzini
2014-06-25  9:59                           ` Paolo Bonzini
2014-06-25 10:06                           ` [Qemu-devel] " Chen, Tiejun
2014-06-25 10:06                             ` Chen, Tiejun
2014-06-25 10:21                             ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:21                               ` Michael S. Tsirkin
2014-06-25 10:28                               ` [Qemu-devel] " Chen, Tiejun
2014-06-25 10:28                                 ` Chen, Tiejun
2014-06-25 10:32                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:32                                   ` Michael S. Tsirkin
2014-06-25 10:37                                   ` [Qemu-devel] " Chen, Tiejun
2014-06-25 10:37                                     ` Chen, Tiejun
2014-06-25 10:55                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:55                                       ` Michael S. Tsirkin
2014-06-25 12:11                               ` [Qemu-devel] " Paolo Bonzini
2014-06-25 12:11                                 ` Paolo Bonzini
2014-06-25 13:47                                 ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 13:47                                   ` Michael S. Tsirkin
2014-06-25 13:53                                   ` [Qemu-devel] " Paolo Bonzini
2014-06-25 13:53                                     ` Paolo Bonzini
2014-06-25 14:10                                     ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 14:10                                       ` Michael S. Tsirkin
2014-06-25 14:16                                       ` [Qemu-devel] " Paolo Bonzini
2014-06-25 14:16                                         ` Paolo Bonzini
2014-06-25 14:26                                         ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 14:26                                           ` Michael S. Tsirkin
2014-06-25 10:09                           ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:09                             ` Michael S. Tsirkin
2014-06-25 10:14                             ` [Qemu-devel] " Paolo Bonzini
2014-06-25 10:14                               ` Paolo Bonzini
2014-06-25 10:15                             ` [Qemu-devel] " Chen, Tiejun
2014-06-25 10:15                               ` Chen, Tiejun
2014-06-25 10:28                               ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25 10:28                                 ` Michael S. Tsirkin
2014-06-25  9:43                   ` [Qemu-devel] " Michael S. Tsirkin
2014-06-25  9:43                     ` Michael S. Tsirkin
2014-07-08 10:45 ` [Qemu-devel] [Xen-devel] " Andrew Barnes
2014-07-08 10:45   ` Andrew Barnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1403662641-28526-6-git-send-email-tiejun.chen@intel.com \
    --to=tiejun.chen@intel.com \
    --cc=Kelly.Zytaruk@amd.com \
    --cc=allen.m.kay@intel.com \
    --cc=anthony.perard@citrix.com \
    --cc=anthony@codemonkey.ws \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    --cc=yang.z.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.