qemu: Assume QEMU_CAPS_CCW

Introduced in libvirt by:
  commit f245a9791c
    qemu: introduce capability for virtual-css-bridge

Which mentions that its support was in QEMU 2.7.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Ján Tomko 2022-09-30 14:01:44 +02:00
parent b02568f1be
commit 0662e6bd36
14 changed files with 46 additions and 109 deletions

View File

@ -5242,13 +5242,6 @@ virQEMUCapsInitProcessCaps(virQEMUCaps *qemuCaps)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_CACHE);
}
if (ARCH_IS_S390(qemuCaps->arch)) {
/* Legacy assurance for QEMU_CAPS_CCW */
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_CCW);
}
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES);

View File

@ -420,8 +420,7 @@ qemuDomainAssignS390Addresses(virDomainDef *def,
int ret = -1;
virDomainCCWAddressSet *addrs = NULL;
if (qemuDomainIsS390CCW(def) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW)) {
if (qemuDomainIsS390CCW(def)) {
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW))
qemuDomainPrimeVfioDeviceAddresses(def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW);
@ -3289,13 +3288,11 @@ qemuDomainEnsureVirtioAddress(bool *releaseAddr,
virDomainDeviceDef *dev)
{
virDomainDeviceInfo *info = virDomainDeviceGetInfo(dev);
qemuDomainObjPrivate *priv = vm->privateData;
virDomainCCWAddressSet *ccwaddrs = NULL;
int ret = -1;
if (!info->type) {
if (qemuDomainIsS390CCW(vm->def) &&
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW))
if (qemuDomainIsS390CCW(vm->def))
info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW;
}

View File

@ -1143,8 +1143,7 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
}
if (qemuDomainIsS390CCW(vm->def) &&
net->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI &&
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW)) {
net->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
net->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW;
if (!(ccwaddrs = virDomainCCWAddressSetCreateFromDomain(vm->def)))
goto cleanup;
@ -2571,8 +2570,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriver *driver,
vhostfdName = g_strdup_printf("vhostfd-%d", vhostfd);
if (hostdev->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
if (qemuDomainIsS390CCW(vm->def) &&
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW))
if (qemuDomainIsS390CCW(vm->def))
hostdev->info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW;
}

View File

@ -1655,12 +1655,6 @@ qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev,
return -1;
}
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("CCW address type is not supported by this QEMU"));
return -1;
}
break;
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE:

View File

@ -75,7 +75,6 @@ qemuHotplugCreateObjects(virDomainXMLOption *xmlopt,
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_CCW);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_DISK_WWN);

View File

@ -24,13 +24,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
-device zpci,uid=3,fid=2,target=pci.1,id=zpci3 \
-device zpci,uid=2,fid=1,target=pci.1,id=zpci2 \
-device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x1 \
-audiodev '{"id":"audio1","driver":"none"}' \
-device zpci,uid=65535,fid=4294967295,target=hostdev0,id=zpci65535 \
-device vfio-pci,host=ffff:00:00.0,id=hostdev0,bus=pci.1,addr=0x1f \
-device zpci,uid=1,fid=0,target=hostdev1,id=zpci1 \
-device vfio-pci,host=0000:00:00.0,id=hostdev1,bus=pci.0,addr=0x2 \
-device zpci,uid=2,fid=1,target=balloon0,id=zpci2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.0000 \
-msg timestamp=on

View File

@ -27,6 +27,5 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-audiodev '{"id":"audio1","driver":"none"}' \
-device zpci,uid=25,fid=31,target=hostdev0,id=zpci25 \
-device vfio-pci,host=0000:00:00.0,id=hostdev0,bus=pci.0,addr=0x8 \
-device zpci,uid=1,fid=0,target=balloon0,id=zpci1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x1 \
-device virtio-balloon-ccw,id=balloon0,devno=fe.0.0000 \
-msg timestamp=on

View File

