All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-08-12  9:49 ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

v5:

* Simplify to make sure its really inherited from the standard one in patch #3
* Then drop the original patch #3

v4:

* Rebase on latest tree
* Drop patch #2
* Regenerate patches after Michael introduce patch #1
* We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
* Test: boot with a preinstalled winxp
  ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc

v3:

* Drop patch #4
* Add one patch #1 from Michael
* Rebase
* In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

v2:

* Fix some coding style
* New patch to separate i440fx_init
* Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
* Based on patch #2 to regenerate
* Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
* Test: boot with a preinstalled ubuntu 14.04
  ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

As we discussed we need to create a separate machine to support current
IGD passthrough.

----------------------------------------------------------------
Michael S. Tsirkin (1):
      i440fx: make types configurable at run-time

Tiejun Chen (3):
      pc_init1: pass parameters just with types
      xen:hw:pci-host:piix: create host bridge to passthrough
      xen:hw:i386:pc_piix: introduce new machine for IGD passthrough

 hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
 include/hw/i386/pc.h |  8 +++++++-
 3 files changed, 81 insertions(+), 11 deletions(-)

Thanks
Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-08-12  9:49 ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

v5:

* Simplify to make sure its really inherited from the standard one in patch #3
* Then drop the original patch #3

v4:

* Rebase on latest tree
* Drop patch #2
* Regenerate patches after Michael introduce patch #1
* We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
* Test: boot with a preinstalled winxp
  ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc

v3:

* Drop patch #4
* Add one patch #1 from Michael
* Rebase
* In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

v2:

* Fix some coding style
* New patch to separate i440fx_init
* Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
* Based on patch #2 to regenerate
* Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
* Test: boot with a preinstalled ubuntu 14.04
  ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

As we discussed we need to create a separate machine to support current
IGD passthrough.

----------------------------------------------------------------
Michael S. Tsirkin (1):
      i440fx: make types configurable at run-time

Tiejun Chen (3):
      pc_init1: pass parameters just with types
      xen:hw:pci-host:piix: create host bridge to passthrough
      xen:hw:i386:pc_piix: introduce new machine for IGD passthrough

 hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
 include/hw/i386/pc.h |  8 +++++++-
 3 files changed, 81 insertions(+), 11 deletions(-)

Thanks
Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Qemu-devel] [v5][PATCH 1/4] i440fx: make types configurable at run-time
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-12  9:49   ` Tiejun Chen
  -1 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

From: "Michael S. Tsirkin" <mst@redhat.com>

Xen wants to supply a different pci and host devices,
inheriting i440fx devices. Make types configurable.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c    | 4 +++-
 hw/pci-host/piix.c   | 9 ++++-----
 include/hw/i386/pc.h | 6 +++++-
 3 files changed, 12 insertions(+), 7 deletions(-)

v5:

* Nothing is changed.

v4:

* Just add From: Michael S. Tsirkin <mst@redhat.com>

v3:

* New patch from Michael

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 4f22be8..bf26550 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -201,7 +201,9 @@ static void pc_init1(MachineState *machine,
     }
 
     if (pci_enabled) {
-        pci_bus = i440fx_init(&i440fx_state, &piix3_devfn, &isa_bus, gsi,
+        pci_bus = i440fx_init(TYPE_I440FX_PCI_HOST_BRIDGE,
+                              TYPE_I440FX_PCI_DEVICE,
+                              &i440fx_state, &piix3_devfn, &isa_bus, gsi,
                               system_memory, system_io, machine->ram_size,
                               below_4g_mem_size,
                               above_4g_mem_size,
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index e0e0946..0cd82b8 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -40,7 +40,6 @@
  * http://download.intel.com/design/chipsets/datashts/29054901.pdf
  */
 
-#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
 #define I440FX_PCI_HOST_BRIDGE(obj) \
     OBJECT_CHECK(I440FXState, (obj), TYPE_I440FX_PCI_HOST_BRIDGE)
 
@@ -91,7 +90,6 @@ typedef struct PIIX3State {
     MemoryRegion rcr_mem;
 } PIIX3State;
 
-#define TYPE_I440FX_PCI_DEVICE "i440FX"
 #define I440FX_PCI_DEVICE(obj) \
     OBJECT_CHECK(PCII440FXState, (obj), TYPE_I440FX_PCI_DEVICE)
 
@@ -305,7 +303,8 @@ static int i440fx_initfn(PCIDevice *dev)
     return 0;
 }
 
-PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
+PCIBus *i440fx_init(const char *host_type, const char *pci_type,
+                    PCII440FXState **pi440fx_state,
                     int *piix3_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
                     MemoryRegion *address_space_mem,
@@ -325,7 +324,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
     unsigned i;
     I440FXState *i440fx;
 
-    dev = qdev_create(NULL, TYPE_I440FX_PCI_HOST_BRIDGE);
+    dev = qdev_create(NULL, host_type);
     s = PCI_HOST_BRIDGE(dev);
     b = pci_bus_new(dev, NULL, pci_address_space,
                     address_space_io, 0, TYPE_PCI_BUS);
@@ -333,7 +332,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
     object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev), NULL);
     qdev_init_nofail(dev);
 
-    d = pci_create_simple(b, 0, TYPE_I440FX_PCI_DEVICE);
+    d = pci_create_simple(b, 0, pci_type);
     *pi440fx_state = I440FX_PCI_DEVICE(d);
     f = *pi440fx_state;
     f->system_memory = address_space_mem;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 863eefb..11fb72f 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -235,7 +235,11 @@ extern int no_hpet;
 struct PCII440FXState;
 typedef struct PCII440FXState PCII440FXState;
 
-PCIBus *i440fx_init(PCII440FXState **pi440fx_state, int *piix_devfn,
+#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
+#define TYPE_I440FX_PCI_DEVICE "i440FX"
+
+PCIBus *i440fx_init(const char *host_type, const char *pci_type,
+                    PCII440FXState **pi440fx_state, int *piix_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
                     MemoryRegion *address_space_mem,
                     MemoryRegion *address_space_io,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [v5][PATCH 1/4] i440fx: make types configurable at run-time
@ 2014-08-12  9:49   ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

From: "Michael S. Tsirkin" <mst@redhat.com>

Xen wants to supply a different pci and host devices,
inheriting i440fx devices. Make types configurable.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c    | 4 +++-
 hw/pci-host/piix.c   | 9 ++++-----
 include/hw/i386/pc.h | 6 +++++-
 3 files changed, 12 insertions(+), 7 deletions(-)

v5:

* Nothing is changed.

v4:

* Just add From: Michael S. Tsirkin <mst@redhat.com>

v3:

* New patch from Michael

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 4f22be8..bf26550 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -201,7 +201,9 @@ static void pc_init1(MachineState *machine,
     }
 
     if (pci_enabled) {
-        pci_bus = i440fx_init(&i440fx_state, &piix3_devfn, &isa_bus, gsi,
+        pci_bus = i440fx_init(TYPE_I440FX_PCI_HOST_BRIDGE,
+                              TYPE_I440FX_PCI_DEVICE,
+                              &i440fx_state, &piix3_devfn, &isa_bus, gsi,
                               system_memory, system_io, machine->ram_size,
                               below_4g_mem_size,
                               above_4g_mem_size,
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index e0e0946..0cd82b8 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -40,7 +40,6 @@
  * http://download.intel.com/design/chipsets/datashts/29054901.pdf
  */
 
-#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
 #define I440FX_PCI_HOST_BRIDGE(obj) \
     OBJECT_CHECK(I440FXState, (obj), TYPE_I440FX_PCI_HOST_BRIDGE)
 
@@ -91,7 +90,6 @@ typedef struct PIIX3State {
     MemoryRegion rcr_mem;
 } PIIX3State;
 
-#define TYPE_I440FX_PCI_DEVICE "i440FX"
 #define I440FX_PCI_DEVICE(obj) \
     OBJECT_CHECK(PCII440FXState, (obj), TYPE_I440FX_PCI_DEVICE)
 
@@ -305,7 +303,8 @@ static int i440fx_initfn(PCIDevice *dev)
     return 0;
 }
 
-PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
+PCIBus *i440fx_init(const char *host_type, const char *pci_type,
+                    PCII440FXState **pi440fx_state,
                     int *piix3_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
                     MemoryRegion *address_space_mem,
@@ -325,7 +324,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
     unsigned i;
     I440FXState *i440fx;
 
-    dev = qdev_create(NULL, TYPE_I440FX_PCI_HOST_BRIDGE);
+    dev = qdev_create(NULL, host_type);
     s = PCI_HOST_BRIDGE(dev);
     b = pci_bus_new(dev, NULL, pci_address_space,
                     address_space_io, 0, TYPE_PCI_BUS);
@@ -333,7 +332,7 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state,
     object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev), NULL);
     qdev_init_nofail(dev);
 
-    d = pci_create_simple(b, 0, TYPE_I440FX_PCI_DEVICE);
+    d = pci_create_simple(b, 0, pci_type);
     *pi440fx_state = I440FX_PCI_DEVICE(d);
     f = *pi440fx_state;
     f->system_memory = address_space_mem;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 863eefb..11fb72f 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -235,7 +235,11 @@ extern int no_hpet;
 struct PCII440FXState;
 typedef struct PCII440FXState PCII440FXState;
 
-PCIBus *i440fx_init(PCII440FXState **pi440fx_state, int *piix_devfn,
+#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
+#define TYPE_I440FX_PCI_DEVICE "i440FX"
+
+PCIBus *i440fx_init(const char *host_type, const char *pci_type,
+                    PCII440FXState **pi440fx_state, int *piix_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
                     MemoryRegion *address_space_mem,
                     MemoryRegion *address_space_io,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Qemu-devel] [v5][PATCH 2/4] pc_init1: pass parameters just with types
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-12  9:49   ` Tiejun Chen
  -1 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Pass types to configure pc_init1().

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

