From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523462362554322.24396640533496; Wed, 11 Apr 2018 08:59:22 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AACF231391D7; Wed, 11 Apr 2018 15:59:19 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CFFC6781B2; Wed, 11 Apr 2018 15:57:32 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 4E3164CAAB; Wed, 11 Apr 2018 15:51:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFp3vG024618 for ; Wed, 11 Apr 2018 11:51:03 -0400 Received: by smtp.corp.redhat.com (Postfix) id B19B65F726; Wed, 11 Apr 2018 15:51:03 +0000 (UTC) Received: from mx1.redhat.com (ext-mx15.extmail.prod.ext.phx2.redhat.com [10.5.110.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9D70578DBE for ; Wed, 11 Apr 2018 15:50:32 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 37655313773B for ; Wed, 11 Apr 2018 15:50:14 +0000 (UTC) Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFkmjq111231 for ; Wed, 11 Apr 2018 11:50:13 -0400 Received: from e06smtp15.uk.ibm.com (e06smtp15.uk.ibm.com [195.75.94.111]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9hx1tpf8-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:11 -0400 Received: from localhost by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:07 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp15.uk.ibm.com (192.168.101.145) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:06 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFo5eo8847840; Wed, 11 Apr 2018 15:50:05 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 89F7611C052; Wed, 11 Apr 2018 16:42:10 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6651611C04C; Wed, 11 Apr 2018 16:42:10 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:10 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:52 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0020-0000-0000-00000410B522 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0021-0000-0000-000042A4DF84 Message-Id: <20180411154959.228209-2-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Wed, 11 Apr 2018 15:50:14 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Wed, 11 Apr 2018 15:50:14 +0000 (UTC) for IP:'148.163.158.5' DOMAIN:'mx0b-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: 0.091 (RCVD_IN_DNSWL_LOW, UPPERCASE_50_75) 148.163.158.5 mx0b-001b2d01.pphosted.com 148.163.158.5 mx0b-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.44 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 1/8] qemu: introduce capability for virtual-css-bridge X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Wed, 11 Apr 2018 15:59:21 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Let us introduce the capability QEMU_CAPS_CCW for virtual-css-bridge and replace QEMU_CAPS_VIRTIO_CCW with QEMU_CAPS_CCW in code segments which identify support for ccw devices. The virtual-css-bridge is part of the ccw support introduced in QEMU 2.7. The QEMU_CAPS_CCW capability is based on the existence of the QEMU type. Let us also add the capability QEMU_CAPS_CCW to the tests which require support for ccw devices. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski --- src/qemu/qemu_capabilities.c | 9 +++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_domain_address.c | 4 +- src/qemu/qemu_hotplug.c | 4 +- tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 + tests/qemuhotplugtest.c | 2 +- tests/qemuxml2argvtest.c | 86 ++++++++++++--------= ---- tests/qemuxml2xmltest.c | 26 +++---- 13 files changed, 77 insertions(+), 62 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 91b7aa31ec..719f527362 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -468,6 +468,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "virtio-tablet-ccw", "qcow2-luks", "pcie-pci-bridge", + "virtual-css-bridge", ); =20 =20 @@ -1104,6 +1105,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "virtio-mouse-ccw", QEMU_CAPS_DEVICE_VIRTIO_MOUSE_CCW }, { "virtio-tablet-ccw", QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW }, { "pcie-pci-bridge", QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE }, + { "virtual-css-bridge", QEMU_CAPS_CCW }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[]= =3D { @@ -3926,6 +3928,13 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_CACHE); =20 + 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); + } + ret =3D 0; cleanup: return ret; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index bec28cae92..728d7fa7d2 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -452,6 +452,7 @@ typedef enum { QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW, /* -device virtio-tablet-ccw */ QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, /* -device pcie-pci-bridge */ + QEMU_CAPS_CCW, /* -device virtual-css-bridge */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 100304fd05..9f1f6a218f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11780,7 +11780,7 @@ qemuDomainCheckCCWS390AddressSupport(const virDomai= nDef *def, "'%s' using machine type '%s'"), devicename, def->os.machine); return false; - } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { + } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("CCW address type is not supported by " "this QEMU")); diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 7fe9d5926c..ae6c59bb01 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -396,7 +396,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def, virDomainCCWAddressSetPtr addrs =3D NULL; =20 if (qemuDomainIsS390CCW(def) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { + virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW)) { qemuDomainPrimeVirtioDeviceAddresses( def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW); =20 @@ -2985,7 +2985,7 @@ qemuDomainEnsureVirtioAddress(bool *releaseAddr, =20 if (!info->type) { if (qemuDomainIsS390CCW(vm->def) && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) + virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW)) info->type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_S390)) info->type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index f0d549de38..634477eaeb 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1012,7 +1012,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, } =20 if (qemuDomainIsS390CCW(vm->def) && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) { + virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW)) { net->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; if (!(ccwaddrs =3D qemuDomainCCWAddrSetCreateFromDomain(vm->def))) goto cleanup; @@ -2502,7 +2502,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriverPtr driv= er, =20 if (hostdev->info->type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { if (qemuDomainIsS390CCW(vm->def) && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW)) + virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW)) hostdev->info->type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; } =20 diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.10.0.s390x.xml index c4be3fca51..c8bd2c2b74 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml @@ -147,6 +147,7 @@ + 2010000 0 303326 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.11.0.s390x.xml index cbd645ae93..de886267bd 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -151,6 +151,7 @@ + 2011000 0 342058 diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.7.0.s390x.xml index b58c3a1bda..0d2c7f353b 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml @@ -137,6 +137,7 @@ + 2007000 0 216732 diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index 2b91337fde..9c7a028584 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -139,6 +139,7 @@ + 2007093 0 241633 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.9.0.s390x.xml index ac8d145d19..5b4dc0e8ba 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml @@ -142,6 +142,7 @@ + 2009000 0 265051 diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 85e53653e1..0c88f36132 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -74,7 +74,7 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt, =20 virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE); - virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_CCW); + 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); diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 165137e93c..de5bf6fe5a 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -929,11 +929,11 @@ mymain(void) DO_TEST("disk-many", NONE); DO_TEST("disk-virtio", QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-virtio-ccw", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("disk-virtio-ccw-many", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("disk-virtio-scsi-ccw", QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("disk-order", QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("disk-virtio-drive-queues", @@ -1243,7 +1243,7 @@ mymain(void) DO_TEST("net-virtio-s390", QEMU_CAPS_VIRTIO_S390); DO_TEST("net-virtio-ccw", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("net-virtio-rxtxqueuesize", QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE); @@ -1396,7 +1396,7 @@ mymain(void) DO_TEST("console-virtio-ccw", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_BOOTINDEX, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("console-sclp", QEMU_CAPS_NODEFCONFIG, @@ -1628,7 +1628,7 @@ mymain(void) DO_TEST("fs9p-ccw", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_FSDEV, QEMU_CAPS_FSDEV_WRITEOUT, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); =20 DO_TEST("hostdev-usb-address", NONE); DO_TEST("hostdev-usb-address-device", @@ -1680,13 +1680,13 @@ mymain(void) DO_TEST_FAILURE("iothreads-nocap", NONE); DO_TEST("iothreads-disk", QEMU_CAPS_OBJECT_IOTHREAD); DO_TEST("iothreads-disk-virtio-ccw", QEMU_CAPS_OBJECT_IOTHREAD, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("iothreads-virtio-scsi-pci", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_OBJECT_IOTHREAD, QEMU_CAPS_VIRTIO_SCSI_IOTHREAD); DO_TEST("iothreads-virtio-scsi-ccw", QEMU_CAPS_OBJECT_IOTHREAD, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI_IOTHREAD, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); =20 DO_TEST("cpu-topology1", NONE); DO_TEST("cpu-topology2", NONE); @@ -1718,7 +1718,7 @@ mymain(void) DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM); =20 qemuTestSetHostArch(driver.caps, VIR_ARCH_S390X); - DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM, QEMU_CAPS_VIRTIO_CCW, QEMU_CA= PS_VIRTIO_S390); + DO_TEST("cpu-s390-zEC12", QEMU_CAPS_KVM, QEMU_CAPS_CCW, QEMU_CAPS_VIRT= IO_S390); 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.caps, VIR_ARCH_NONE); @@ -2117,7 +2117,7 @@ mymain(void) DO_TEST("virtio-rng-ccw", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_BOOTINDEX, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM); @@ -2137,34 +2137,34 @@ mymain(void) =20 DO_TEST("s390-panic-no-address", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("s390-panic-address", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic-missing", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_PARSE_ERROR("s390-no-parallel", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-serial", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_DEVICE_SCLPCONSOLE); DO_TEST("s390-serial-2", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_DEVICE_SCLPCONSOLE, QEMU_CAPS_DEVICE_SCLPLMCONSOLE); DO_TEST("s390-serial-console", QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_DEVICE_SCLPCONSOLE); =20 @@ -2541,7 +2541,7 @@ mymain(void) # endif 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); + QEMU_CAPS_DEVICE_SCSI_GENERIC, QEMU_CAPS_CCW); DO_TEST("hostdev-scsi-vhost-scsi-pci", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI, QEMU_CAPS_DEVICE_SCSI_GENERIC); @@ -2817,99 +2817,99 @@ mymain(void) QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-on-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-on-caps", NONE); =20 DO_TEST("machine-aeskeywrap-on-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-on-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-on-cap", NONE); =20 DO_TEST("machine-aeskeywrap-off-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_K= EY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-off-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-off-caps", NONE); =20 DO_TEST("machine-aeskeywrap-off-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-off-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-aeskeywrap-off-cap", NONE); =20 DO_TEST("machine-deakeywrap-on-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_K= EY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-on-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-on-caps", NONE); =20 DO_TEST("machine-deakeywrap-on-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-on-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-on-cap", NONE); =20 DO_TEST("machine-deakeywrap-off-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_K= EY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-off-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-off-caps", NONE); =20 DO_TEST("machine-deakeywrap-off-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-off-cap", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST_FAILURE("machine-deakeywrap-off-cap", NONE); =20 DO_TEST("machine-keywrap-none-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_K= EY_WRAP, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("machine-keywrap-none", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); =20 DO_TEST("machine-loadparm-s390", QEMU_CAPS_MACHINE_OPT, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_LOADPARM); DO_TEST("machine-loadparm-net-s390", QEMU_CAPS_MACHINE_OPT, - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_LOADPARM); DO_TEST("machine-loadparm-multiple-disks-nets-s390", - QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_LOADPARM); DO_TEST_PARSE_ERROR("machine-loadparm-s390-char-invalid", - QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_LOADPARM); DO_TEST_PARSE_ERROR("machine-loadparm-s390-len-invalid", - QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_LOADPARM); =20 @@ -3061,14 +3061,14 @@ mymain(void) DO_TEST("disk-many-format-probing", QEMU_CAPS_DRIVE_BOOT); driver.config->allowDiskFormatProbing =3D false; =20 - DO_TEST("video-virtio-gpu-ccw", QEMU_CAPS_VIRTIO_CCW, + DO_TEST("video-virtio-gpu-ccw", QEMU_CAPS_CCW, QEMU_CAPS_DEVICE_VIRTIO_GPU, QEMU_CAPS_DEVICE_VIDEO_PRIMARY, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW); =20 - DO_TEST("input-virtio-ccw", QEMU_CAPS_VIRTIO_CCW, + DO_TEST("input-virtio-ccw", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_KEYBOARD, QEMU_CAPS_VIRTIO_MOUSE, QEMU_CAPS_VIRTIO_TABLET, diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index d123180e79..4901eb286e 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -502,11 +502,11 @@ mymain(void) DO_TEST("cputune-iothreads", NONE); DO_TEST("iothreads-disk", NONE); DO_TEST("iothreads-disk-virtio-ccw", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("iothreads-virtio-scsi-pci", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI); DO_TEST("iothreads-virtio-scsi-ccw", - QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("lease", NONE); DO_TEST("event_idx", NONE); @@ -973,7 +973,7 @@ mymain(void) =20 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); + QEMU_CAPS_DEVICE_SCSI_GENERIC, QEMU_CAPS_CCW); DO_TEST("hostdev-scsi-vhost-scsi-pci", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI, QEMU_CAPS_DEVICE_SCSI_GENERIC); @@ -1025,19 +1025,19 @@ mymain(void) QEMU_CAPS_DEVICE_SCSI_GENERIC); =20 DO_TEST("s390-defaultconsole", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic-missing", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic-no-address", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-serial", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-serial-2", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-serial-console", - QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); =20 DO_TEST("pcihole64", NONE); DO_TEST("pcihole64-gib", NONE); @@ -1190,14 +1190,14 @@ mymain(void) DO_TEST("video-qxl-noheads", NONE); DO_TEST("video-virtio-gpu-secondary", NONE); DO_TEST("video-virtio-gpu-ccw", - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_DEVICE_VIRTIO_GPU, QEMU_CAPS_DEVICE_VIDEO_PRIMARY, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW); DO_TEST("video-virtio-gpu-ccw-auto", - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_DEVICE_VIRTIO_GPU, QEMU_CAPS_DEVICE_VIDEO_PRIMARY, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS, @@ -1240,7 +1240,7 @@ mymain(void) =20 DO_TEST("user-aliases", NONE); DO_TEST("input-virtio-ccw", - QEMU_CAPS_VIRTIO_CCW, + QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_KEYBOARD, QEMU_CAPS_VIRTIO_MOUSE, QEMU_CAPS_VIRTIO_TABLET, --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523462360934779.3701070597671; Wed, 11 Apr 2018 08:59:20 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A8E273130325; Wed, 11 Apr 2018 15:59:19 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CE2FD6E38B; Wed, 11 Apr 2018 15:57:32 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 4D27D4CA9F; Wed, 11 Apr 2018 15:50:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFoiRC024577 for ; Wed, 11 Apr 2018 11:50:44 -0400 Received: by smtp.corp.redhat.com (Postfix) id 45597A099F; Wed, 11 Apr 2018 15:50:35 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 35C0767E48 for ; Wed, 11 Apr 2018 15:50:23 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7443B17121C for ; Wed, 11 Apr 2018 15:50:13 +0000 (UTC) Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFlTCp038809 for ; Wed, 11 Apr 2018 11:50:13 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0b-001b2d01.pphosted.com with ESMTP id 2h9m79bpbp-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:11 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:09 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (9.149.109.196) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:07 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFo7hg49479812; Wed, 11 Apr 2018 15:50:07 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B0F7111C050; Wed, 11 Apr 2018 16:42:11 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 93CB911C05C; Wed, 11 Apr 2018 16:42:11 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:11 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:53 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0008-0000-0000-000004E95C3D X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0009-0000-0000-00001E7D6075 Message-Id: <20180411154959.228209-3-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 11 Apr 2018 15:50:13 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 11 Apr 2018 15:50:13 +0000 (UTC) for IP:'148.163.158.5' DOMAIN:'mx0b-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.158.5 mx0b-001b2d01.pphosted.com 148.163.158.5 mx0b-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 2/8] qemu: introduce vfio-ccw capability X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Wed, 11 Apr 2018 15:59:20 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Let us introduce the capability vfio-ccw for supporting the basic channel I/O passthrough, which have been introduced in QEMU 2.10. The current focus is to support dasd-eckd (cu_type/dev_type =3D 0x3990/0x3390) as the target device. Let us also introduce the capability QEMU_CAPS_CCW_CSSID_UNRESTRICTED for virtual-css-bridge. This capability is based on the cssid-unrestricted property which exists if QEMU no longer enforces cssid restrictions based on ccw device types. Vfio-ccw capability is dependent on the hidden virtual-css-bridge, so that we are able to probe for the cssid-unrestriced property. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski --- src/qemu/qemu_capabilities.c | 14 ++++++++++ src/qemu/qemu_capabilities.h | 4 +++ .../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 28 ++++++++++++------- tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 28 ++++++++++++------- tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.12.0.s390x.replies | 31 ++++++++++++++++--= ---- tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 3 +++ .../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 24 ++++++++++++----- tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 28 ++++++++++++------- tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 28 ++++++++++++------- tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +- 14 files changed, 142 insertions(+), 56 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 719f527362..a0816de80d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -469,6 +469,10 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "qcow2-luks", "pcie-pci-bridge", "virtual-css-bridge", + "virtual-css-bridge.cssid-unrestricted", + + /* 290 */ + "vfio-ccw", ); =20 =20 @@ -1106,6 +1110,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "virtio-tablet-ccw", QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW }, { "pcie-pci-bridge", QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE }, { "virtual-css-bridge", QEMU_CAPS_CCW }, + { "vfio-ccw", QEMU_CAPS_DEVICE_VFIO_CCW }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[]= =3D { @@ -1244,6 +1249,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObje= ctPropsIntelIOMMU[] =3D { { "device-iotlb", QEMU_CAPS_INTEL_IOMMU_DEVICE_IOTLB }, }; =20 +static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtualCSSBridg= e[] =3D { + { "cssid-unrestricted", QEMU_CAPS_CCW_CSSID_UNRESTRICTED }, +}; + /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] =3D { { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUS= TER_DEBUG_LEVEL}, @@ -1363,6 +1372,9 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsO= bjectProps[] =3D { { "virtio-gpu-ccw", virQEMUCapsObjectPropsVirtioGpu, ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioGpu), QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW }, + { "virtual-css-bridge", virQEMUCapsObjectPropsVirtualCSSBridge, + ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtualCSSBridge), + QEMU_CAPS_CCW }, }; =20 =20 @@ -3933,6 +3945,8 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CCW); + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW_CSSID_UNRESTRICTED)) + virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW); } =20 ret =3D 0; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 728d7fa7d2..c489aeb9c3 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -453,6 +453,10 @@ typedef enum { QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, /* -device pcie-pci-bridge */ QEMU_CAPS_CCW, /* -device virtual-css-bridge */ + QEMU_CAPS_CCW_CSSID_UNRESTRICTED, /* virtual-css-bridge.cssid-unrestri= cted=3D */ + + /* 290 */ + QEMU_CAPS_DEVICE_VFIO_CCW, /* -device vfio-ccw */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.10.0.s390x.replies index 534756f0b3..3e19ac67da 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies @@ -3405,6 +3405,16 @@ { "return": [ { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { "hotpluggable-cpus": false, "name": "s390-ccw-virtio-2.7", "cpu-max": 248 @@ -3447,7 +3457,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -3981,19 +3991,19 @@ "migration-safe": true } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "return": [ ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -5098,7 +5108,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5148,7 +5158,7 @@ "capability": "return-path" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -14871,7 +14881,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -14911,11 +14921,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.10.0.s390x.xml index c8bd2c2b74..ae54e29d80 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml @@ -150,7 +150,7 @@ 2010000 0 - 303326 + 303434 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.11.0.s390x.replies index 2de256009e..21fede318b 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies @@ -3524,6 +3524,16 @@ { "return": [ { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-35" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "s390-ccw-virtio-2.7", "cpu-max": 248 @@ -3571,7 +3581,7 @@ "cpu-max": 248 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4105,20 +4115,20 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "emulator" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5239,7 +5249,7 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5297,7 +5307,7 @@ "capability": "x-multifd" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -15165,7 +15175,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -15204,11 +15214,11 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { - "id": "libvirt-43", + "id": "libvirt-44", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.11.0.s390x.xml index de886267bd..c162f74f6d 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -154,7 +154,7 @@ 2011000 0 - 342058 + 342166 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.12.0.s390x.replies index c4e44c6d0f..4a0317b3cb 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies @@ -3617,6 +3617,21 @@ { "return": [ { + "name": "cssid-unrestricted", + "description": "A css device can use any cssid, regardless whether v= irtual or not (read only, always true)", + "type": "bool" + }, + { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-35" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "s390-ccw-virtio-2.7", "cpu-max": 248 @@ -3669,7 +3684,7 @@ "alias": "s390-ccw-virtio" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -6324,20 +6339,20 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "emulator" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -7493,7 +7508,7 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -7555,7 +7570,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -18923,11 +18938,11 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "The CPU definition 'max' is unknown." diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index 191b1e0e37..728f92dcfc 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -151,6 +151,9 @@ + + + 2011090 0 0 diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.7.0.s390x.replies index 61fbd9a667..fe2aecd2b6 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.replies @@ -2550,6 +2550,16 @@ { "return": [ { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { "hotpluggable-cpus": false, "name": "s390-ccw-virtio-2.5", "cpu-max": 248 @@ -2577,7 +2587,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -2586,19 +2596,19 @@ "name": "host" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "return": [ ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -3534,7 +3544,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -3568,7 +3578,7 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -11924,7 +11934,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.7.0.s390x.xml index 0d2c7f353b..533b8020c4 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml @@ -140,7 +140,7 @@ 2007000 0 - 216732 + 216840 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.8.0.s390x.replies index 818118caf2..34734ec19b 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -2823,6 +2823,16 @@ { "return": [ { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { "hotpluggable-cpus": false, "name": "s390-ccw-virtio-2.7", "cpu-max": 248 @@ -2855,7 +2865,7 @@ "alias": "s390-ccw-virtio" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -3181,19 +3191,19 @@ "migration-safe": true } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "return": [ ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -4154,7 +4164,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -4192,7 +4202,7 @@ "capability": "x-colo" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -12962,7 +12972,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -12988,11 +12998,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.8.0.s390x.xml index 9c7a028584..8e142a343b 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml @@ -142,7 +142,7 @@ 2007093 0 - 241633 + 241741 s390x diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.9.0.s390x.replies index cbacec6d02..967148a022 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies @@ -3104,6 +3104,16 @@ { "return": [ { + "name": "css_dev_path", + "type": "bool" + } + ], + "id": "libvirt-34" +} + +{ + "return": [ + { "hotpluggable-cpus": false, "name": "s390-ccw-virtio-2.7", "cpu-max": 248 @@ -3141,7 +3151,7 @@ "cpu-max": 248 } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -3531,19 +3541,19 @@ "migration-safe": true } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "return": [ ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -4618,7 +4628,7 @@ "option": "drive" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -4660,7 +4670,7 @@ "capability": "release-ram" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -13946,7 +13956,7 @@ "meta-type": "object" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -13973,11 +13983,11 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "Property '.migratable' not found" diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_2.9.0.s390x.xml index 5b4dc0e8ba..431e4d8324 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml @@ -145,7 +145,7 @@ 2009000 0 - 265051 + 265159 s390x --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523780645445474.7944566160055; Sun, 15 Apr 2018 01:24:05 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F260528200; Sun, 15 Apr 2018 08:24:03 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C59DE611B1; Sun, 15 Apr 2018 08:24:03 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 752585BC11; Sun, 15 Apr 2018 08:24:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFxqDR026559 for ; Wed, 11 Apr 2018 11:59:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1A7C45E1C9; Wed, 11 Apr 2018 15:59:41 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 09D1581F0F for ; Wed, 11 Apr 2018 15:59:27 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5FB7FC01CB77 for ; Wed, 11 Apr 2018 15:50:13 +0000 (UTC) Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFknpw017352 for ; Wed, 11 Apr 2018 11:50:13 -0400 Received: from e06smtp14.uk.ibm.com (e06smtp14.uk.ibm.com [195.75.94.110]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9n6hrgc0-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:12 -0400 Received: from localhost by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:10 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp14.uk.ibm.com (192.168.101.144) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:08 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFo8R547120556; Wed, 11 Apr 2018 15:50:08 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DA6BC11C04C; Wed, 11 Apr 2018 16:42:12 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C3DC511C06C; Wed, 11 Apr 2018 16:42:12 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:12 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:54 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0044-0000-0000-00000546169E X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0045-0000-0000-000028864CAA Message-Id: <20180411154959.228209-4-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 11 Apr 2018 15:50:13 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 11 Apr 2018 15:50:13 +0000 (UTC) for IP:'148.163.156.1' DOMAIN:'mx0a-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.156.1 mx0a-001b2d01.pphosted.com 148.163.156.1 mx0a-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 3/8] util: virhostdev: add virHostdevIsMdevDevice() X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Sun, 15 Apr 2018 08:24:04 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add the function virHostdevIsMdevDevice() which detects whether a hostdev is a mediated device or not. Also, replace all existing conditionals. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski --- src/libvirt_private.syms | 1 + src/qemu/qemu_command.c | 4 +--- src/qemu/qemu_domain_address.c | 8 ++++---- src/qemu/qemu_hostdev.c | 3 +-- src/util/virhostdev.c | 26 +++++++++++++++++--------- src/util/virhostdev.h | 3 +++ 6 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index cab324c4d7..fe35640af1 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1926,6 +1926,7 @@ virHostCPUStatsAssign; =20 # util/virhostdev.h virHostdevFindUSBDevice; +virHostdevIsMdevDevice; virHostdevIsSCSIDevice; virHostdevManagerGetDefault; virHostdevPCINodeDeviceDetach; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 514c3ab2ef..e47f915fc8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5346,9 +5346,7 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, } =20 /* MDEV */ - if (hostdev->mode =3D=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && - subsys->type =3D=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV) { - + if (virHostdevIsMdevDevice(hostdev)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_PCI)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("VFIO PCI device assignment is not " diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index ae6c59bb01..8acd5a7b71 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -655,10 +655,10 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDev= iceDefPtr dev, virPCIDevicePtr pciDev; virPCIDeviceAddressPtr hostAddr =3D &hostdev->source.subsys.u.pci.= addr; =20 - if (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || - (hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TY= PE_PCI && - hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TY= PE_MDEV && - hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TY= PE_SCSI_HOST)) { + if (!virHostdevIsMdevDevice(hostdev) && + (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || + (hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_T= YPE_PCI && + hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_T= YPE_SCSI_HOST))) { return 0; } =20 diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index afe445d4e7..ab76e35a23 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -339,8 +339,7 @@ qemuHostdevPrepareMediatedDevices(virQEMUDriverPtr driv= er, supportsVFIO =3D virFileExists("/dev/vfio/vfio"); =20 for (i =3D 0; i < nhostdevs; i++) { - if (hostdevs[i]->mode =3D=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && - hostdevs[i]->source.subsys.type =3D=3D VIR_DOMAIN_HOSTDEV_SUBS= YS_TYPE_MDEV) { + if (virHostdevIsMdevDevice(hostdevs[i])) { if (!supportsVFIO) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Mediated host device assignment requires= " diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index a12224c58f..b28dc29a41 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -375,6 +375,20 @@ virHostdevIsSCSIDevice(virDomainHostdevDefPtr hostdev) } =20 =20 +/** + * virHostdevIsMdevDevice: + * @hostdev: host device to check + * + * Returns true if @hostdev is a Mediated device, false otherwise. + */ +bool +virHostdevIsMdevDevice(virDomainHostdevDefPtr hostdev) +{ + return hostdev->mode =3D=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && + hostdev->source.subsys.type =3D=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_= MDEV; +} + + static int virHostdevNetConfigVirtPortProfile(const char *linkdev, int vf, virNetDevVPortProfilePtr virtPort, @@ -1333,10 +1347,8 @@ virHostdevUpdateActiveMediatedDevices(virHostdevMana= gerPtr mgr, =20 mdevsrc =3D &hostdev->source.subsys.u.mdev; =20 - if (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || - hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYP= E_MDEV) { + if (!virHostdevIsMdevDevice(hostdev)) continue; - } =20 if (!(mdev =3D virMediatedDeviceNew(mdevsrc->uuidstr, mdevsrc->mod= el))) goto cleanup; @@ -1831,9 +1843,7 @@ virHostdevPrepareMediatedDevices(virHostdevManagerPtr= mgr, virDomainHostdevSubsysMediatedDevPtr src =3D &hostdev->source.subs= ys.u.mdev; virMediatedDevicePtr mdev; =20 - if (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYP= E_MDEV) + if (!virHostdevIsMdevDevice(hostdev)) continue; =20 if (!(mdev =3D virMediatedDeviceNew(src->uuidstr, src->model))) @@ -2090,10 +2100,8 @@ virHostdevReAttachMediatedDevices(virHostdevManagerP= tr mgr, =20 mdevsrc =3D &hostdev->source.subsys.u.mdev; =20 - if (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || - hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYP= E_MDEV) { + if (!virHostdevIsMdevDevice(hostdev)) continue; - } =20 if (!(mdev =3D virMediatedDeviceNew(mdevsrc->uuidstr, mdevsrc->model))) diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h index 54e1c66be3..8f77c00221 100644 --- a/src/util/virhostdev.h +++ b/src/util/virhostdev.h @@ -191,6 +191,9 @@ virHostdevReAttachDomainDevices(virHostdevManagerPtr mg= r, bool virHostdevIsSCSIDevice(virDomainHostdevDefPtr hostdev) ATTRIBUTE_NONNULL(1); +bool +virHostdevIsMdevDevice(virDomainHostdevDefPtr hostdev) + ATTRIBUTE_NONNULL(1); =20 /* functions used by NodeDevDetach/Reattach/Reset */ int virHostdevPCINodeDeviceDetach(virHostdevManagerPtr mgr, --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523461898181672.0356940535618; Wed, 11 Apr 2018 08:51:38 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7D00E31483FA; Wed, 11 Apr 2018 15:51:36 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2B3657AC80; Wed, 11 Apr 2018 15:51:36 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8FA794CAB6; Wed, 11 Apr 2018 15:51:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFpSC9025037 for ; Wed, 11 Apr 2018 11:51:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id 2A390891B1; Wed, 11 Apr 2018 15:51:28 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 359DA6592E for ; Wed, 11 Apr 2018 15:51:15 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 06A3F31343AB for ; Wed, 11 Apr 2018 15:50:15 +0000 (UTC) Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFkmha111216 for ; Wed, 11 Apr 2018 11:50:14 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9hx1tpk1-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:13 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:11 +0100 Received: from b06cxnps3075.portsmouth.uk.ibm.com (9.149.109.195) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:09 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFo91B7930190; Wed, 11 Apr 2018 15:50:09 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0F98111C05C; Wed, 11 Apr 2018 16:42:14 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EEDF011C066; Wed, 11 Apr 2018 16:42:13 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:13 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:55 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0008-0000-0000-000004E95C40 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0009-0000-0000-00001E7D6079 Message-Id: <20180411154959.228209-5-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Wed, 11 Apr 2018 15:50:15 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Wed, 11 Apr 2018 15:50:15 +0000 (UTC) for IP:'148.163.158.5' DOMAIN:'mx0b-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.158.5 mx0b-001b2d01.pphosted.com 148.163.158.5 mx0b-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 4/8] qemu: vfio-ccw device address generation X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Wed, 11 Apr 2018 15:51:37 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Introduces the vfio-ccw model for mediated devices and prime vfio-ccw devices such that CCW address will be generated. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski Reviewed-by: Marc Hartmayer Reviewed-by: Stefan Zimmermann --- docs/schemas/domaincommon.rng | 5 ++++- src/qemu/qemu_domain_address.c | 20 ++++++++++++++++++++ src/util/virmdev.c | 3 ++- src/util/virmdev.h | 1 + 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 4cab55f05d..dfb4a3c43a 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -4475,7 +4475,10 @@ mdev - vfio-pci + + vfio-pci + vfio-ccw + diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 8acd5a7b71..1b4d8bf66c 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -282,6 +282,23 @@ qemuDomainAssignSpaprVIOAddresses(virDomainDefPtr def) =20 =20 static void +qemuDomainPrimeVfioDeviceAddresses(virDomainDefPtr def, + virDomainDeviceAddressType type) +{ + size_t i; + + for (i =3D 0; i < def->nhostdevs; i++) { + virDomainHostdevSubsysPtr subsys =3D &def->hostdevs[i]->source.sub= sys; + + if (virHostdevIsMdevDevice(def->hostdevs[i]) && + subsys->u.mdev.model =3D=3D VIR_MDEV_MODEL_TYPE_VFIO_CCW && + def->hostdevs[i]->info->type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_= TYPE_NONE) + def->hostdevs[i]->info->type =3D type; + } +} + + +static void qemuDomainPrimeVirtioDeviceAddresses(virDomainDefPtr def, virDomainDeviceAddressType type) { @@ -397,6 +414,9 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def, =20 if (qemuDomainIsS390CCW(def) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW)) { + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW)) + qemuDomainPrimeVfioDeviceAddresses( + def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW); qemuDomainPrimeVirtioDeviceAddresses( def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW); =20 diff --git a/src/util/virmdev.c b/src/util/virmdev.c index 27541cf34f..1ac5cb403d 100644 --- a/src/util/virmdev.c +++ b/src/util/virmdev.c @@ -48,7 +48,8 @@ struct _virMediatedDeviceList { }; =20 VIR_ENUM_IMPL(virMediatedDeviceModel, VIR_MDEV_MODEL_TYPE_LAST, - "vfio-pci") + "vfio-pci", + "vfio-ccw") =20 static virClassPtr virMediatedDeviceListClass; =20 diff --git a/src/util/virmdev.h b/src/util/virmdev.h index 01ab02e751..cfda2cacab 100644 --- a/src/util/virmdev.h +++ b/src/util/virmdev.h @@ -25,6 +25,7 @@ =20 typedef enum { VIR_MDEV_MODEL_TYPE_VFIO_PCI =3D 0, + VIR_MDEV_MODEL_TYPE_VFIO_CCW =3D 1, =20 VIR_MDEV_MODEL_TYPE_LAST } virMediatedDeviceModelType; --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523462674793951.730963246555; Wed, 11 Apr 2018 09:04:34 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5F89A313630B; Wed, 11 Apr 2018 16:04:33 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4DDAA87054; Wed, 11 Apr 2018 16:01:38 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8F543180BADA; Wed, 11 Apr 2018 15:51:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFpFVQ024651 for ; Wed, 11 Apr 2018 11:51:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id 746FD7E6D1; Wed, 11 Apr 2018 15:51:15 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6612A7E6CA for ; Wed, 11 Apr 2018 15:51:00 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 643227B12E for ; Wed, 11 Apr 2018 15:50:21 +0000 (UTC) Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFo29u029817 for ; Wed, 11 Apr 2018 11:50:21 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9n6hrgf7-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:15 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:13 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:10 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFoAUe66388016; Wed, 11 Apr 2018 15:50:10 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4172911C05E; Wed, 11 Apr 2018 16:42:15 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 22EF311C04A; Wed, 11 Apr 2018 16:42:15 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:15 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:56 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0008-0000-0000-000004E95C42 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0009-0000-0000-00001E7D607B Message-Id: <20180411154959.228209-6-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 11 Apr 2018 15:50:21 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 11 Apr 2018 15:50:21 +0000 (UTC) for IP:'148.163.156.1' DOMAIN:'mx0a-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.156.1 mx0a-001b2d01.pphosted.com 148.163.156.1 mx0a-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 5/8] qemu: command line generation for vfio-ccw device X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Wed, 11 Apr 2018 16:04:33 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Generates the QEMU command line for the vfio-ccw device. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski Reviewed-by: Marc Hartmayer --- src/qemu/qemu_command.c | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e47f915fc8..ad60a7b433 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5123,11 +5123,17 @@ qemuBuildHostdevMediatedDevStr(const virDomainDef *= def, virDomainHostdevSubsysMediatedDevPtr mdevsrc =3D &dev->source.subsys.u= .mdev; char *ret =3D NULL; char *mdevPath =3D NULL; + const char *dev_str =3D NULL; =20 if (!(mdevPath =3D virMediatedDeviceGetSysfsPath(mdevsrc->uuidstr))) goto cleanup; =20 - virBufferAddLit(&buf, "vfio-pci"); + dev_str =3D virMediatedDeviceModelTypeToString(mdevsrc->model); + + if (!dev_str) + goto cleanup; + + virBufferAdd(&buf, dev_str, -1); virBufferAsprintf(&buf, ",id=3D%s,sysfsdev=3D%s", dev->info->alias, md= evPath); =20 if (qemuBuildDeviceAddressStr(&buf, def, dev->info, qemuCaps) < 0) @@ -5347,11 +5353,28 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, =20 /* MDEV */ if (virHostdevIsMdevDevice(hostdev)) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_PCI)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("VFIO PCI device assignment is not " - "supported by this version of qemu")); + switch ((virMediatedDeviceModelType) subsys->u.mdev.model) { + case VIR_MDEV_MODEL_TYPE_VFIO_PCI: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_PCI)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("VFIO PCI device assignment is not " + "supported by this version of QEMU")); + return -1; + } + break; + case VIR_MDEV_MODEL_TYPE_VFIO_CCW: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("VFIO CCW device assignment is not " + "supported by this version of QEMU")); + return -1; + } + break; + case VIR_MDEV_MODEL_TYPE_LAST: + virReportError(VIR_ERR_INTERNAL_ERROR, + _("unexpected vfio type '%d'"), subsys->u.m= dev.model); return -1; + break; } =20 virCommandAddArg(cmd, "-device"); --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523462385639286.017215591246; Wed, 11 Apr 2018 08:59:45 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 51A0283C; Wed, 11 Apr 2018 15:59:44 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 093DF18B23; Wed, 11 Apr 2018 15:59:44 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 1C988180215F; Wed, 11 Apr 2018 15:59:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFxEsN026492 for ; Wed, 11 Apr 2018 11:59:14 -0400 Received: by smtp.corp.redhat.com (Postfix) id 013626E6EF; Wed, 11 Apr 2018 15:58:51 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C70547DBDF for ; Wed, 11 Apr 2018 15:58:36 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6E11380490 for ; Wed, 11 Apr 2018 15:50:17 +0000 (UTC) Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFkaJV133519 for ; Wed, 11 Apr 2018 11:50:17 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9kn8wn4w-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:16 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:14 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (9.149.109.196) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:12 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFoB1o49086488; Wed, 11 Apr 2018 15:50:11 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6FC6E11C050; Wed, 11 Apr 2018 16:42:16 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4B37511C04C; Wed, 11 Apr 2018 16:42:16 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:16 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:57 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0008-0000-0000-000004E95C44 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0009-0000-0000-00001E7D607D Message-Id: <20180411154959.228209-7-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Wed, 11 Apr 2018 15:50:17 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Wed, 11 Apr 2018 15:50:17 +0000 (UTC) for IP:'148.163.156.1' DOMAIN:'mx0a-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.156.1 mx0a-001b2d01.pphosted.com 148.163.156.1 mx0a-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 6/8] tests: tests for vfio-ccw passthrough X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 11 Apr 2018 15:59:44 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Let us test the following functionalities of vfio-ccw in libvirt 1. Generation of QEMU command line from domain xml file 2. Generation of dump xml from domain xml file 3. Checks duplicate/invalid addresses for vfio-ccw devices. Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski Reviewed-by: Marc Hartmayer Reviewed-by: Stefan Zimmermann --- ...tdev-subsys-mdev-vfio-ccw-duplicate-address.xml | 29 ++++++++++++++++++= ++++ ...ostdev-subsys-mdev-vfio-ccw-invalid-address.xml | 23 +++++++++++++++++ .../hostdev-subsys-mdev-vfio-ccw.args | 23 +++++++++++++++++ .../hostdev-subsys-mdev-vfio-ccw.xml | 22 ++++++++++++++++ tests/qemuxml2argvtest.c | 16 ++++++++++++ .../hostdev-subsys-mdev-vfio-ccw.xml | 28 ++++++++++++++++++= +++ tests/qemuxml2xmltest.c | 5 ++++ 7 files changed, 146 insertions(+) create mode 100644 tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-dup= licate-address.xml create mode 100644 tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-inv= alid-address.xml create mode 100644 tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.args create mode 100644 tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.xml create mode 100644 tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.x= ml diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-duplicate-= address.xml b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-duplicate= -address.xml new file mode 100644 index 0000000000..4b95fe277c --- /dev/null +++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-duplicate-address= .xml @@ -0,0 +1,29 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 524288 + 524288 + 2 + + hvm + + + destroy + restart + destroy + + /usr/bin/qemu-system-s390x + + +
+ +
+ + + +
+ +
+ + + diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-invalid-ad= dress.xml b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-invalid-add= ress.xml new file mode 100644 index 0000000000..680090e2b0 --- /dev/null +++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-invalid-address.x= ml @@ -0,0 +1,23 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 524288 + 524288 + 2 + + hvm + + + destroy + restart + destroy + + /usr/bin/qemu-system-s390x + + +
+ +
+ + + diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.args b/tes= ts/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.args new file mode 100644 index 0000000000..a359f40e2e --- /dev/null +++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.args @@ -0,0 +1,23 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-s390x \ +-name QEMUGuest1 \ +-S \ +-M s390-ccw-virtio \ +-m 512 \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-nographic \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline \ +-boot c \ +-device vfio-ccw,id=3Dhostdev0,\ +sysfsdev=3D/sys/bus/mdev/devices/90c6c135-ad44-41d0-b1b7-bae47de48627,\ +devno=3Dfe.0.0000 \ +-device virtio-balloon-ccw,id=3Dballoon0,devno=3Dfe.0.0001 diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.xml b/test= s/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.xml new file mode 100644 index 0000000000..96f30f5e9c --- /dev/null +++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.xml @@ -0,0 +1,22 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 524288 + 524288 + 2 + + hvm + + + destroy + restart + destroy + + /usr/bin/qemu-system-s390x + + +
+ + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index de5bf6fe5a..64ab04817a 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1659,6 +1659,22 @@ mymain(void) DO_TEST("pci-rom", QEMU_CAPS_NODEFCONFIG); =20 + DO_TEST("hostdev-subsys-mdev-vfio-ccw", + QEMU_CAPS_CCW, + QEMU_CAPS_CCW_CSSID_UNRESTRICTED, + QEMU_CAPS_DEVICE_VFIO_CCW); + DO_TEST_FAILURE("hostdev-subsys-mdev-vfio-ccw", + QEMU_CAPS_CCW, + QEMU_CAPS_CCW_CSSID_UNRESTRICTED); + DO_TEST_PARSE_ERROR("hostdev-subsys-mdev-vfio-ccw-duplicate-address", + QEMU_CAPS_CCW, + QEMU_CAPS_CCW_CSSID_UNRESTRICTED, + QEMU_CAPS_DEVICE_VFIO_CCW); + DO_TEST_PARSE_ERROR("hostdev-subsys-mdev-vfio-ccw-invalid-address", + QEMU_CAPS_CCW, + QEMU_CAPS_CCW_CSSID_UNRESTRICTED, + QEMU_CAPS_DEVICE_VFIO_CCW); + DO_TEST_FULL("restore-v2", "exec:cat", 7, 0, 0, GIC_NONE, NONE); DO_TEST_FULL("restore-v2-fd", "stdio", 7, 0, 0, GIC_NONE, NONE); DO_TEST_FULL("restore-v2-fd", "fd:7", 7, 0, 0, GIC_NONE, NONE); diff --git a/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml b/te= sts/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml new file mode 100644 index 0000000000..a14ab05caa --- /dev/null +++ b/tests/qemuxml2xmloutdata/hostdev-subsys-mdev-vfio-ccw.xml @@ -0,0 +1,28 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 524288 + 524288 + 2 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-s390x + + +
+ +
+ + +
+ + + + diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 4901eb286e..84982fb6a3 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1024,6 +1024,11 @@ mymain(void) QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_DEVICE_SCSI_GENERIC); =20 + DO_TEST("hostdev-subsys-mdev-vfio-ccw", + QEMU_CAPS_CCW, + QEMU_CAPS_CCW_CSSID_UNRESTRICTED, + QEMU_CAPS_DEVICE_VFIO_CCW); + DO_TEST("s390-defaultconsole", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic", --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523462360569244.98683086539552; Wed, 11 Apr 2018 08:59:20 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CA9454B0E7; Wed, 11 Apr 2018 15:59:18 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 72D1183586; Wed, 11 Apr 2018 15:57:27 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 1D7944CAA7; Wed, 11 Apr 2018 15:50:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFowoQ024602 for ; Wed, 11 Apr 2018 11:50:58 -0400 Received: by smtp.corp.redhat.com (Postfix) id 47D31A0983; Wed, 11 Apr 2018 15:50:58 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2D815A099B for ; Wed, 11 Apr 2018 15:50:37 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6FE1431330DD for ; Wed, 11 Apr 2018 15:50:20 +0000 (UTC) Received: from pps.filterd (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFlkv1034628 for ; Wed, 11 Apr 2018 11:50:20 -0400 Received: from e06smtp11.uk.ibm.com (e06smtp11.uk.ibm.com [195.75.94.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9mawb2hh-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:19 -0400 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:15 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (9.149.109.197) by e06smtp11.uk.ibm.com (192.168.101.141) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:13 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFoCpv22610108; Wed, 11 Apr 2018 15:50:12 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9853011C04C; Wed, 11 Apr 2018 16:42:17 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 79D3E11C054; Wed, 11 Apr 2018 16:42:17 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:17 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:58 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0040-0000-0000-0000044C5B86 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0041-0000-0000-000020F08AA7 Message-Id: <20180411154959.228209-8-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=9 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Wed, 11 Apr 2018 15:50:20 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Wed, 11 Apr 2018 15:50:20 +0000 (UTC) for IP:'148.163.156.1' DOMAIN:'mx0a-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.156.1 mx0a-001b2d01.pphosted.com 148.163.156.1 mx0a-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 7/8] docs: documentation for vfio-ccw passthrough X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 11 Apr 2018 15:59:19 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Bjoern Walk Reviewed-by: Boris Fiuczynski --- docs/drvnodedev.html.in | 21 ++++++++++++++++++++- docs/formatdomain.html.in | 20 +++++++++++++++----- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/docs/drvnodedev.html.in b/docs/drvnodedev.html.in index 885904d67d..71a8a57b0c 100644 --- a/docs/drvnodedev.html.in +++ b/docs/drvnodedev.html.in @@ -335,8 +335,27 @@ $ ls /sys/class/mdev_bus/<device>/mdev_supported_types =20

+ Before creating a mediated device, unbind the device from the respec= tive + device driver, eg. subchannel I/O driver for a CCW device. Then bind= the + device to the respective VFIO driver. For a CCW device, also unbind = the + corresponding subchannel of the CCW device from the subchannel I/O d= river + and then bind the subchannel (instead of the CCW device) to the vfio= _ccw + driver. The below example shows the unbinding and binding steps for = a CCW + device. +

+ +
+device=3D"0.0.1234"
+subchannel=3D"0.0.0123"
+echo $device > /sys/bus/ccw/devices/$device/driver/unbind
+echo $subchannel > /sys/bus/css/devices/$subchannel/driver/unbind
+echo $subchannel > /sys/bus/css/drivers/vfio_ccw/bind
+    
+ +

To manually instantiate a mediated device, use one of the following = as a - reference: + reference. For a CCW device, use the subchannel ID instead of the de= vice + ID.

=20
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 5e99884dc5..ff8ec25928 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -4308,6 +4308,12 @@
       <address uuid=3D'c2177883-f1bb-47f0-914d-32a22e3a8804'/>
     </source>
     </hostdev>
+    <hostdev mode=3D'subsystem' type=3D'mdev' model=3D'vfio-ccw'>
+    <source>
+      <address uuid=3D'9063cba3-ecef-47b6-abcf-3fef4fdcad85'/>
+    </source>
+    <address type=3D'ccw' cssid=3D'0xfe' ssid=3D'0x0' devno=3D'0x0001'/=
>
+    </hostdev>
   </devices>
   ...
=20 @@ -4359,10 +4365,13 @@
For mediated devices (Since 3.2.0) the model attribute specifies the device API which determines how the host's vfio driver will expose the device to = the - guest. Currently, only model=3D'vfio-pci' is suppor= ted. - There are also some implications on the usage of guest's address= type - depending on the model attribute, see the - address element below.
+ guest. Currently, model=3D'vfio-pci' and + model=3D'vfio-ccw' (Since 4.3= .0) + is supported. Refer MDEV to= create + a mediated device on the host. There are also some implications = on the + usage of guest's address type depending on the model + attribute, see the address element below. +

Note: The managed attribute is only used with @@ -4488,7 +4497,8 @@ devices defining an allocation of resources on the physical parent d= evice, the address type used must conform to the model attribu= te of element hostdev, e.g. any address type other than PC= I for - vfio-pci device API will result in an error. + vfio-pci device API or any address type other than CCW = for + vfio-ccw device API will result in an error. See above for more details on the a= ddress element.

driver
--=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Mar 28 16:54:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1523780641368732.537377261054; Sun, 15 Apr 2018 01:24:01 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E3DC480F91; Sun, 15 Apr 2018 08:23:59 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9695E17CDB; Sun, 15 Apr 2018 08:23:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 412AE180BAF4; Sun, 15 Apr 2018 08:23:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3BFpa5B025057 for ; Wed, 11 Apr 2018 11:51:36 -0400 Received: by smtp.corp.redhat.com (Postfix) id B6F316FECC; Wed, 11 Apr 2018 15:51:36 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A178786070 for ; Wed, 11 Apr 2018 15:51:06 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D37BA82D0 for ; Wed, 11 Apr 2018 15:50:18 +0000 (UTC) Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3BFkfnA081887 for ; Wed, 11 Apr 2018 11:50:18 -0400 Received: from e06smtp11.uk.ibm.com (e06smtp11.uk.ibm.com [195.75.94.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 2h9m8vkeuj-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Wed, 11 Apr 2018 11:50:18 -0400 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Apr 2018 16:50:15 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp11.uk.ibm.com (192.168.101.141) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 11 Apr 2018 16:50:14 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3BFoESr51118334; Wed, 11 Apr 2018 15:50:14 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C2CEC11C04C; Wed, 11 Apr 2018 16:42:18 +0100 (BST) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A239911C05C; Wed, 11 Apr 2018 16:42:18 +0100 (BST) Received: from s38lp13.boeblingen.de.ibm.com (unknown [9.152.161.13]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 11 Apr 2018 16:42:18 +0100 (BST) From: Shalini Chellathurai Saroja To: Libvirt Mailing List Date: Wed, 11 Apr 2018 17:49:59 +0200 In-Reply-To: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> References: <20180411154959.228209-1-shalini@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041115-0040-0000-0000-0000044C5B88 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041115-0041-0000-0000-000020F08AA9 Message-Id: <20180411154959.228209-9-shalini@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-11_07:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804110146 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 11 Apr 2018 15:50:18 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 11 Apr 2018 15:50:18 +0000 (UTC) for IP:'148.163.156.1' DOMAIN:'mx0a-001b2d01.pphosted.com' HELO:'mx0a-001b2d01.pphosted.com' FROM:'shalini@linux.vnet.ibm.com' RCPT:'' X-RedHat-Spam-Score: -0.7 (RCVD_IN_DNSWL_LOW) 148.163.156.1 mx0a-001b2d01.pphosted.com 148.163.156.1 mx0a-001b2d01.pphosted.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: Shalini Chellathurai Saroja Subject: [libvirt] [PATCH 8/8] news: documentation of new feature X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Sun, 15 Apr 2018 08:24:00 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Shalini Chellathurai Saroja Reviewed-by: Boris Fiuczynski --- docs/news.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/news.xml b/docs/news.xml index 798ab6da40..41bd2ab372 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -37,6 +37,15 @@
+ qemu: Provide VFIO channel I/O passthrough support + + + Support passthrough devices that use channel I/O based mechanism= in + a QEMU virtual machine. + + + + qemu: Add support for the pcie-to-pci-bridge controller --=20 2.13.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list