@ -1903,13 +1903,10 @@ mymain(void)
DO_TEST_CAPS_ARCH_LATEST("hostdev-subsys-mdev-vfio-ccw", "s390x");
DO_TEST_CAPS_ARCH_LATEST("hostdev-subsys-mdev-vfio-ccw-boot",
"s390x");
DO_TEST_PARSE_ERROR("hostdev-subsys-mdev-vfio-ccw",
QEMU_CAPS_CCW);
DO_TEST_PARSE_ERROR_NOCAPS("hostdev-subsys-mdev-vfio-ccw");
DO_TEST_PARSE_ERROR("hostdev-subsys-mdev-vfio-ccw-duplicate-address",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VFIO_CCW);
DO_TEST_PARSE_ERROR("hostdev-subsys-mdev-vfio-ccw-invalid-address",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VFIO_CCW);
DO_TEST_CAPS_ARCH_LATEST("hostdev-subsys-mdev-vfio-ap",
@ -2009,7 +2006,7 @@ mymain(void)
DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM);
qemuTestSetHostArch(&driver, VIR_ARCH_S390X);
DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM, QEMU_CAPS_CCW);
DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM);
DO_TEST("cpu-s390-features", QEMU_CAPS_KVM, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION);
DO_TEST_FAILURE("cpu-s390-features", QEMU_CAPS_KVM);
qemuTestSetHostArch(&driver, VIR_ARCH_NONE);
@ -2416,17 +2413,15 @@ mymain(void)
DO_TEST_CAPS_ARCH_LATEST("s390-allow-bogus-usb-none", "s390x");
DO_TEST_CAPS_ARCH_LATEST("s390-allow-bogus-usb-controller", "s390x");
DO_TEST("s390-panic-no-address", QEMU_CAPS_CCW);
DO_TEST_PARSE_ERROR("s390-panic-address", QEMU_CAPS_CCW);
DO_TEST("s390-panic-missing", QEMU_CAPS_CCW);
DO_TEST_PARSE_ERROR("s390-no-parallel", QEMU_CAPS_CCW);
DO_TEST("s390-serial", QEMU_CAPS_CCW, QEMU_CAPS_DEVICE_SCLPCONSOLE);
DO_TEST_NOCAPS("s390-panic-no-address");
DO_TEST_PARSE_ERROR_NOCAPS("s390-panic-address");
DO_TEST_NOCAPS("s390-panic-missing");
DO_TEST_PARSE_ERROR_NOCAPS("s390-no-parallel");
DO_TEST("s390-serial", QEMU_CAPS_DEVICE_SCLPCONSOLE);
DO_TEST("s390-serial-2",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_SCLPCONSOLE,
QEMU_CAPS_DEVICE_SCLPLMCONSOLE);
DO_TEST("s390-serial-console",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_SCLPCONSOLE);
DO_TEST("ppc-dtb",
@ -2630,8 +2625,7 @@ mymain(void)
DO_TEST_CAPS_LATEST("hostdev-scsi-virtio-scsi");
DO_TEST("hostdev-scsi-vhost-scsi-ccw",
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI);
DO_TEST("hostdev-scsi-vhost-scsi-pci",
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_DEVICE_VHOST_SCSI);
@ -2889,66 +2883,51 @@ mymain(void)
DO_TEST("machine-aeskeywrap-on-caps",
QEMU_CAPS_AES_KEY_WRAP,
QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-aeskeywrap-on-cap",
QEMU_CAPS_AES_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-aeskeywrap-off-caps",
QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-aeskeywrap-off-cap",
QEMU_CAPS_AES_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-deakeywrap-on-caps",
QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-deakeywrap-on-cap",
QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-deakeywrap-off-caps",
QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-deakeywrap-off-cap",
QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-keywrap-none-caps",
QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-keywrap-none",
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("machine-loadparm-s390",
QEMU_CAPS_CCW,
QEMU_CAPS_LOADPARM);
DO_TEST("machine-loadparm-net-s390",
QEMU_CAPS_CCW,
QEMU_CAPS_LOADPARM);
DO_TEST("machine-loadparm-multiple-disks-nets-s390",
QEMU_CAPS_CCW,
QEMU_CAPS_LOADPARM);
DO_TEST_PARSE_ERROR("machine-loadparm-s390-char-invalid",
QEMU_CAPS_CCW,
QEMU_CAPS_LOADPARM);
DO_TEST_PARSE_ERROR("machine-loadparm-s390-len-invalid",
QEMU_CAPS_CCW,
QEMU_CAPS_LOADPARM);
DO_TEST_NOCAPS("qemu-ns-domain-ns0");
@ -3106,12 +3085,12 @@ mymain(void)
DO_TEST_CAPS_LATEST_PARSE_ERROR("tseg-i440fx");
DO_TEST_CAPS_LATEST_PARSE_ERROR("tseg-invalid-size");
DO_TEST("video-virtio-gpu-ccw", QEMU_CAPS_CCW,
DO_TEST("video-virtio-gpu-ccw",
QEMU_CAPS_DEVICE_VIRTIO_GPU,
QEMU_CAPS_VNC,
QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW);
DO_TEST("input-virtio-ccw", QEMU_CAPS_CCW,
DO_TEST("input-virtio-ccw",
QEMU_CAPS_VIRTIO_KEYBOARD,
QEMU_CAPS_VIRTIO_MOUSE,
QEMU_CAPS_VIRTIO_TABLET,

View File

@ -35,9 +35,7 @@
</address>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'>
<zpci uid='0x0002' fid='0x00000002'/>
</address>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/>
</memballoon>
<panic model='s390'/>
</devices>

View File

@ -35,9 +35,7 @@
</address>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'>
<zpci uid='0x0003' fid='0x00000001'/>
</address>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/>
</memballoon>
<panic model='s390'/>
</devices>

View File

@ -26,9 +26,7 @@
</address>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'>
<zpci uid='0x0002' fid='0x00000001'/>
</address>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/>
</memballoon>
<panic model='s390'/>
</devices>

View File

@ -40,9 +40,7 @@
</address>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'>
<zpci uid='0x0002' fid='0x00000001'/>
</address>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/>
</memballoon>
<panic model='s390'/>
</devices>

View File

@ -89,9 +89,7 @@
</address>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'>
<zpci uid='0x0005' fid='0x00000004'/>
</address>
<address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/>
</memballoon>
<panic model='s390'/>
</devices>

View File

@ -242,7 +242,7 @@ mymain(void)
DO_TEST_NOCAPS("machine-core-off");
DO_TEST_CAPS_LATEST("machine-smm-on");
DO_TEST_CAPS_LATEST("machine-smm-off");
DO_TEST("machine-loadparm-multiple-disks-nets-s390", QEMU_CAPS_CCW);
DO_TEST_NOCAPS("machine-loadparm-multiple-disks-nets-s390");
DO_TEST_NOCAPS("default-kvm-host-arch");
DO_TEST_NOCAPS("default-qemu-host-arch");
DO_TEST_NOCAPS("boot-cdrom");
@ -358,8 +358,7 @@ mymain(void)
QEMU_CAPS_SCSI_BLOCK);
DO_TEST("controller-virtio-scsi", QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("disk-virtio-s390-zpci",
QEMU_CAPS_DEVICE_ZPCI,
QEMU_CAPS_CCW);
QEMU_CAPS_DEVICE_ZPCI);
DO_TEST_NOCAPS("disk-mirror-old");
DO_TEST_NOCAPS("disk-mirror");
DO_TEST_NOCAPS("disk-active-commit");
@ -532,8 +531,7 @@ mymain(void)
DO_TEST("hostdev-vfio", QEMU_CAPS_DEVICE_VFIO_PCI);
DO_TEST("hostdev-vfio-zpci",
QEMU_CAPS_DEVICE_VFIO_PCI,
QEMU_CAPS_DEVICE_ZPCI,
QEMU_CAPS_CCW);
QEMU_CAPS_DEVICE_ZPCI);
DO_TEST("hostdev-vfio-zpci-multidomain-many",
QEMU_CAPS_DEVICE_VFIO_PCI,
QEMU_CAPS_DEVICE_PCI_BRIDGE,
@ -552,7 +550,6 @@ mymain(void)
QEMU_CAPS_DEVICE_PCI_BRIDGE,
QEMU_CAPS_DEVICE_ZPCI);
DO_TEST("hostdev-vfio-zpci-ccw-memballoon",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VFIO_PCI,
QEMU_CAPS_DEVICE_ZPCI);
DO_TEST("hostdev-mdev-precreated", QEMU_CAPS_DEVICE_VFIO_PCI);
@ -597,11 +594,11 @@ mymain(void)
DO_TEST_NOCAPS("iothreads-ids-partial");
DO_TEST_NOCAPS("cputune-iothreads");
DO_TEST_NOCAPS("iothreads-disk");
DO_TEST("iothreads-disk-virtio-ccw", QEMU_CAPS_CCW);
DO_TEST_NOCAPS("iothreads-disk-virtio-ccw");
DO_TEST("iothreads-virtio-scsi-pci",
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("iothreads-virtio-scsi-ccw",
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI);
DO_TEST_NOCAPS("lease");
DO_TEST_NOCAPS("event_idx");
DO_TEST_NOCAPS("vhost_queues");
@ -867,8 +864,7 @@ mymain(void)
QEMU_CAPS_HDA_DUPLEX);
DO_TEST("hostdev-scsi-vhost-scsi-ccw",
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI,
QEMU_CAPS_CCW);
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI);
DO_TEST("hostdev-scsi-vhost-scsi-pci",
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_DEVICE_VHOST_SCSI);
@ -892,21 +888,19 @@ mymain(void)
QEMU_CAPS_SCSI_LSI);
DO_TEST("hostdev-subsys-mdev-vfio-ccw",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VFIO_CCW);
DO_TEST_CAPS_ARCH_LATEST("hostdev-subsys-mdev-vfio-ccw-boot",
"s390x");
DO_TEST("hostdev-subsys-mdev-vfio-ap",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VFIO_AP);
DO_TEST_CAPS_ARCH_LATEST("s390-defaultconsole", "s390x");
DO_TEST("s390-panic", QEMU_CAPS_CCW);
DO_TEST("s390-panic-missing", QEMU_CAPS_CCW);
DO_TEST("s390-panic-no-address", QEMU_CAPS_CCW);
DO_TEST("s390-serial", QEMU_CAPS_CCW);
DO_TEST("s390-serial-2", QEMU_CAPS_CCW);
DO_TEST("s390-serial-console", QEMU_CAPS_CCW);
DO_TEST_NOCAPS("s390-panic");
DO_TEST_NOCAPS("s390-panic-missing");
DO_TEST_NOCAPS("s390-panic-no-address");
DO_TEST_NOCAPS("s390-serial");
DO_TEST_NOCAPS("s390-serial-2");
DO_TEST_NOCAPS("s390-serial-console");
DO_TEST_NOCAPS("pcihole64");
DO_TEST_NOCAPS("pcihole64-gib");
@ -1122,12 +1116,10 @@ mymain(void)
DO_TEST("video-qxl-resolution", QEMU_CAPS_DEVICE_QXL);
DO_TEST("video-virtio-gpu-secondary", QEMU_CAPS_DEVICE_VIRTIO_GPU);
DO_TEST("video-virtio-gpu-ccw",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VIRTIO_GPU,
QEMU_CAPS_VNC,
QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW);
DO_TEST("video-virtio-gpu-ccw-auto",
QEMU_CAPS_CCW,
QEMU_CAPS_DEVICE_VIRTIO_GPU,
QEMU_CAPS_VNC,
QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW);
@ -1170,7 +1162,6 @@ mymain(void)
DO_TEST_CAPS_LATEST("user-aliases");
DO_TEST("input-virtio-ccw",
QEMU_CAPS_CCW,
QEMU_CAPS_VIRTIO_KEYBOARD,
QEMU_CAPS_VIRTIO_MOUSE,
QEMU_CAPS_VIRTIO_TABLET,
@ -1182,10 +1173,8 @@ mymain(void)
DO_TEST_CAPS_LATEST("vhost-vsock");
DO_TEST_CAPS_LATEST("vhost-vsock-auto");
DO_TEST("vhost-vsock-ccw", QEMU_CAPS_DEVICE_VHOST_VSOCK,
QEMU_CAPS_CCW);
DO_TEST("vhost-vsock-ccw-auto", QEMU_CAPS_DEVICE_VHOST_VSOCK,
QEMU_CAPS_CCW);
DO_TEST("vhost-vsock-ccw", QEMU_CAPS_DEVICE_VHOST_VSOCK);
DO_TEST("vhost-vsock-ccw-auto", QEMU_CAPS_DEVICE_VHOST_VSOCK);
DO_TEST_CAPS_ARCH_LATEST("vhost-vsock-ccw-iommu", "s390x");