qemu: add capabilities bit for device xio3130-downstream

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.
This commit is contained in:
Laine Stump 2015-06-17 14:24:29 -04:00
parent cb99086d1b
commit ad1748a1aa
10 changed files with 14 additions and 2 deletions

View 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[] = {

View 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;

View File

@ -122,4 +122,5 @@
<flag name='qxl-vga.vgamem_mb'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -137,4 +137,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -138,4 +138,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -147,4 +147,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -153,4 +153,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -153,4 +153,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View File

@ -169,4 +169,5 @@
<flag name='pci-serial'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
</qemuCaps>

View 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,