From nobody Sun Feb 8 12:31:17 2026 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; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 154966397525347.223237622372835; Fri, 8 Feb 2019 14:12:55 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E652980F7C; Fri, 8 Feb 2019 22:12:52 +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 B68291EC; Fri, 8 Feb 2019 22:12:52 +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 555E93F60F; Fri, 8 Feb 2019 22:12:52 +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 x18MCTrK008517 for ; Fri, 8 Feb 2019 17:12:29 -0500 Received: by smtp.corp.redhat.com (Postfix) id D72145C6A6; Fri, 8 Feb 2019 22:12:29 +0000 (UTC) Received: from worklaptop.redhat.com (ovpn-123-115.rdu2.redhat.com [10.10.123.115]) by smtp.corp.redhat.com (Postfix) with ESMTP id 775285C6A5; Fri, 8 Feb 2019 22:12:29 +0000 (UTC) From: Cole Robinson To: libvirt-list@redhat.com Date: Fri, 8 Feb 2019 17:12:07 -0500 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 16/17] qemu: Support scsi controller model=virtio-{non-}transitional 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 08 Feb 2019 22:12:53 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Add * "virtio-transitional" maps to qemu "virtio-scsi-pci-transitional" * "virtio-non-transitional" maps to qemu "virtio-scsi-non-transitional" The naming here doesn't match the pre-existing model=3Dvirtio-scsi. The prescence of '-scsi' there seems kind of redundant as we have type=3D'scsi' already, so I decided to follow the pattern of other patches and use virtio-transitional etc. Signed-off-by: Cole Robinson Reviewed-by: Andrea Bolognani --- docs/formatdomain.html.in | 7 +++++-- docs/schemas/domaincommon.rng | 2 ++ src/conf/domain_conf.c | 14 ++++++++----- src/conf/domain_conf.h | 2 ++ src/qemu/qemu_command.c | 5 +++++ src/qemu/qemu_domain.c | 8 +++++++- src/qemu/qemu_domain_address.c | 3 +++ src/vbox/vbox_common.c | 2 ++ src/vmx/vmx.c | 5 ++++- .../virtio-non-transitional.x86_64-3.1.0.args | 15 ++++++++------ ...virtio-non-transitional.x86_64-latest.args | 14 +++++++------ .../virtio-non-transitional.xml | 1 + .../virtio-transitional.x86_64-3.1.0.args | 14 +++++++------ .../virtio-transitional.x86_64-latest.args | 13 ++++++------ .../qemuxml2argvdata/virtio-transitional.xml | 1 + .../virtio-non-transitional.xml | 20 +++++++++++++------ .../virtio-transitional.xml | 15 ++++++++------ tests/qemuxml2xmltest.c | 6 ++++-- 18 files changed, 100 insertions(+), 47 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 32e40e8765..cd0468f3cb 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -4180,8 +4180,11 @@
scsi
A scsi controller has an optional attribute model, which is one of 'auto', 'buslogic', 'ibmvscsi', - 'lsilogic', 'lsisas1068', 'lsisas1078', 'virtio-scsi' or - 'vmpvscsi'.
+ 'lsilogic', 'lsisas1068', 'lsisas1078', 'virtio-scsi', + 'vmpvscsi', 'virtio-transitional', 'virtio-non-transitional'. See + Virtio transitional device= s + for more details. +
usb
A usb controller has an optional attribute model, which is one of "piix3-uhci", "piix4-uhci", diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index da2545b889..1332e0d464 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -2156,6 +2156,8 @@ ibmvscsi virtio-scsi lsisas1078 + virtio-transitional + virtio-non-transitional diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 44c9aa5b83..78425d0142 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -379,7 +379,10 @@ VIR_ENUM_IMPL(virDomainControllerModelSCSI, VIR_DOMAIN= _CONTROLLER_MODEL_SCSI_LAS "vmpvscsi", "ibmvscsi", "virtio-scsi", - "lsisas1078"); + "lsisas1078", + "virtio-transitional", + "virtio-non-transitional", +); =20 VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB= _LAST, "piix3-uhci", @@ -4965,11 +4968,12 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDe= fPtr dev, virDomainControllerDefPtr cdev =3D dev->data.controller; =20 if (cdev->iothread && - cdev->model !=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI)= { - virReportError(VIR_ERR_XML_ERROR, + cdev->model !=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI = && + cdev->model !=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANS= ITIONAL && + cdev->model !=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_T= RANSITIONAL) { + virReportError(VIR_ERR_XML_ERROR, "%s", _("'iothread' attribute only supported for " - "controller model '%s'"), - virDomainControllerModelSCSITypeToString(VIR_DO= MAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI)); + "virtio scsi controllers")); return -1; } } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index a6b32b17bd..caa018a4cf 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -756,6 +756,8 @@ typedef enum { VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1078, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL, =20 VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST } virDomainControllerModelSCSI; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ded9773499..dbf4f7b783 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -523,6 +523,9 @@ qemuBuildVirtioDevStr(virBufferPtr buf, if (device.data.controller->type =3D=3D VIR_DOMAIN_CONTROLLER_= TYPE_VIRTIO_SERIAL) { has_tmodel =3D device.data.controller->model =3D=3D VIR_DO= MAIN_CONTROLLER_MODEL_VIRTIO_SERIAL_VIRTIO_TRANSITIONAL; has_ntmodel =3D device.data.controller->model =3D=3D VIR_D= OMAIN_CONTROLLER_MODEL_VIRTIO_SERIAL_VIRTIO_NON_TRANSITIONAL; + } else if (device.data.controller->type =3D=3D VIR_DOMAIN_CONT= ROLLER_TYPE_SCSI) { + has_tmodel =3D device.data.controller->model =3D=3D VIR_DO= MAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL; + has_ntmodel =3D device.data.controller->model =3D=3D VIR_D= OMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL; } else { return 0; } @@ -2997,6 +3000,8 @@ qemuBuildControllerDevStr(const virDomainDef *domainD= ef, case VIR_DOMAIN_CONTROLLER_TYPE_SCSI: switch ((virDomainControllerModelSCSI) def->model) { case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL: if (qemuBuildVirtioDevStr(&buf, "virtio-scsi", qemuCaps, VIR_DOMAIN_DEVICE_CONTROLLER, def) <= 0) { goto error; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 16929ea656..c83a4cd451 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5099,7 +5099,9 @@ static int qemuDomainDeviceDefValidateControllerAttributes(const virDomainControllerD= ef *controller) { if (!(controller->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_SCSI && - controller->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO= _SCSI)) { + (controller->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTI= O_SCSI || + controller->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTI= O_TRANSITIONAL || + controller->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTI= O_NON_TRANSITIONAL))) { if (controller->queues) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("'queues' is only supported by virtio-scsi co= ntroller")); @@ -5153,6 +5155,8 @@ qemuDomainCheckSCSIControllerModel(virQEMUCapsPtr qem= uCaps, } break; case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL: if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("This QEMU doesn't support " @@ -5268,6 +5272,8 @@ qemuDomainDeviceDefValidateControllerSCSI(const virDo= mainControllerDef *controll { switch ((virDomainControllerModelSCSI) controller->model) { case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL: if (!qemuDomainCheckSCSIControllerIOThreads(controller, def)) return -1; break; diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 78695fdc0a..ce3a513823 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -648,8 +648,11 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDevi= ceDefPtr dev, return 0; =20 case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL: return virtioFlags; =20 + /* Transitional devices only work in conventional PCI slots */ + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_BUSLOGIC: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC: diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 664650f217..00d43d9a83 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -406,6 +406,8 @@ vboxSetStorageController(virDomainControllerDefPtr cont= roller, case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL: + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL: case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1078: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("The vbox driver does not support %s SCSI " diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index d525f187e9..75cdea9067 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -517,7 +517,10 @@ VIR_ENUM_IMPL(virVMXControllerModelSCSI, VIR_DOMAIN_CO= NTROLLER_MODEL_SCSI_LAST, "pvscsi", "UNUSED ibmvscsi", "UNUSED virtio-scsi", - "UNUSED lsisas1078"); + "UNUSED lsisas1078", + "UNUSED virtio-transitional", + "UNUSED virtio-non-transitional", +); =20 =20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *= * * diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.ar= gs b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args index 7543a225cb..52f0855611 100644 --- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args +++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args @@ -35,10 +35,13 @@ addr=3D0x1 \ -device pcie-root-port,port=3D0x10,chassis=3D9,id=3Dpci.9,bus=3Dpcie.0,\ multifunction=3Don,addr=3D0x2 \ -device pcie-root-port,port=3D0x11,chassis=3D10,id=3Dpci.10,bus=3Dpcie.0,a= ddr=3D0x2.0x1 \ +-device pcie-root-port,port=3D0x12,chassis=3D11,id=3Dpci.11,bus=3Dpcie.0,a= ddr=3D0x2.0x2 \ +-device virtio-scsi-pci,disable-legacy=3Don,disable-modern=3Doff,id=3Dscsi= 0,\ +bus=3Dpci.4,addr=3D0x0 \ -device virtio-serial-pci,disable-legacy=3Don,disable-modern=3Doff,\ id=3Dvirtio-serial0,bus=3Dpci.3,addr=3D0x0 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-vir= tio-disk0 \ --device virtio-blk-pci,disable-legacy=3Don,disable-modern=3Doff,scsi=3Doff= ,bus=3Dpci.4,\ +-device virtio-blk-pci,disable-legacy=3Don,disable-modern=3Doff,scsi=3Doff= ,bus=3Dpci.5,\ addr=3D0x0,drive=3Ddrive-virtio-disk0,id=3Dvirtio-disk0,bootindex=3D1 \ -fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs0,path=3D/export/fs= 1 \ -device virtio-9p-pci,disable-legacy=3Don,disable-modern=3Doff,id=3Dfs0,\ @@ -47,16 +50,16 @@ fsdev=3Dfsdev-fs0,mount_tag=3Dfs1,bus=3Dpci.1,addr=3D0x= 0 \ -device virtio-net-pci,disable-legacy=3Don,disable-modern=3Doff,netdev=3Dh= ostnet0,\ id=3Dnet0,mac=3D00:11:22:33:44:55,bus=3Dpci.2,addr=3D0x0 \ -device virtio-input-host-pci,disable-legacy=3Don,disable-modern=3Doff,id= =3Dinput0,\ -evdev=3D/dev/input/event1234,bus=3Dpci.8,addr=3D0x0 \ +evdev=3D/dev/input/event1234,bus=3Dpci.9,addr=3D0x0 \ -device vhost-scsi-pci,disable-legacy=3Don,disable-modern=3Doff,\ -wwpn=3Dnaa.5123456789abcde0,vhostfd=3D3,id=3Dhostdev0,bus=3Dpci.5,addr=3D0= x0 \ +wwpn=3Dnaa.5123456789abcde0,vhostfd=3D3,id=3Dhostdev0,bus=3Dpci.6,addr=3D0= x0 \ -device virtio-balloon-pci,disable-legacy=3Don,disable-modern=3Doff,id=3Db= alloon0,\ -bus=3Dpci.6,addr=3D0x0 \ +bus=3Dpci.7,addr=3D0x0 \ -object rng-random,id=3Dobjrng0,filename=3D/dev/urandom \ -device virtio-rng-pci,disable-legacy=3Don,disable-modern=3Doff,rng=3Dobjr= ng0,\ -id=3Drng0,bus=3Dpci.7,addr=3D0x0 \ +id=3Drng0,bus=3Dpci.8,addr=3D0x0 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ -device vhost-vsock-pci,disable-legacy=3Don,disable-modern=3Doff,id=3Dvsoc= k0,\ -guest-cid=3D4,vhostfd=3D6789,bus=3Dpci.9,addr=3D0x0 \ +guest-cid=3D4,vhostfd=3D6789,bus=3Dpci.10,addr=3D0x0 \ -msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.a= rgs b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args index 514db3ee7f..54125d2102 100644 --- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args @@ -35,10 +35,12 @@ addr=3D0x1 \ -device pcie-root-port,port=3D0x10,chassis=3D9,id=3Dpci.9,bus=3Dpcie.0,\ multifunction=3Don,addr=3D0x2 \ -device pcie-root-port,port=3D0x11,chassis=3D10,id=3Dpci.10,bus=3Dpcie.0,a= ddr=3D0x2.0x1 \ +-device pcie-root-port,port=3D0x12,chassis=3D11,id=3Dpci.11,bus=3Dpcie.0,a= ddr=3D0x2.0x2 \ +-device virtio-scsi-pci-non-transitional,id=3Dscsi0,bus=3Dpci.4,addr=3D0x0= \ -device virtio-serial-pci-non-transitional,id=3Dvirtio-serial0,bus=3Dpci.3= ,\ addr=3D0x0 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-vir= tio-disk0 \ --device virtio-blk-pci-non-transitional,scsi=3Doff,bus=3Dpci.4,addr=3D0x0,\ +-device virtio-blk-pci-non-transitional,scsi=3Doff,bus=3Dpci.5,addr=3D0x0,\ drive=3Ddrive-virtio-disk0,id=3Dvirtio-disk0,bootindex=3D1 \ -fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs0,path=3D/export/fs= 1 \ -device virtio-9p-pci-non-transitional,id=3Dfs0,fsdev=3Dfsdev-fs0,mount_ta= g=3Dfs1,\ @@ -47,14 +49,14 @@ bus=3Dpci.1,addr=3D0x0 \ -device virtio-net-pci-non-transitional,netdev=3Dhostnet0,id=3Dnet0,\ mac=3D00:11:22:33:44:55,bus=3Dpci.2,addr=3D0x0 \ -device virtio-input-host-pci-non-transitional,id=3Dinput0,\ -evdev=3D/dev/input/event1234,bus=3Dpci.8,addr=3D0x0 \ +evdev=3D/dev/input/event1234,bus=3Dpci.9,addr=3D0x0 \ -device vhost-scsi-pci-non-transitional,wwpn=3Dnaa.5123456789abcde0,vhostf= d=3D3,\ -id=3Dhostdev0,bus=3Dpci.5,addr=3D0x0 \ --device virtio-balloon-pci-non-transitional,id=3Dballoon0,bus=3Dpci.6,addr= =3D0x0 \ +id=3Dhostdev0,bus=3Dpci.6,addr=3D0x0 \ +-device virtio-balloon-pci-non-transitional,id=3Dballoon0,bus=3Dpci.7,addr= =3D0x0 \ -object rng-random,id=3Dobjrng0,filename=3D/dev/urandom \ --device virtio-rng-pci-non-transitional,rng=3Dobjrng0,id=3Drng0,bus=3Dpci.= 7,addr=3D0x0 \ +-device virtio-rng-pci-non-transitional,rng=3Dobjrng0,id=3Drng0,bus=3Dpci.= 8,addr=3D0x0 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ -device vhost-vsock-pci-non-transitional,id=3Dvsock0,guest-cid=3D4,vhostfd= =3D6789,\ -bus=3Dpci.9,addr=3D0x0 \ +bus=3Dpci.10,addr=3D0x0 \ -msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.xml b/tests/qem= uxml2argvdata/virtio-non-transitional.xml index 4e1b0084c5..adcbcec33e 100644 --- a/tests/qemuxml2argvdata/virtio-non-transitional.xml +++ b/tests/qemuxml2argvdata/virtio-non-transitional.xml @@ -29,6 +29,7 @@ + diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args b= /tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args index b07f77511f..4f8958f336 100644 --- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args +++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args @@ -27,11 +27,13 @@ file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ addr=3D0x1 \ -device pcie-pci-bridge,id=3Dpci.2,bus=3Dpci.1,addr=3D0x0 \ -device pcie-root-port,port=3D0x9,chassis=3D3,id=3Dpci.3,bus=3Dpcie.0,addr= =3D0x1.0x1 \ +-device virtio-scsi-pci,disable-legacy=3Doff,disable-modern=3Doff,id=3Dscs= i0,\ +bus=3Dpci.2,addr=3D0x4 \ -device virtio-serial-pci,disable-legacy=3Doff,disable-modern=3Doff,\ id=3Dvirtio-serial0,bus=3Dpci.2,addr=3D0x3 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-vir= tio-disk0 \ -device virtio-blk-pci,disable-legacy=3Doff,disable-modern=3Doff,scsi=3Dof= f,\ -bus=3Dpci.2,addr=3D0x4,drive=3Ddrive-virtio-disk0,id=3Dvirtio-disk0,bootin= dex=3D1 \ +bus=3Dpci.2,addr=3D0x5,drive=3Ddrive-virtio-disk0,id=3Dvirtio-disk0,bootin= dex=3D1 \ -fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs0,path=3D/export/fs= 1 \ -device virtio-9p-pci,disable-legacy=3Doff,disable-modern=3Doff,id=3Dfs0,\ fsdev=3Dfsdev-fs0,mount_tag=3Dfs1,bus=3Dpci.2,addr=3D0x1 \ @@ -39,16 +41,16 @@ fsdev=3Dfsdev-fs0,mount_tag=3Dfs1,bus=3Dpci.2,addr=3D0x= 1 \ -device virtio-net-pci,disable-legacy=3Doff,disable-modern=3Doff,netdev=3D= hostnet0,\ id=3Dnet0,mac=3D00:11:22:33:44:55,bus=3Dpci.2,addr=3D0x2 \ -device virtio-input-host-pci,disable-legacy=3Doff,disable-modern=3Doff,id= =3Dinput0,\ -evdev=3D/dev/input/event1234,bus=3Dpci.2,addr=3D0x8 \ +evdev=3D/dev/input/event1234,bus=3Dpci.2,addr=3D0x9 \ -device vhost-scsi-pci,disable-legacy=3Doff,disable-modern=3Doff,\ -wwpn=3Dnaa.5123456789abcde0,vhostfd=3D3,id=3Dhostdev0,bus=3Dpci.2,addr=3D0= x5 \ +wwpn=3Dnaa.5123456789abcde0,vhostfd=3D3,id=3Dhostdev0,bus=3Dpci.2,addr=3D0= x6 \ -device virtio-balloon-pci,disable-legacy=3Doff,disable-modern=3Doff,id=3D= balloon0,\ -bus=3Dpci.2,addr=3D0x6 \ +bus=3Dpci.2,addr=3D0x7 \ -object rng-random,id=3Dobjrng0,filename=3D/dev/urandom \ -device virtio-rng-pci,disable-legacy=3Doff,disable-modern=3Doff,rng=3Dobj= rng0,\ -id=3Drng0,bus=3Dpci.2,addr=3D0x7 \ +id=3Drng0,bus=3Dpci.2,addr=3D0x8 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ -device vhost-vsock-pci,disable-legacy=3Doff,disable-modern=3Doff,id=3Dvso= ck0,\ -guest-cid=3D4,vhostfd=3D6789,bus=3Dpci.2,addr=3D0x9 \ +guest-cid=3D4,vhostfd=3D6789,bus=3Dpci.2,addr=3D0xa \ -msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args = b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args index 6c697eba83..49cfd12b92 100644 --- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args @@ -27,9 +27,10 @@ file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ addr=3D0x1 \ -device pcie-pci-bridge,id=3Dpci.2,bus=3Dpci.1,addr=3D0x0 \ -device pcie-root-port,port=3D0x9,chassis=3D3,id=3Dpci.3,bus=3Dpcie.0,addr= =3D0x1.0x1 \ +-device virtio-scsi-pci-transitional,id=3Dscsi0,bus=3Dpci.2,addr=3D0x4 \ -device virtio-serial-pci-transitional,id=3Dvirtio-serial0,bus=3Dpci.2,add= r=3D0x3 \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-vir= tio-disk0 \ --device virtio-blk-pci-transitional,scsi=3Doff,bus=3Dpci.2,addr=3D0x4,\ +-device virtio-blk-pci-transitional,scsi=3Doff,bus=3Dpci.2,addr=3D0x5,\ drive=3Ddrive-virtio-disk0,id=3Dvirtio-disk0,bootindex=3D1 \ -fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs0,path=3D/export/fs= 1 \ -device virtio-9p-pci-transitional,id=3Dfs0,fsdev=3Dfsdev-fs0,mount_tag=3D= fs1,\ @@ -38,14 +39,14 @@ bus=3Dpci.2,addr=3D0x1 \ -device virtio-net-pci-transitional,netdev=3Dhostnet0,id=3Dnet0,\ mac=3D00:11:22:33:44:55,bus=3Dpci.2,addr=3D0x2 \ -device virtio-input-host-pci-transitional,id=3Dinput0,\ -evdev=3D/dev/input/event1234,bus=3Dpci.2,addr=3D0x8 \ +evdev=3D/dev/input/event1234,bus=3Dpci.2,addr=3D0x9 \ -device vhost-scsi-pci-transitional,wwpn=3Dnaa.5123456789abcde0,vhostfd=3D= 3,\ -id=3Dhostdev0,bus=3Dpci.2,addr=3D0x5 \ --device virtio-balloon-pci-transitional,id=3Dballoon0,bus=3Dpci.2,addr=3D0= x6 \ +id=3Dhostdev0,bus=3Dpci.2,addr=3D0x6 \ +-device virtio-balloon-pci-transitional,id=3Dballoon0,bus=3Dpci.2,addr=3D0= x7 \ -object rng-random,id=3Dobjrng0,filename=3D/dev/urandom \ --device virtio-rng-pci-transitional,rng=3Dobjrng0,id=3Drng0,bus=3Dpci.2,ad= dr=3D0x7 \ +-device virtio-rng-pci-transitional,rng=3Dobjrng0,id=3Drng0,bus=3Dpci.2,ad= dr=3D0x8 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ -device vhost-vsock-pci-transitional,id=3Dvsock0,guest-cid=3D4,vhostfd=3D6= 789,\ -bus=3Dpci.2,addr=3D0x9 \ +bus=3Dpci.2,addr=3D0xa \ -msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-transitional.xml b/tests/qemuxml= 2argvdata/virtio-transitional.xml index ffcafedc4a..35613069d9 100644 --- a/tests/qemuxml2argvdata/virtio-transitional.xml +++ b/tests/qemuxml2argvdata/virtio-transitional.xml @@ -29,6 +29,7 @@ + diff --git a/tests/qemuxml2xmloutdata/virtio-non-transitional.xml b/tests/q= emuxml2xmloutdata/virtio-non-transitional.xml index 7ef2d09c11..4e7d1ee3b1 100644 --- a/tests/qemuxml2xmloutdata/virtio-non-transitional.xml +++ b/tests/qemuxml2xmloutdata/virtio-non-transitional.xml @@ -18,11 +18,14 @@ -
+
+ +
+
@@ -78,6 +81,11 @@
+ + + +
+ @@ -90,24 +98,24 @@ -
+
-
+
-
+
/dev/urandom -
+
-
+
diff --git a/tests/qemuxml2xmloutdata/virtio-transitional.xml b/tests/qemux= ml2xmloutdata/virtio-transitional.xml index da4fbbcdc5..2293e5be3e 100644 --- a/tests/qemuxml2xmloutdata/virtio-transitional.xml +++ b/tests/qemuxml2xmloutdata/virtio-transitional.xml @@ -18,11 +18,14 @@ -
+
+ +
+
@@ -54,24 +57,24 @@ -
+
-
+
-
+
/dev/urandom -
+
-
+
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 452184d84a..0a441da143 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1260,14 +1260,16 @@ mymain(void) QEMU_CAPS_DEVICE_PCIE_ROOT_PORT, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY, QEMU_CAPS_DEVICE_VHOST_VSOCK, - QEMU_CAPS_VIRTIO_INPUT_HOST); + QEMU_CAPS_VIRTIO_INPUT_HOST, + QEMU_CAPS_VIRTIO_SCSI); DO_TEST("virtio-non-transitional", QEMU_CAPS_DEVICE_VIDEO_PRIMARY, QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, QEMU_CAPS_DEVICE_PCIE_ROOT_PORT, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY, QEMU_CAPS_DEVICE_VHOST_VSOCK, - QEMU_CAPS_VIRTIO_INPUT_HOST); + QEMU_CAPS_VIRTIO_INPUT_HOST, + QEMU_CAPS_VIRTIO_SCSI); =20 if (getenv("LIBVIRT_SKIP_CLEANUP") =3D=3D NULL) virFileDeleteTree(fakerootdir); --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list