v5:

* Nothing is changed.

v4:

* New patch to work for patch #1

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index bf26550..2bf8046 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -74,7 +74,9 @@ static bool has_reserved_memory = true;
 /* PC hardware initialisation */
 static void pc_init1(MachineState *machine,
                      int pci_enabled,
-                     int kvmclock_enabled)
+                     int kvmclock_enabled,
+                     const char *host_type,
+                     const char *pci_type)
 {
     PCMachineState *pc_machine = PC_MACHINE(machine);
     MemoryRegion *system_memory = get_system_memory();
@@ -201,8 +203,8 @@ static void pc_init1(MachineState *machine,
     }
 
     if (pci_enabled) {
-        pci_bus = i440fx_init(TYPE_I440FX_PCI_HOST_BRIDGE,
-                              TYPE_I440FX_PCI_DEVICE,
+        pci_bus = i440fx_init(host_type,
+                              pci_type,
                               &i440fx_state, &piix3_devfn, &isa_bus, gsi,
                               system_memory, system_io, machine->ram_size,
                               below_4g_mem_size,
@@ -303,7 +305,8 @@ static void pc_init1(MachineState *machine,
 
 static void pc_init_pci(MachineState *machine)
 {
-    pc_init1(machine, 1, 1);
+    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 static void pc_compat_2_0(MachineState *machine)
@@ -419,7 +422,8 @@ static void pc_init_pci_1_2(MachineState *machine)
 static void pc_init_pci_no_kvmclock(MachineState *machine)
 {
     pc_compat_1_2(machine);
-    pc_init1(machine, 1, 0);
+    pc_init1(machine, 1, 0, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 static void pc_init_isa(MachineState *machine)
@@ -437,7 +441,8 @@ static void pc_init_isa(MachineState *machine)
     }
     x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
     enable_compat_apic_id_mode();
-    pc_init1(machine, 0, 1);
+    pc_init1(machine, 0, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 #ifdef CONFIG_XEN
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [v5][PATCH 2/4] pc_init1: pass parameters just with types
@ 2014-08-12  9:49   ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Pass types to configure pc_init1().

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

v5:

* Nothing is changed.

v4:

* New patch to work for patch #1

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index bf26550..2bf8046 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -74,7 +74,9 @@ static bool has_reserved_memory = true;
 /* PC hardware initialisation */
 static void pc_init1(MachineState *machine,
                      int pci_enabled,
-                     int kvmclock_enabled)
+                     int kvmclock_enabled,
+                     const char *host_type,
+                     const char *pci_type)
 {
     PCMachineState *pc_machine = PC_MACHINE(machine);
     MemoryRegion *system_memory = get_system_memory();
@@ -201,8 +203,8 @@ static void pc_init1(MachineState *machine,
     }
 
     if (pci_enabled) {
-        pci_bus = i440fx_init(TYPE_I440FX_PCI_HOST_BRIDGE,
-                              TYPE_I440FX_PCI_DEVICE,
+        pci_bus = i440fx_init(host_type,
+                              pci_type,
                               &i440fx_state, &piix3_devfn, &isa_bus, gsi,
                               system_memory, system_io, machine->ram_size,
                               below_4g_mem_size,
@@ -303,7 +305,8 @@ static void pc_init1(MachineState *machine,
 
 static void pc_init_pci(MachineState *machine)
 {
-    pc_init1(machine, 1, 1);
+    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 static void pc_compat_2_0(MachineState *machine)
@@ -419,7 +422,8 @@ static void pc_init_pci_1_2(MachineState *machine)
 static void pc_init_pci_no_kvmclock(MachineState *machine)
 {
     pc_compat_1_2(machine);
-    pc_init1(machine, 1, 0);
+    pc_init1(machine, 1, 0, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 static void pc_init_isa(MachineState *machine)
@@ -437,7 +441,8 @@ static void pc_init_isa(MachineState *machine)
     }
     x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
     enable_compat_apic_id_mode();
-    pc_init1(machine, 0, 1);
+    pc_init1(machine, 0, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_I440FX_PCI_DEVICE);
 }
 
 #ifdef CONFIG_XEN
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Qemu-devel] [v5][PATCH 3/4] xen:hw:pci-host:piix: create host bridge to passthrough
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-12  9:49   ` Tiejun Chen
  -1 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Implement a pci host bridge specific to passthrough. Actually
this just inherits the standard one.

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/pci-host/piix.c   | 15 +++++++++++++++
 include/hw/i386/pc.h |  2 ++
 2 files changed, 17 insertions(+)

v5:

* Simplify to make sure its really inherited from the standard one

v4:

* Rebase

v3:

* Rebase

v2:

* Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 0cd82b8..dbf356a 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -703,6 +703,20 @@ static const TypeInfo i440fx_info = {
     .class_init    = i440fx_class_init,
 };
 
+static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->desc = "IGD PT XEN Host bridge";
+}
+
+static const TypeInfo xen_igd_passthrough_i440fx_info = {
+    .name          = TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE,
+    .parent        = TYPE_I440FX_PCI_DEVICE,
+    .instance_size = sizeof(PCII440FXState),
+    .class_init    = xen_igd_passthrough_i440fx_class_init,
+};
+
 static const char *i440fx_pcihost_root_bus_path(PCIHostState *host_bridge,
                                                 PCIBus *rootbus)
 {
@@ -744,6 +758,7 @@ static const TypeInfo i440fx_pcihost_info = {
 static void i440fx_register_types(void)
 {
     type_register_static(&i440fx_info);
+    type_register_static(&xen_igd_passthrough_i440fx_info);
     type_register_static(&piix3_info);
     type_register_static(&piix3_xen_info);
     type_register_static(&i440fx_pcihost_info);
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 11fb72f..de34aa6 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -238,6 +238,8 @@ typedef struct PCII440FXState PCII440FXState;
 #define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
 #define TYPE_I440FX_PCI_DEVICE "i440FX"
 
+#define TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "xen-igd-passthrough-i440FX"
+
 PCIBus *i440fx_init(const char *host_type, const char *pci_type,
                     PCII440FXState **pi440fx_state, int *piix_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [v5][PATCH 3/4] xen:hw:pci-host:piix: create host bridge to passthrough
@ 2014-08-12  9:49   ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Implement a pci host bridge specific to passthrough. Actually
this just inherits the standard one.

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/pci-host/piix.c   | 15 +++++++++++++++
 include/hw/i386/pc.h |  2 ++
 2 files changed, 17 insertions(+)

v5:

* Simplify to make sure its really inherited from the standard one

v4:

* Rebase

v3:

* Rebase

v2:

* Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 0cd82b8..dbf356a 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -703,6 +703,20 @@ static const TypeInfo i440fx_info = {
     .class_init    = i440fx_class_init,
 };
 
+static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->desc = "IGD PT XEN Host bridge";
+}
+
+static const TypeInfo xen_igd_passthrough_i440fx_info = {
+    .name          = TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE,
+    .parent        = TYPE_I440FX_PCI_DEVICE,
+    .instance_size = sizeof(PCII440FXState),
+    .class_init    = xen_igd_passthrough_i440fx_class_init,
+};
+
 static const char *i440fx_pcihost_root_bus_path(PCIHostState *host_bridge,
                                                 PCIBus *rootbus)
 {
@@ -744,6 +758,7 @@ static const TypeInfo i440fx_pcihost_info = {
 static void i440fx_register_types(void)
 {
     type_register_static(&i440fx_info);
+    type_register_static(&xen_igd_passthrough_i440fx_info);
     type_register_static(&piix3_info);
     type_register_static(&piix3_xen_info);
     type_register_static(&i440fx_pcihost_info);
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 11fb72f..de34aa6 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -238,6 +238,8 @@ typedef struct PCII440FXState PCII440FXState;
 #define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
 #define TYPE_I440FX_PCI_DEVICE "i440FX"
 
+#define TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "xen-igd-passthrough-i440FX"
+
 PCIBus *i440fx_init(const char *host_type, const char *pci_type,
                     PCII440FXState **pi440fx_state, int *piix_devfn,
                     ISABus **isa_bus, qemu_irq *pic,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-12  9:49   ` Tiejun Chen
  -1 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Now we can introduce a new machine, xenigd, specific to IGD
passthrough. This can avoid involving other common codes.

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

v5:

* Nothing is changed.

v4:

* Rebase

v3:

* Rebase

v2:

* Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 2bf8046..9d37f18 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
              TYPE_I440FX_PCI_DEVICE);
 }
 
+
+#ifdef CONFIG_XEN
+static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
+{
+    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
+}
+#endif
+
 static void pc_compat_2_0(MachineState *machine)
 {
     /* This value depends on the actual DSDT and SSDT compiled into
@@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
         pci_create_simple(bus, -1, "xen-platform");
     }
 }
+
+static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
+{
+    PCIBus *bus;
+
+    xen_igd_passthrough_pc_init_pci(machine);
+
+    bus = pci_find_primary_bus();
+    if (bus != NULL) {
+        pci_create_simple(bus, -1, "xen-platform");
+    }
+}
 #endif
 
 #define PC_I440FX_MACHINE_OPTIONS \
@@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
         { /* end of list */ }
     },
 };
+
+static QEMUMachine xenigd_machine = {
+    PC_COMMON_MACHINE_OPTIONS,
+    .name = "xenigd",
+    .desc = "Xen Fully-virtualized PC specific to IGD",
+    .init = xen_igd_passthrough_pc_hvm_init,
+    .max_cpus = HVM_MAX_VCPUS,
+    .default_machine_opts = "accel=xen",
+    .hot_add_cpu = pc_hot_add_cpu,
+    .compat_props = (GlobalProperty[]) {
+        /* xenfv has no fwcfg and so does not load acpi from QEMU.
+         * as such new acpi features don't work.
+         */
+        {
+            .driver   = "PIIX4_PM",
+            .property = "acpi-pci-hotplug-with-bridge-support",
+            .value    = "off",
+        },
+        { /* end of list */ }
+    },
+};
 #endif
 
 static void pc_machine_init(void)
@@ -929,6 +971,7 @@ static void pc_machine_init(void)
     qemu_register_pc_machine(&isapc_machine);
 #ifdef CONFIG_XEN
     qemu_register_pc_machine(&xenfv_machine);
+    qemu_register_pc_machine(&xenigd_machine);
 #endif
 }
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
@ 2014-08-12  9:49   ` Tiejun Chen
  0 siblings, 0 replies; 24+ messages in thread
From: Tiejun Chen @ 2014-08-12  9:49 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Now we can introduce a new machine, xenigd, specific to IGD
passthrough. This can avoid involving other common codes.

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
---
 hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

v5:

* Nothing is changed.

v4:

* Rebase

v3:

* Rebase

v2:

* Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 2bf8046..9d37f18 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
              TYPE_I440FX_PCI_DEVICE);
 }
 
+
+#ifdef CONFIG_XEN
+static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
+{
+    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
+             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
+}
+#endif
+
 static void pc_compat_2_0(MachineState *machine)
 {
     /* This value depends on the actual DSDT and SSDT compiled into
@@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
         pci_create_simple(bus, -1, "xen-platform");
     }
 }
+
+static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
+{
+    PCIBus *bus;
+
+    xen_igd_passthrough_pc_init_pci(machine);
+
+    bus = pci_find_primary_bus();
+    if (bus != NULL) {
+        pci_create_simple(bus, -1, "xen-platform");
+    }
+}
 #endif
 
 #define PC_I440FX_MACHINE_OPTIONS \
@@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
         { /* end of list */ }
     },
 };
+
+static QEMUMachine xenigd_machine = {
+    PC_COMMON_MACHINE_OPTIONS,
+    .name = "xenigd",
+    .desc = "Xen Fully-virtualized PC specific to IGD",
+    .init = xen_igd_passthrough_pc_hvm_init,
+    .max_cpus = HVM_MAX_VCPUS,
+    .default_machine_opts = "accel=xen",
+    .hot_add_cpu = pc_hot_add_cpu,
+    .compat_props = (GlobalProperty[]) {
+        /* xenfv has no fwcfg and so does not load acpi from QEMU.
+         * as such new acpi features don't work.
+         */
+        {
+            .driver   = "PIIX4_PM",
+            .property = "acpi-pci-hotplug-with-bridge-support",
+            .value    = "off",
+        },
+        { /* end of list */ }
+    },
+};
 #endif
 
 static void pc_machine_init(void)
@@ -929,6 +971,7 @@ static void pc_machine_init(void)
     qemu_register_pc_machine(&isapc_machine);
 #ifdef CONFIG_XEN
     qemu_register_pc_machine(&xenfv_machine);
+    qemu_register_pc_machine(&xenigd_machine);
 #endif
 }
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-14  0:59   ` Chen, Tiejun
  -1 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-14  0:59 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Michael,

Any further comments to this revision?

Thanks
Tiejun

On 2014/8/12 17:49, Tiejun Chen wrote:
> v5:
>
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3
>
> v4:
>
> * Rebase on latest tree
> * Drop patch #2
> * Regenerate patches after Michael introduce patch #1
> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
> * Test: boot with a preinstalled winxp
>    ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
>
> v3:
>
> * Drop patch #4
> * Add one patch #1 from Michael
> * Rebase
> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>
> v2:
>
> * Fix some coding style
> * New patch to separate i440fx_init
> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
> * Based on patch #2 to regenerate
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> * Test: boot with a preinstalled ubuntu 14.04
>    ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>
> As we discussed we need to create a separate machine to support current
> IGD passthrough.
>
> ----------------------------------------------------------------
> Michael S. Tsirkin (1):
>        i440fx: make types configurable at run-time
>
> Tiejun Chen (3):
>        pc_init1: pass parameters just with types
>        xen:hw:pci-host:piix: create host bridge to passthrough
>        xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>
>   hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>   hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>   include/hw/i386/pc.h |  8 +++++++-
>   3 files changed, 81 insertions(+), 11 deletions(-)
>
> Thanks
> Tiejun
>
>
>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-08-14  0:59   ` Chen, Tiejun
  0 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-14  0:59 UTC (permalink / raw)
  To: mst; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

Michael,

Any further comments to this revision?

Thanks
Tiejun

On 2014/8/12 17:49, Tiejun Chen wrote:
> v5:
>
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3
>
> v4:
>
> * Rebase on latest tree
> * Drop patch #2
> * Regenerate patches after Michael introduce patch #1
> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
> * Test: boot with a preinstalled winxp
>    ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
>
> v3:
>
> * Drop patch #4
> * Add one patch #1 from Michael
> * Rebase
> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>
> v2:
>
> * Fix some coding style
> * New patch to separate i440fx_init
> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
> * Based on patch #2 to regenerate
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> * Test: boot with a preinstalled ubuntu 14.04
>    ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>
> As we discussed we need to create a separate machine to support current
> IGD passthrough.
>
> ----------------------------------------------------------------
> Michael S. Tsirkin (1):
>        i440fx: make types configurable at run-time
>
> Tiejun Chen (3):
>        pc_init1: pass parameters just with types
>        xen:hw:pci-host:piix: create host bridge to passthrough
>        xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>
>   hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>   hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>   include/hw/i386/pc.h |  8 +++++++-
>   3 files changed, 81 insertions(+), 11 deletions(-)
>
> Thanks
> Tiejun
>
>
>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-08-14  7:09   ` Michael S. Tsirkin
  -1 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-08-14  7:09 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
> v5:
> 
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3
> 
> v4:
> 
> * Rebase on latest tree
> * Drop patch #2
> * Regenerate patches after Michael introduce patch #1
> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
> * Test: boot with a preinstalled winxp
>   ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
> 
> v3:
> 
> * Drop patch #4
> * Add one patch #1 from Michael
> * Rebase
> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
> 
> v2:
> 
> * Fix some coding style
> * New patch to separate i440fx_init
> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
> * Based on patch #2 to regenerate
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> * Test: boot with a preinstalled ubuntu 14.04
>   ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
> 
> As we discussed we need to create a separate machine to support current
> IGD passthrough.

That's a clean way to add a new machine so I will queue this up, but I
note this does not do anything by itself. So I'll keep it in my queue -
this way you don't need to re-post - but I think we should defer merging
until we see the actual users.

> ----------------------------------------------------------------
> Michael S. Tsirkin (1):
>       i440fx: make types configurable at run-time
> 
> Tiejun Chen (3):
>       pc_init1: pass parameters just with types
>       xen:hw:pci-host:piix: create host bridge to passthrough
>       xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
> 
>  hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>  hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>  include/hw/i386/pc.h |  8 +++++++-
>  3 files changed, 81 insertions(+), 11 deletions(-)
> 
> Thanks
> Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-08-14  7:09   ` Michael S. Tsirkin
  0 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-08-14  7:09 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
> v5:
> 
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3
> 
> v4:
> 
> * Rebase on latest tree
> * Drop patch #2
> * Regenerate patches after Michael introduce patch #1
> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
> * Test: boot with a preinstalled winxp
>   ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
> 
> v3:
> 
> * Drop patch #4
> * Add one patch #1 from Michael
> * Rebase
> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
> 
> v2:
> 
> * Fix some coding style
> * New patch to separate i440fx_init
> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
> * Based on patch #2 to regenerate
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> * Test: boot with a preinstalled ubuntu 14.04
>   ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
> 
> As we discussed we need to create a separate machine to support current
> IGD passthrough.

That's a clean way to add a new machine so I will queue this up, but I
note this does not do anything by itself. So I'll keep it in my queue -
this way you don't need to re-post - but I think we should defer merging
until we see the actual users.

> ----------------------------------------------------------------
> Michael S. Tsirkin (1):
>       i440fx: make types configurable at run-time
> 
> Tiejun Chen (3):
>       pc_init1: pass parameters just with types
>       xen:hw:pci-host:piix: create host bridge to passthrough
>       xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
> 
>  hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>  hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>  include/hw/i386/pc.h |  8 +++++++-
>  3 files changed, 81 insertions(+), 11 deletions(-)
> 
> Thanks
> Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
  2014-08-14  7:09   ` Michael S. Tsirkin
@ 2014-08-14  7:23     ` Chen, Tiejun
  -1 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-14  7:23 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/8/14 15:09, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
>> v5:
>>
>> * Simplify to make sure its really inherited from the standard one in patch #3
>> * Then drop the original patch #3
>>
>> v4:
>>
>> * Rebase on latest tree
>> * Drop patch #2
>> * Regenerate patches after Michael introduce patch #1
>> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
>> * Test: boot with a preinstalled winxp
>>    ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
>>
>> v3:
>>
>> * Drop patch #4
>> * Add one patch #1 from Michael
>> * Rebase
>> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>>
>> v2:
>>
>> * Fix some coding style
>> * New patch to separate i440fx_init
>> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
>> * Based on patch #2 to regenerate
>> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
>> * Test: boot with a preinstalled ubuntu 14.04
>>    ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>>
>> As we discussed we need to create a separate machine to support current
>> IGD passthrough.
>
> That's a clean way to add a new machine so I will queue this up, but I
> note this does not do anything by itself. So I'll keep it in my queue -

Yes, currently its just useless.

As you know, to support IGD passthrough involves many things, qemu, xen, 
native driver, and so forth. So I want to send them separately to avoid 
too many comments I need to address one time.

> this way you don't need to re-post - but I think we should defer merging
> until we see the actual users.

Understood.

Looks I can start to step next to push forward the remains.

Thanks for your time and comments.

Tiejun

>
>> ----------------------------------------------------------------
>> Michael S. Tsirkin (1):
>>        i440fx: make types configurable at run-time
>>
>> Tiejun Chen (3):
>>        pc_init1: pass parameters just with types
>>        xen:hw:pci-host:piix: create host bridge to passthrough
>>        xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>>
>>   hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>>   hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>>   include/hw/i386/pc.h |  8 +++++++-
>>   3 files changed, 81 insertions(+), 11 deletions(-)
>>
>> Thanks
>> Tiejun
>
>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-08-14  7:23     ` Chen, Tiejun
  0 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-14  7:23 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/8/14 15:09, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
>> v5:
>>
>> * Simplify to make sure its really inherited from the standard one in patch #3
>> * Then drop the original patch #3
>>
>> v4:
>>
>> * Rebase on latest tree
>> * Drop patch #2
>> * Regenerate patches after Michael introduce patch #1
>> * We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
>> * Test: boot with a preinstalled winxp
>>    ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc
>>
>> v3:
>>
>> * Drop patch #4
>> * Add one patch #1 from Michael
>> * Rebase
>> * In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>>
>> v2:
>>
>> * Fix some coding style
>> * New patch to separate i440fx_init
>> * Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
>> * Based on patch #2 to regenerate
>> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
>> * Test: boot with a preinstalled ubuntu 14.04
>>    ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc
>>
>> As we discussed we need to create a separate machine to support current
>> IGD passthrough.
>
> That's a clean way to add a new machine so I will queue this up, but I
> note this does not do anything by itself. So I'll keep it in my queue -

Yes, currently its just useless.

As you know, to support IGD passthrough involves many things, qemu, xen, 
native driver, and so forth. So I want to send them separately to avoid 
too many comments I need to address one time.

> this way you don't need to re-post - but I think we should defer merging
> until we see the actual users.

Understood.

Looks I can start to step next to push forward the remains.

Thanks for your time and comments.

Tiejun

>
>> ----------------------------------------------------------------
>> Michael S. Tsirkin (1):
>>        i440fx: make types configurable at run-time
>>
>> Tiejun Chen (3):
>>        pc_init1: pass parameters just with types
>>        xen:hw:pci-host:piix: create host bridge to passthrough
>>        xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>>
>>   hw/i386/pc_piix.c    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
>>   hw/pci-host/piix.c   | 24 +++++++++++++++++++-----
>>   include/hw/i386/pc.h |  8 +++++++-
>>   3 files changed, 81 insertions(+), 11 deletions(-)
>>
>> Thanks
>> Tiejun
>
>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
  2014-08-12  9:49   ` Tiejun Chen
@ 2014-08-14 16:03     ` Michael S. Tsirkin
  -1 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-08-14 16:03 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:17PM +0800, Tiejun Chen wrote:
> Now we can introduce a new machine, xenigd, specific to IGD
> passthrough. This can avoid involving other common codes.
> 
> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>

This broke make check since the new machine was not
blacklisted.
I sent a patch to fix this,
pls make sure make check passes when posting patches.


> ---
>  hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> v5:
> 
> * Nothing is changed.
> 
> v4:
> 
> * Rebase
> 
> v3:
> 
> * Rebase
> 
> v2:
> 
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 2bf8046..9d37f18 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
>               TYPE_I440FX_PCI_DEVICE);
>  }
>  
> +
> +#ifdef CONFIG_XEN
> +static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
> +{
> +    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
> +             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
> +}
> +#endif
> +
>  static void pc_compat_2_0(MachineState *machine)
>  {
>      /* This value depends on the actual DSDT and SSDT compiled into
> @@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
>          pci_create_simple(bus, -1, "xen-platform");
>      }
>  }
> +
> +static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
> +{
> +    PCIBus *bus;
> +
> +    xen_igd_passthrough_pc_init_pci(machine);
> +
> +    bus = pci_find_primary_bus();
> +    if (bus != NULL) {
> +        pci_create_simple(bus, -1, "xen-platform");
> +    }
> +}
>  #endif
>  
>  #define PC_I440FX_MACHINE_OPTIONS \
> @@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
>          { /* end of list */ }
>      },
>  };
> +
> +static QEMUMachine xenigd_machine = {
> +    PC_COMMON_MACHINE_OPTIONS,
> +    .name = "xenigd",
> +    .desc = "Xen Fully-virtualized PC specific to IGD",
> +    .init = xen_igd_passthrough_pc_hvm_init,
> +    .max_cpus = HVM_MAX_VCPUS,
> +    .default_machine_opts = "accel=xen",
> +    .hot_add_cpu = pc_hot_add_cpu,
> +    .compat_props = (GlobalProperty[]) {
> +        /* xenfv has no fwcfg and so does not load acpi from QEMU.
> +         * as such new acpi features don't work.
> +         */
> +        {
> +            .driver   = "PIIX4_PM",
> +            .property = "acpi-pci-hotplug-with-bridge-support",
> +            .value    = "off",
> +        },
> +        { /* end of list */ }
> +    },
> +};
>  #endif
>  
>  static void pc_machine_init(void)
> @@ -929,6 +971,7 @@ static void pc_machine_init(void)
>      qemu_register_pc_machine(&isapc_machine);
>  #ifdef CONFIG_XEN
>      qemu_register_pc_machine(&xenfv_machine);
> +    qemu_register_pc_machine(&xenigd_machine);
>  #endif
>  }
>  
> -- 
> 1.9.1

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
@ 2014-08-14 16:03     ` Michael S. Tsirkin
  0 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-08-14 16:03 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:17PM +0800, Tiejun Chen wrote:
> Now we can introduce a new machine, xenigd, specific to IGD
> passthrough. This can avoid involving other common codes.
> 
> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>

This broke make check since the new machine was not
blacklisted.
I sent a patch to fix this,
pls make sure make check passes when posting patches.


> ---
>  hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> v5:
> 
> * Nothing is changed.
> 
> v4:
> 
> * Rebase
> 
> v3:
> 
> * Rebase
> 
> v2:
> 
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 2bf8046..9d37f18 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
>               TYPE_I440FX_PCI_DEVICE);
>  }
>  
> +
> +#ifdef CONFIG_XEN
> +static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
> +{
> +    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
> +             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
> +}
> +#endif
> +
>  static void pc_compat_2_0(MachineState *machine)
>  {
>      /* This value depends on the actual DSDT and SSDT compiled into
> @@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
>          pci_create_simple(bus, -1, "xen-platform");
>      }
>  }
> +
> +static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
> +{
> +    PCIBus *bus;
> +
> +    xen_igd_passthrough_pc_init_pci(machine);
> +
> +    bus = pci_find_primary_bus();
> +    if (bus != NULL) {
> +        pci_create_simple(bus, -1, "xen-platform");
> +    }
> +}
>  #endif
>  
>  #define PC_I440FX_MACHINE_OPTIONS \
> @@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
>          { /* end of list */ }
>      },
>  };
> +
> +static QEMUMachine xenigd_machine = {
> +    PC_COMMON_MACHINE_OPTIONS,
> +    .name = "xenigd",
> +    .desc = "Xen Fully-virtualized PC specific to IGD",
> +    .init = xen_igd_passthrough_pc_hvm_init,
> +    .max_cpus = HVM_MAX_VCPUS,
> +    .default_machine_opts = "accel=xen",
> +    .hot_add_cpu = pc_hot_add_cpu,
> +    .compat_props = (GlobalProperty[]) {
> +        /* xenfv has no fwcfg and so does not load acpi from QEMU.
> +         * as such new acpi features don't work.
> +         */
> +        {
> +            .driver   = "PIIX4_PM",
> +            .property = "acpi-pci-hotplug-with-bridge-support",
> +            .value    = "off",
> +        },
> +        { /* end of list */ }
> +    },
> +};
>  #endif
>  
>  static void pc_machine_init(void)
> @@ -929,6 +971,7 @@ static void pc_machine_init(void)
>      qemu_register_pc_machine(&isapc_machine);
>  #ifdef CONFIG_XEN
>      qemu_register_pc_machine(&xenfv_machine);
> +    qemu_register_pc_machine(&xenigd_machine);
>  #endif
>  }
>  
> -- 
> 1.9.1

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
  2014-08-14 16:03     ` Michael S. Tsirkin
@ 2014-08-15  5:46       ` Chen, Tiejun
  -1 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-15  5:46 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/8/15 0:03, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:17PM +0800, Tiejun Chen wrote:
>> Now we can introduce a new machine, xenigd, specific to IGD
>> passthrough. This can avoid involving other common codes.
>>
>> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
>
> This broke make check since the new machine was not
> blacklisted.

Sorry I didn't realize we have such a good test that we can do in case 
of qemu.

Often I just do compile and run to validate a fix. Now I'd like to keep 
this in my mind.

> I sent a patch to fix this,

Thanks so much. I guest what you fixed should be as follows,

diff --git a/tests/qom-test.c b/tests/qom-test.c
index 4246382..10799e2 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -16,7 +16,7 @@
  #include "qapi/qmp/types.h"

  static const char *blacklist_x86[] = {
-    "xenfv", "xenpv", NULL
+    "xenfv", "xenpv", "xenigd", NULL
  };

  static const struct {


> pls make sure make check passes when posting patches.

Definitely.

Thanks
Tiejun

>
>
>> ---
>>   hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 43 insertions(+)
>>
>> v5:
>>
>> * Nothing is changed.
>>
>> v4:
>>
>> * Rebase
>>
>> v3:
>>
>> * Rebase
>>
>> v2:
>>
>> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
>>
>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
>> index 2bf8046..9d37f18 100644
>> --- a/hw/i386/pc_piix.c
>> +++ b/hw/i386/pc_piix.c
>> @@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
>>                TYPE_I440FX_PCI_DEVICE);
>>   }
>>
>> +
>> +#ifdef CONFIG_XEN
>> +static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
>> +{
>> +    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
>> +             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
>> +}
>> +#endif
>> +
>>   static void pc_compat_2_0(MachineState *machine)
>>   {
>>       /* This value depends on the actual DSDT and SSDT compiled into
>> @@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
>>           pci_create_simple(bus, -1, "xen-platform");
>>       }
>>   }
>> +
>> +static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
>> +{
>> +    PCIBus *bus;
>> +
>> +    xen_igd_passthrough_pc_init_pci(machine);
>> +
>> +    bus = pci_find_primary_bus();
>> +    if (bus != NULL) {
>> +        pci_create_simple(bus, -1, "xen-platform");
>> +    }
>> +}
>>   #endif
>>
>>   #define PC_I440FX_MACHINE_OPTIONS \
>> @@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
>>           { /* end of list */ }
>>       },
>>   };
>> +
>> +static QEMUMachine xenigd_machine = {
>> +    PC_COMMON_MACHINE_OPTIONS,
>> +    .name = "xenigd",
>> +    .desc = "Xen Fully-virtualized PC specific to IGD",
>> +    .init = xen_igd_passthrough_pc_hvm_init,
>> +    .max_cpus = HVM_MAX_VCPUS,
>> +    .default_machine_opts = "accel=xen",
>> +    .hot_add_cpu = pc_hot_add_cpu,
>> +    .compat_props = (GlobalProperty[]) {
>> +        /* xenfv has no fwcfg and so does not load acpi from QEMU.
>> +         * as such new acpi features don't work.
>> +         */
>> +        {
>> +            .driver   = "PIIX4_PM",
>> +            .property = "acpi-pci-hotplug-with-bridge-support",
>> +            .value    = "off",
>> +        },
>> +        { /* end of list */ }
>> +    },
>> +};
>>   #endif
>>
>>   static void pc_machine_init(void)
>> @@ -929,6 +971,7 @@ static void pc_machine_init(void)
>>       qemu_register_pc_machine(&isapc_machine);
>>   #ifdef CONFIG_XEN
>>       qemu_register_pc_machine(&xenfv_machine);
>> +    qemu_register_pc_machine(&xenigd_machine);
>>   #endif
>>   }
>>
>> --
>> 1.9.1
>
>

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
@ 2014-08-15  5:46       ` Chen, Tiejun
  0 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-08-15  5:46 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/8/15 0:03, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:17PM +0800, Tiejun Chen wrote:
>> Now we can introduce a new machine, xenigd, specific to IGD
>> passthrough. This can avoid involving other common codes.
>>
>> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
>
> This broke make check since the new machine was not
> blacklisted.

Sorry I didn't realize we have such a good test that we can do in case 
of qemu.

Often I just do compile and run to validate a fix. Now I'd like to keep 
this in my mind.

> I sent a patch to fix this,

Thanks so much. I guest what you fixed should be as follows,

diff --git a/tests/qom-test.c b/tests/qom-test.c
index 4246382..10799e2 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -16,7 +16,7 @@
  #include "qapi/qmp/types.h"

  static const char *blacklist_x86[] = {
-    "xenfv", "xenpv", NULL
+    "xenfv", "xenpv", "xenigd", NULL
  };

  static const struct {


> pls make sure make check passes when posting patches.

Definitely.

Thanks
Tiejun

>
>
>> ---
>>   hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 43 insertions(+)
>>
>> v5:
>>
>> * Nothing is changed.
>>
>> v4:
>>
>> * Rebase
>>
>> v3:
>>
>> * Rebase
>>
>> v2:
>>
>> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
>>
>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
>> index 2bf8046..9d37f18 100644
>> --- a/hw/i386/pc_piix.c
>> +++ b/hw/i386/pc_piix.c
>> @@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
>>                TYPE_I440FX_PCI_DEVICE);
>>   }
>>
>> +
>> +#ifdef CONFIG_XEN
>> +static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
>> +{
>> +    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
>> +             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
>> +}
>> +#endif
>> +
>>   static void pc_compat_2_0(MachineState *machine)
>>   {
>>       /* This value depends on the actual DSDT and SSDT compiled into
>> @@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
>>           pci_create_simple(bus, -1, "xen-platform");
>>       }
>>   }
>> +
>> +static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
>> +{
>> +    PCIBus *bus;
>> +
>> +    xen_igd_passthrough_pc_init_pci(machine);
>> +
>> +    bus = pci_find_primary_bus();
>> +    if (bus != NULL) {
>> +        pci_create_simple(bus, -1, "xen-platform");
>> +    }
>> +}
>>   #endif
>>
>>   #define PC_I440FX_MACHINE_OPTIONS \
>> @@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
>>           { /* end of list */ }
>>       },
>>   };
>> +
>> +static QEMUMachine xenigd_machine = {
>> +    PC_COMMON_MACHINE_OPTIONS,
>> +    .name = "xenigd",
>> +    .desc = "Xen Fully-virtualized PC specific to IGD",
>> +    .init = xen_igd_passthrough_pc_hvm_init,
>> +    .max_cpus = HVM_MAX_VCPUS,
>> +    .default_machine_opts = "accel=xen",
>> +    .hot_add_cpu = pc_hot_add_cpu,
>> +    .compat_props = (GlobalProperty[]) {
>> +        /* xenfv has no fwcfg and so does not load acpi from QEMU.
>> +         * as such new acpi features don't work.
>> +         */
>> +        {
>> +            .driver   = "PIIX4_PM",
>> +            .property = "acpi-pci-hotplug-with-bridge-support",
>> +            .value    = "off",
>> +        },
>> +        { /* end of list */ }
>> +    },
>> +};
>>   #endif
>>
>>   static void pc_machine_init(void)
>> @@ -929,6 +971,7 @@ static void pc_machine_init(void)
>>       qemu_register_pc_machine(&isapc_machine);
>>   #ifdef CONFIG_XEN
>>       qemu_register_pc_machine(&xenfv_machine);
>> +    qemu_register_pc_machine(&xenigd_machine);
>>   #endif
>>   }
>>
>> --
>> 1.9.1
>
>

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
  2014-08-12  9:49 ` Tiejun Chen
@ 2014-11-23 10:10   ` Michael S. Tsirkin
  -1 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-11-23 10:10 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
