On 02/05/2018 11:08 AM, Andrea Bolognani wrote:
The input configurations set all existing options for all PCI
controllers, to see what ends up showing up in the output.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
.../i440fx-controllers-pciopts.args | 24 +++++++
.../i440fx-controllers-pciopts.xml | 36 ++++++++++
.../pseries-controllers-pciopts.args | 22 +++++++
.../pseries-controllers-pciopts.xml | 35 ++++++++++
.../qemuxml2argvdata/q35-controllers-pciopts.args | 28 ++++++++
tests/qemuxml2argvdata/q35-controllers-pciopts.xml | 60 +++++++++++++++++
tests/qemuxml2argvtest.c | 17 +++++
.../i440fx-controllers-pciopts.xml | 45 +++++++++++++
.../pseries-controllers-pciopts.xml | 43 ++++++++++++
.../qemuxml2xmloutdata/q35-controllers-pciopts.xml | 76 ++++++++++++++++++++++
tests/qemuxml2xmltest.c | 17 +++++
11 files changed, 403 insertions(+)
create mode 100644 tests/qemuxml2argvdata/i440fx-controllers-pciopts.args
create mode 100644 tests/qemuxml2argvdata/i440fx-controllers-pciopts.xml
create mode 100644 tests/qemuxml2argvdata/pseries-controllers-pciopts.args
create mode 100644 tests/qemuxml2argvdata/pseries-controllers-pciopts.xml
create mode 100644 tests/qemuxml2argvdata/q35-controllers-pciopts.args
create mode 100644 tests/qemuxml2argvdata/q35-controllers-pciopts.xml
create mode 100644 tests/qemuxml2xmloutdata/i440fx-controllers-pciopts.xml
create mode 100644 tests/qemuxml2xmloutdata/pseries-controllers-pciopts.xml
create mode 100644 tests/qemuxml2xmloutdata/q35-controllers-pciopts.xml
Not quite sure I understand the need. The only capability not currently
used in some way is QEMU_CAPS_I440FX_PCI_HOLE64_SIZE.
I guess there's nothing wrong with adding them other than test bloat.
Still there's nothing to "force" someone that adds some new thing to
update one of the three if some new option/capability is added.
Ironically adding (for example) QEMU_CAPS_Q35_PCI_HOLE64_SIZE to
i440fx-* doesn't cause any failure. I didn't try other ones.
BTW: This is what led me to determine that the qemuxml2argv isn't being
built any more and a response to Dan's series.
I'm not opposed to this being added, but do you think we should add
something does the opposite check? That the wrong PCI adapter on the
wrong machine? The wrong option on the wrong adapter is a question for
the next patch though...
John
diff --git a/tests/qemuxml2argvdata/i440fx-controllers-pciopts.args
b/tests/qemuxml2argvdata/i440fx-controllers-pciopts.args
new file mode 100644
index 000000000..d85fae5c9
--- /dev/null
+++ b/tests/qemuxml2argvdata/i440fx-controllers-pciopts.args
@@ -0,0 +1,24 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name guest \
+-S \
+-M pc \
+-m 1024 \
+-smp 1,sockets=1,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0,mem=1024 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \
+-nographic \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-guest/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline \
+-no-acpi \
+-boot c \
+-global i440FX-pcihost.pci-hole64-size=1024K \
+-device pci-bridge,chassis_nr=2,id=pci.1,bus=pci.0,addr=0x3 \
+-device pxb,bus_nr=3,id=pci.2,numa_node=0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/i440fx-controllers-pciopts.xml
b/tests/qemuxml2argvdata/i440fx-controllers-pciopts.xml
new file mode 100644
index 000000000..861a66589
--- /dev/null
+++ b/tests/qemuxml2argvdata/i440fx-controllers-pciopts.xml
@@ -0,0 +1,36 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <controller type='pci' index='0' model='pci-root'>
+ <!-- Only pcihole64 should be preserved -->
+ <target busNr='1' chassis='1' chassisNr='1'
index='0' port='1'/>
+ <pcihole64 unit='KiB'>1024</pcihole64>
+ </controller>
+ <controller type='pci' index='1' model='pci-bridge'>
+ <!-- Only chassisNr should be preserved -->
+ <target busNr='2' chassis='2' chassisNr='2'
index='2' port='2'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='2'
model='pci-expander-bus'>
+ <!-- Only busNr and numaNode should be preserved -->
+ <target busNr='3' chassis='3' chassisNr='3'
index='3' port='3'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/pseries-controllers-pciopts.args
b/tests/qemuxml2argvdata/pseries-controllers-pciopts.args
new file mode 100644
index 000000000..5f1edfc83
--- /dev/null
+++ b/tests/qemuxml2argvdata/pseries-controllers-pciopts.args
@@ -0,0 +1,22 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-ppc64 \
+-name guest \
+-S \
+-M pseries \
+-m 1024 \
+-smp 1,sockets=1,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0,mem=1024 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \
+-nographic \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-guest/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline \
+-boot c \
+-device spapr-pci-host-bridge,index=1,id=pci.1,numa_node=0 \
+-device pci-bridge,chassis_nr=3,id=pci.2,bus=pci.0,addr=0x1
diff --git a/tests/qemuxml2argvdata/pseries-controllers-pciopts.xml
b/tests/qemuxml2argvdata/pseries-controllers-pciopts.xml
new file mode 100644
index 000000000..43353cba6
--- /dev/null
+++ b/tests/qemuxml2argvdata/pseries-controllers-pciopts.xml
@@ -0,0 +1,35 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='ppc64' machine='pseries'>hvm</type>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <devices>
+ <emulator>/usr/bin/qemu-system-ppc64</emulator>
+ <controller type='pci' index='0' model='pci-root'>
+ <!-- Only targetIndex should be preserved -->
+ <target busNr='1' chassis='1' chassisNr='1'
index='0' port='1'/>
+ </controller>
+ <controller type='pci' index='1' model='pci-root'>
+ <!-- Only numaNode and targetIndex should be preserved -->
+ <target busNr='2' chassis='2' chassisNr='2'
index='1' port='2'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <!-- Only chassisNr should be preserved -->
+ <target busNr='3' chassis='3' chassisNr='3'
index='3' port='3'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/q35-controllers-pciopts.args
b/tests/qemuxml2argvdata/q35-controllers-pciopts.args
new file mode 100644
index 000000000..44259f502
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-controllers-pciopts.args
@@ -0,0 +1,28 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name guest \
+-S \
+-M q35 \
+-m 1024 \
+-smp 1,sockets=1,cores=1,threads=1 \
+-numa node,nodeid=0,cpus=0,mem=1024 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \
+-nographic \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-guest/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline \
+-no-acpi \
+-boot c \
+-global q35-pcihost.pci-hole64-size=1024K \
+-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
+-device pci-bridge,chassis_nr=3,id=pci.2,bus=pci.1,addr=0x0 \
+-device pxb-pcie,bus_nr=4,id=pci.3,numa_node=0,bus=pcie.0,addr=0x2 \
+-device pcie-root-port,port=0x5,chassis=5,id=pci.4,bus=pcie.0,addr=0x3 \
+-device x3130-upstream,id=pci.5,bus=pci.4,addr=0x0 \
+-device xio3130-downstream,port=0x7,chassis=7,id=pci.6,bus=pci.5,addr=0x0
diff --git a/tests/qemuxml2argvdata/q35-controllers-pciopts.xml
b/tests/qemuxml2argvdata/q35-controllers-pciopts.xml
new file mode 100644
index 000000000..40db83615
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-controllers-pciopts.xml
@@ -0,0 +1,60 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <controller type='pci' index='0' model='pcie-root'>
+ <!-- Only pcihole64 should be preserved -->
+ <target busNr='1' chassis='1' chassisNr='1'
index='0' port='1'/>
+ <pcihole64 unit='KiB'>1024</pcihole64>
+ </controller>
+ <controller type='pci' index='1'
model='dmi-to-pci-bridge'>
+ <!-- No option should be preserved -->
+ <target busNr='2' chassis='2' chassisNr='2'
index='2' port='2'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <!-- Only chassisNr should be preserved -->
+ <target busNr='3' chassis='3' chassisNr='3'
index='3' port='3'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='3'
model='pcie-expander-bus'>
+ <!-- Only busNr and numaNode should be preserved -->
+ <target busNr='4' chassis='4' chassisNr='4'
index='4' port='4'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='4'
model='pcie-root-port'>
+ <!-- Only chassis and port should be preserved -->
+ <target busNr='5' chassis='5' chassisNr='5'
index='5' port='5'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='5'
model='pcie-switch-upstream-port'>
+ <!-- No option should be preserved -->
+ <target busNr='6' chassis='6' chassisNr='6'
index='6' port='6'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='6'
model='pcie-switch-downstream-port'>
+ <!-- Only chassis and port should be preserved -->
+ <target busNr='7' chassis='7' chassisNr='7'
index='7' port='7'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index c8739909d..595b541d5 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2436,6 +2436,23 @@ mymain(void)
QEMU_CAPS_DEVICE_IOH3420,
QEMU_CAPS_DEVICE_PXB_PCIE);
+ DO_TEST("i440fx-controllers-pciopts",
+ QEMU_CAPS_I440FX_PCI_HOLE64_SIZE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PXB);
+ DO_TEST("q35-controllers-pciopts",
+ QEMU_CAPS_Q35_PCI_HOLE64_SIZE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PXB_PCIE,
+ QEMU_CAPS_DEVICE_PCIE_ROOT_PORT,
+ QEMU_CAPS_DEVICE_X3130_UPSTREAM,
+ QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM);
+ DO_TEST("pseries-controllers-pciopts",
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
+ QEMU_CAPS_SPAPR_PCI_HOST_BRIDGE_NUMA_NODE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE);
+
DO_TEST("hostdev-scsi-lsi",
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI,
QEMU_CAPS_DEVICE_SCSI_GENERIC);
diff --git a/tests/qemuxml2xmloutdata/i440fx-controllers-pciopts.xml
b/tests/qemuxml2xmloutdata/i440fx-controllers-pciopts.xml
new file mode 100644
index 000000000..d171d1370
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/i440fx-controllers-pciopts.xml
@@ -0,0 +1,45 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <controller type='pci' index='0' model='pci-root'>
+ <target chassisNr='1' chassis='1' port='0x1'
busNr='1' index='0'/>
+ <pcihole64 unit='KiB'>1024</pcihole64>
+ </controller>
+ <controller type='pci' index='1' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='2' chassis='2' port='0x2'
busNr='2' index='2'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2'
model='pci-expander-bus'>
+ <model name='pxb'/>
+ <target chassisNr='3' chassis='3' port='0x3'
busNr='3' index='3'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x04' function='0x0'/>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/pseries-controllers-pciopts.xml
b/tests/qemuxml2xmloutdata/pseries-controllers-pciopts.xml
new file mode 100644
index 000000000..bbe360e25
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/pseries-controllers-pciopts.xml
@@ -0,0 +1,43 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='ppc64' machine='pseries'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-ppc64</emulator>
+ <controller type='pci' index='0' model='pci-root'>
+ <model name='spapr-pci-host-bridge'/>
+ <target chassisNr='1' chassis='1' port='0x1'
busNr='1' index='0'/>
+ </controller>
+ <controller type='pci' index='1' model='pci-root'>
+ <model name='spapr-pci-host-bridge'/>
+ <target chassisNr='2' chassis='2' port='0x2'
busNr='2' index='1'>
+ <node>0</node>
+ </target>
+ </controller>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='3' chassis='3' port='0x3'
busNr='3' index='3'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <memballoon model='none'/>
+ <panic model='pseries'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/q35-controllers-pciopts.xml
b/tests/qemuxml2xmloutdata/q35-controllers-pciopts.xml
new file mode 100644
index 000000000..5ef7aa564
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/q35-controllers-pciopts.xml
@@ -0,0 +1,76 @@
+<domain type='qemu'>
+ <name>guest</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='q35'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'
unit='KiB'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <controller type='pci' index='0' model='pcie-root'>
+ <target chassisNr='1' chassis='1' port='0x1'
busNr='1' index='0'/>
+ <pcihole64 unit='KiB'>1024</pcihole64>
+ </controller>
+ <controller type='pci' index='1'
model='dmi-to-pci-bridge'>
+ <model name='i82801b11-bridge'/>
+ <target chassisNr='2' chassis='2' port='0x2'
busNr='2' index='2'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x1e' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pci-bridge'>
+ <model name='pci-bridge'/>
+ <target chassisNr='3' chassis='3' port='0x3'
busNr='3' index='3'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x01'
slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='pci' index='3'
model='pcie-expander-bus'>
+ <model name='pxb-pcie'/>
+ <target chassisNr='4' chassis='4' port='0x4'
busNr='4' index='4'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x02' function='0x0'/>
+ </controller>
+ <controller type='pci' index='4'
model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassisNr='5' chassis='5' port='0x5'
busNr='5' index='5'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='5'
model='pcie-switch-upstream-port'>
+ <model name='x3130-upstream'/>
+ <target chassisNr='6' chassis='6' port='0x6'
busNr='6' index='6'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x04'
slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='pci' index='6'
model='pcie-switch-downstream-port'>
+ <model name='xio3130-downstream'/>
+ <target chassisNr='7' chassis='7' port='0x7'
busNr='7' index='7'>
+ <node>0</node>
+ </target>
+ <address type='pci' domain='0x0000' bus='0x05'
slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='usb' index='0' model='none'/>
+ <controller type='sata' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x1f' function='0x2'/>
+ </controller>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index d3544a1ef..48d774856 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -1103,6 +1103,23 @@ mymain(void)
QEMU_CAPS_DEVICE_IOH3420,
QEMU_CAPS_HDA_DUPLEX);
+ DO_TEST("i440fx-controllers-pciopts",
+ QEMU_CAPS_I440FX_PCI_HOLE64_SIZE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PXB);
+ DO_TEST("q35-controllers-pciopts",
+ QEMU_CAPS_Q35_PCI_HOLE64_SIZE,
+ QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE,
+ QEMU_CAPS_DEVICE_PXB_PCIE,
+ QEMU_CAPS_DEVICE_PCIE_ROOT_PORT,
+ QEMU_CAPS_DEVICE_X3130_UPSTREAM,
+ QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM);
+ DO_TEST("pseries-controllers-pciopts",
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
+ QEMU_CAPS_SPAPR_PCI_HOST_BRIDGE_NUMA_NODE,
+ QEMU_CAPS_DEVICE_PCI_BRIDGE);
+
DO_TEST("hostdev-scsi-vhost-scsi-ccw",
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI,
QEMU_CAPS_DEVICE_SCSI_GENERIC, QEMU_CAPS_VIRTIO_CCW);