]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: add capabilities bit for device xio3130-downstream
authorLaine Stump <laine@laine.org>
Wed, 17 Jun 2015 18:24:29 +0000 (14:24 -0400)
committerLaine Stump <laine@laine.org>
Mon, 10 Aug 2015 02:29:25 +0000 (22:29 -0400)
The downstream ports of an x3130-upstream switch can each have one of
these plugged into them (and that is the only place they can be
connected). Each xio3130-downstream provides a single PCIe port that
can have PCI or PCIe devices hotplugged into it. Apparently an entire
set of x3130-upstream + several xio3130-downstreams can be hotplugged
as a unit, but it's not clear to me yet how that would be done, since
qemu only allows attaching a single device at a time.

This device will be used to implement the
"pcie-switch-downstream-port" model of pci controller.

src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_1.2.2-1.caps
tests/qemucapabilitiesdata/caps_1.3.1-1.caps
tests/qemucapabilitiesdata/caps_1.4.2-1.caps
tests/qemucapabilitiesdata/caps_1.5.3-1.caps
tests/qemucapabilitiesdata/caps_1.6.0-1.caps
tests/qemucapabilitiesdata/caps_1.6.50-1.caps
tests/qemucapabilitiesdata/caps_2.1.1-1.caps
tests/qemuhelptest.c

index 2c284eb5f3f66d842e6ec22f53f3e9d93f02d6de..43d11af0a7ade671c42fc9725c49ac04200ceb15 100644 (file)
@@ -291,6 +291,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "gpex-pcihost",
               "ioh3420",
               "x3130-upstream",
+              "xio3130-downstream",
     );
 
 
@@ -1574,6 +1575,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "gpex-pcihost", QEMU_CAPS_OBJECT_GPEX},
     { "ioh3420", QEMU_CAPS_DEVICE_IOH3420 },
     { "x3130-upstream", QEMU_CAPS_DEVICE_X3130_UPSTREAM },
+    { "xio3130-downstream", QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = {
index 300b1887c333fd42d280d10fc81ef9dacc7276f3..2d32d6efb89b24fdb7251a07c96d5ecf727600ce 100644 (file)
@@ -234,6 +234,7 @@ typedef enum {
     QEMU_CAPS_OBJECT_GPEX        = 192, /* have generic PCI host controller */
     QEMU_CAPS_DEVICE_IOH3420     = 193, /* -device ioh3420 */
     QEMU_CAPS_DEVICE_X3130_UPSTREAM = 194, /* -device x3130-upstream */
+    QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM = 195, /* -device xio3130-downstream */
 
     QEMU_CAPS_LAST,                   /* this must always be the last item */
 } virQEMUCapsFlags;
index 78d7b82f60b26f0bcf7eb2deee71e563452bdd0d..ba166354b469e88bc5bb482ababb2db64966cf91 100644 (file)
     <flag name='qxl-vga.vgamem_mb'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index 7cec7f9e7a8a7b7c0563e6f8703be7d6ec62fc43..51cd6d9b3eac6d67dadfbb50d74306ab35ec316f 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index f5f00347c5ce3609ef03f9d661a531bb3bcf46e3..03d0a3ebb0d5fbeaed902e66948b4a75de0785be 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index 9f0461adbfffe164744c131c911c45edf63d1b53..e2f22e4bb2f61de3a7d07a9f888b1ed8bec31e89 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index 1b23b82ef5eed4ffd5d4ceb6ba3b227544fb282a..874a0508d3bfab22f0d2ee803d781b0f191287c4 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index ff0427fbb9a52d1f86a563e3f22881d750ae35c9..dd3bcda08a1c33658c3ca19c0c437d9c2d673165 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index 56b27e5c6c597f3fe337b66b6c1573302fe9f501..3ee2d6f71b3da1de9604daefe55580892953aee3 100644 (file)
     <flag name='pci-serial'/>
     <flag name='ioh3420'/>
     <flag name='x3130-upstream'/>
+    <flag name='xio3130-downstream'/>
   </qemuCaps>
index 62b9a0cb56cdeac59e2a86a5b59ab40a2bd257b9..8f317d4cc3a8aaa97d4a10a0596801401659c806 100644 (file)
@@ -755,7 +755,8 @@ mymain(void)
             QEMU_CAPS_SPLASH_TIMEOUT,
             QEMU_CAPS_DEVICE_IVSHMEM,
             QEMU_CAPS_DEVICE_IOH3420,
-            QEMU_CAPS_DEVICE_X3130_UPSTREAM);
+            QEMU_CAPS_DEVICE_X3130_UPSTREAM,
+            QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM);
     DO_TEST("qemu-1.1.0", 1001000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -857,7 +858,8 @@ mymain(void)
             QEMU_CAPS_SPLASH_TIMEOUT,
             QEMU_CAPS_DEVICE_IVSHMEM,
             QEMU_CAPS_DEVICE_IOH3420,
-            QEMU_CAPS_DEVICE_X3130_UPSTREAM);
+            QEMU_CAPS_DEVICE_X3130_UPSTREAM,
+            QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM);
     DO_TEST_FULL("qemu-1.2.0", 1002000, 0, 0, VIR_ERR_CONFIG_UNSUPPORTED,
             QEMU_CAPS_LAST);
     DO_TEST_FULL("qemu-kvm-1.2.0", 1002000, 1, 0, VIR_ERR_CONFIG_UNSUPPORTED,