> v5:
> 
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3

I carried
	i440fx: make types configurable at run-time
	pc_init1: pass parameters just with types
	xen:hw:pci-host:piix: create host bridge to passthrough
	qom-test: blacklist xenigd
	xen:hw:i386:pc_piix: introduce new machine for IGD passthrough

on my branch for a while now, but I'm not sure it's all still needed.
If yes simply include these patches next time you repost the
patchset.

-- 
MST

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-11-23 10:10   ` Michael S. Tsirkin
  0 siblings, 0 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2014-11-23 10:10 UTC (permalink / raw)
  To: Tiejun Chen; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
> v5:
> 
> * Simplify to make sure its really inherited from the standard one in patch #3
> * Then drop the original patch #3

I carried
	i440fx: make types configurable at run-time
	pc_init1: pass parameters just with types
	xen:hw:pci-host:piix: create host bridge to passthrough
	qom-test: blacklist xenigd
	xen:hw:i386:pc_piix: introduce new machine for IGD passthrough

on my branch for a while now, but I'm not sure it's all still needed.
If yes simply include these patches next time you repost the
patchset.

-- 
MST

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
  2014-11-23 10:10   ` Michael S. Tsirkin
@ 2014-11-24  0:40     ` Chen, Tiejun
  -1 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-11-24  0:40 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/11/23 18:10, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
>> v5:
>>
>> * Simplify to make sure its really inherited from the standard one in patch #3
>> * Then drop the original patch #3
>
> I carried
> 	i440fx: make types configurable at run-time
> 	pc_init1: pass parameters just with types
> 	xen:hw:pci-host:piix: create host bridge to passthrough
> 	qom-test: blacklist xenigd
> 	xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>
> on my branch for a while now, but I'm not sure it's all still needed.

They may not be necessary since you and Paolo already are fine to live 
without that separate machine specific to IGD passthrough.

> If yes simply include these patches next time you repost the
> patchset.

Anyway, I will comment this point once I can issue next revision.

Thanks for your reminder.

Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough
@ 2014-11-24  0:40     ` Chen, Tiejun
  0 siblings, 0 replies; 24+ messages in thread
From: Chen, Tiejun @ 2014-11-24  0:40 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: pbonzini, xen-devel, qemu-devel, stefano.stabellini

On 2014/11/23 18:10, Michael S. Tsirkin wrote:
> On Tue, Aug 12, 2014 at 05:49:13PM +0800, Tiejun Chen wrote:
>> v5:
>>
>> * Simplify to make sure its really inherited from the standard one in patch #3
>> * Then drop the original patch #3
>
> I carried
> 	i440fx: make types configurable at run-time
> 	pc_init1: pass parameters just with types
> 	xen:hw:pci-host:piix: create host bridge to passthrough
> 	qom-test: blacklist xenigd
> 	xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
>
> on my branch for a while now, but I'm not sure it's all still needed.

They may not be necessary since you and Paolo already are fine to live 
without that separate machine specific to IGD passthrough.

> If yes simply include these patches next time you repost the
> patchset.

Anyway, I will comment this point once I can issue next revision.

Thanks for your reminder.

Tiejun

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2014-11-24  0:40 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-12  9:49 [Qemu-devel] [v5][PATCH 0/4] xen: introduce new machine for IGD passthrough Tiejun Chen
2014-08-12  9:49 ` Tiejun Chen
2014-08-12  9:49 ` [Qemu-devel] [v5][PATCH 1/4] i440fx: make types configurable at run-time Tiejun Chen
2014-08-12  9:49   ` Tiejun Chen
2014-08-12  9:49 ` [Qemu-devel] [v5][PATCH 2/4] pc_init1: pass parameters just with types Tiejun Chen
2014-08-12  9:49   ` Tiejun Chen
2014-08-12  9:49 ` [Qemu-devel] [v5][PATCH 3/4] xen:hw:pci-host:piix: create host bridge to passthrough Tiejun Chen
2014-08-12  9:49   ` Tiejun Chen
2014-08-12  9:49 ` [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough Tiejun Chen
2014-08-12  9:49   ` Tiejun Chen
2014-08-14 16:03   ` [Qemu-devel] " Michael S. Tsirkin
2014-08-14 16:03     ` Michael S. Tsirkin
2014-08-15  5:46     ` [Qemu-devel] " Chen, Tiejun
2014-08-15  5:46       ` Chen, Tiejun
2014-08-14  0:59 ` [Qemu-devel] [v5][PATCH 0/4] xen: " Chen, Tiejun
2014-08-14  0:59   ` Chen, Tiejun
2014-08-14  7:09 ` [Qemu-devel] " Michael S. Tsirkin
2014-08-14  7:09   ` Michael S. Tsirkin
2014-08-14  7:23   ` [Qemu-devel] " Chen, Tiejun
2014-08-14  7:23     ` Chen, Tiejun
2014-11-23 10:10 ` [Qemu-devel] " Michael S. Tsirkin
2014-11-23 10:10   ` Michael S. Tsirkin
2014-11-24  0:40   ` [Qemu-devel] " Chen, Tiejun
2014-11-24  0:40     ` Chen, Tiejun

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.