From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836530; cv=none; d=zohomail.com; s=zohoarc; b=mV37glxaYSURc0Z26WZEzJ2gbAJAHvtxnULdv2BWh3pVdO6d10ps/5BlaBNiMNehO3CnI+LFo0Kd8cmYW+1oUBMyYcleRwyCdXz6UBKVT10EggHe6Mxp8uTaIqUnSATE/0tLlGPW5+J/AxaE0TqlCWqlSV7ZEZ+2D3UPpKYF+5Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836530; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QQ4BMv+3OEmm8n23eF1Fg1DgWPwcNm7HW3VQnRmMFZc=; b=CUajCJZzWOfRVeYyLVBelFxWrIH4mzOKPGinmoNRBXNOU0isMRo/7hLYMv8nQy77+xYlI3or67kSPR/RJipkJLcTe3SBo5/KoOupDXu94c6Hoda1MLXXcFMfobfpkpyKLtaeIelIdFcbVBdu4uLv3dRdy0XF4FGPBc0nTTBgBvw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1648836530983459.98914545515106; Fri, 1 Apr 2022 11:08:50 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-212-uUaa1bNKPNSntXxMqe8cYA-1; Fri, 01 Apr 2022 14:08:44 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D43FB100F81E; Fri, 1 Apr 2022 18:08:41 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3776414583CB; Fri, 1 Apr 2022 18:08:41 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E3AB81940350; Fri, 1 Apr 2022 18:08:39 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DA7C41947BBE for ; Fri, 1 Apr 2022 18:08:38 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id BF26C111D7B6; Fri, 1 Apr 2022 18:08:38 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 45A0A111D7B4 for ; Fri, 1 Apr 2022 18:08:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836529; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=QQ4BMv+3OEmm8n23eF1Fg1DgWPwcNm7HW3VQnRmMFZc=; b=AQcnbwU/YrB3l5t0aXAGrAKZQfsIbHxb2aoPCNnSGqLPjGEDKhnpdkaH06hh3A40JMTDwK YRmVGmOb/8jLh98N7gFLHKskjHRIu6Qjkm8LMPNglI/r/Gm7wxAqqi+D5AlXMEIb8UfiUS 2aKM96tHgB+7n9sckrI+9gEQX8JKeN4= X-MC-Unique: uUaa1bNKPNSntXxMqe8cYA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 01/16] conf: Introduce VIR_PCI_CONNECT_INTEGRATED Date: Fri, 1 Apr 2022 20:08:20 +0200 Message-Id: <20220401180835.200444-2-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648837435171100002 This new flag can be used to convince the PCI address assignment algorithm to place a device directly on the root bus. It will be used to implement support for virtio-iommu, which needs to be an integrated device in order to work correctly. Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_addr.c | 17 +++++++++++++++++ src/conf/domain_addr.h | 26 +++++++++++++++----------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 49ca775a52..1173143635 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -303,6 +303,23 @@ virDomainPCIAddressFlagsCompatible(virPCIDeviceAddress= *addr, virErrorNumber errType =3D (fromConfig ? VIR_ERR_XML_ERROR : VIR_ERR_INTERNAL_ERROR= ); =20 + if (devFlags & VIR_PCI_CONNECT_INTEGRATED) { + if (addr->bus =3D=3D 0) { + /* pcie-root doesn't usually allow endpoint devices to be + * plugged directly into it, but for integrated devices + * that's exactly what we want */ + busFlags |=3D VIR_PCI_CONNECT_AUTOASSIGN; + } else { + if (reportError) { + virReportError(errType, + _("The device at PCI address %s needs to be= " + "an integrated device (bus=3D0)"), + addrStr); + } + return false; + } + } + if (fromConfig) { /* If the requested connection was manually specified in * config, allow a PCI device to connect to a PCIe slot, or diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h index 814b556024..1772ea7088 100644 --- a/src/conf/domain_addr.h +++ b/src/conf/domain_addr.h @@ -35,24 +35,28 @@ typedef enum { VIR_PCI_CONNECT_AUTOASSIGN =3D 1 << 0, /* okay to autoassign a device = to this controller */ VIR_PCI_CONNECT_HOTPLUGGABLE =3D 1 << 1, /* is hotplug needed/supporte= d */ =20 + /* Set for devices that can only work as integrated devices (directly + * connected to pci.0 or pcie.0, with no additional buses in between) = */ + VIR_PCI_CONNECT_INTEGRATED =3D 1 << 2, + /* set for devices that can share a single slot in auto-assignment * (by assigning one device to each of the 8 functions on the slot) */ - VIR_PCI_CONNECT_AGGREGATE_SLOT =3D 1 << 2, + VIR_PCI_CONNECT_AGGREGATE_SLOT =3D 1 << 3, =20 /* kinds of devices as a bitmap so they can be combined (some PCI * controllers permit connecting multiple types of devices) */ - VIR_PCI_CONNECT_TYPE_PCI_DEVICE =3D 1 << 3, - VIR_PCI_CONNECT_TYPE_PCIE_DEVICE =3D 1 << 4, - VIR_PCI_CONNECT_TYPE_PCIE_ROOT_PORT =3D 1 << 5, - VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_UPSTREAM_PORT =3D 1 << 6, - VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_DOWNSTREAM_PORT =3D 1 << 7, - VIR_PCI_CONNECT_TYPE_DMI_TO_PCI_BRIDGE =3D 1 << 8, - VIR_PCI_CONNECT_TYPE_PCI_EXPANDER_BUS =3D 1 << 9, - VIR_PCI_CONNECT_TYPE_PCIE_EXPANDER_BUS =3D 1 << 10, - VIR_PCI_CONNECT_TYPE_PCI_BRIDGE =3D 1 << 11, - VIR_PCI_CONNECT_TYPE_PCIE_TO_PCI_BRIDGE =3D 1 << 12, + VIR_PCI_CONNECT_TYPE_PCI_DEVICE =3D 1 << 4, + VIR_PCI_CONNECT_TYPE_PCIE_DEVICE =3D 1 << 5, + VIR_PCI_CONNECT_TYPE_PCIE_ROOT_PORT =3D 1 << 6, + VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_UPSTREAM_PORT =3D 1 << 7, + VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_DOWNSTREAM_PORT =3D 1 << 8, + VIR_PCI_CONNECT_TYPE_DMI_TO_PCI_BRIDGE =3D 1 << 9, + VIR_PCI_CONNECT_TYPE_PCI_EXPANDER_BUS =3D 1 << 10, + VIR_PCI_CONNECT_TYPE_PCIE_EXPANDER_BUS =3D 1 << 11, + VIR_PCI_CONNECT_TYPE_PCI_BRIDGE =3D 1 << 12, + VIR_PCI_CONNECT_TYPE_PCIE_TO_PCI_BRIDGE =3D 1 << 13, } virDomainPCIConnectFlags; =20 /* a combination of all bits that describe the type of connections --=20 2.35.1 From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836528; cv=none; d=zohomail.com; s=zohoarc; b=h5KgzYYSEddJ6ZDkEv5bWFu4vYbrhhKr4ArA7hZ5RFPZGW3UNYWUF/I0lWh5ckKJy7GVPms7pm/ZEaTr+nhZvq7Cj0JrjYeVSEyeufJadQ7xycR7+txHjQ40LkQXHhcdaA9SWYZvNOvxSD5ghG4wx7ySJEUsjBJsKuv9tVypLmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836528; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UM6oJGc+fyXd72brJihzOtS4ZPfMSK33Te1Y8M2x3HY=; b=KkuIUIGmHTcMFqdI7gp9OGNXR/S7z3hOEVrSpeNdzf1pMiVKiytF6EGTEDQDstuqw6on/Tmtgaaht76DjyFfxBcpX/bP2HvqjnLuj9X9Wlmgx9MgxecJy+N0r9aWY/nMI801BsI/H2X77VH7iJzB0NKrtxvmIGqO+xj3FAvbfkA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1648836528806386.9043140765441; Fri, 1 Apr 2022 11:08:48 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-197-afdRudnYOK6lowD0eiQJxw-1; Fri, 01 Apr 2022 14:08:44 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 26B8F8117B0; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 13BF3417EC9; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 616F81940363; Fri, 1 Apr 2022 18:08:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id A0A5D194034F for ; Fri, 1 Apr 2022 18:08:39 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 93631111D7B5; Fri, 1 Apr 2022 18:08:39 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1A2A9111D7B4 for ; Fri, 1 Apr 2022 18:08:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836527; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=UM6oJGc+fyXd72brJihzOtS4ZPfMSK33Te1Y8M2x3HY=; b=XzBQcuxcKpjr2mhoAB63skBgUlcNbzG0S+Lc2w0NCcbtggZMOnQeZxK+lR/cJYOFDrGEaH rNGvbXViB/h5tUpwCBQ7NhiMRL1rdto61zvCfg7kZ5SRan8AHwejCovOhrvDIoU463hdtx fHY5gVeuU4WGLznCeoslJ8NyvHD36DY= X-MC-Unique: afdRudnYOK6lowD0eiQJxw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 02/16] qemu: Tweak some code Date: Fri, 1 Apr 2022 20:08:21 +0200 Message-Id: <20220401180835.200444-3-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648837435151100001 The altered code is functionally equivalent to the previous one, but it's already laid down in a way that will make further changes easier and less messy. Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 14 ++++++-------- src/qemu/qemu_domain_address.c | 23 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f7f55b20ef..9180d5c317 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6428,15 +6428,14 @@ qemuBuildIOMMUCommandLine(virCommand *cmd, const virDomainDef *def, virQEMUCaps *qemuCaps) { + g_autoptr(virJSONValue) props =3D NULL; const virDomainIOMMUDef *iommu =3D def->iommu; =20 if (!iommu) return 0; =20 switch (iommu->model) { - case VIR_DOMAIN_IOMMU_MODEL_INTEL: { - g_autoptr(virJSONValue) props =3D NULL; - + case VIR_DOMAIN_IOMMU_MODEL_INTEL: if (virJSONValueObjectAdd(&props, "s:driver", "intel-iommu", "S:intremap", qemuOnOffAuto(iommu->intre= map), @@ -6451,7 +6450,6 @@ qemuBuildIOMMUCommandLine(virCommand *cmd, return -1; =20 return 0; - } =20 case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: /* There is no -device for SMMUv3, so nothing to be done here */ @@ -7034,14 +7032,14 @@ qemuBuildMachineCommandLine(virCommand *cmd, =20 if (def->iommu) { switch (def->iommu->model) { - case VIR_DOMAIN_IOMMU_MODEL_INTEL: - /* The 'intel' IOMMu is formatted in qemuBuildIOMMUCommandLine= */ - break; - case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: virBufferAddLit(&buf, ",iommu=3Dsmmuv3"); break; =20 + case VIR_DOMAIN_IOMMU_MODEL_INTEL: + /* These IOMMUs are formatted in qemuBuildIOMMUCommandLine */ + break; + case VIR_DOMAIN_IOMMU_MODEL_LAST: default: virReportEnumRangeError(virDomainIOMMUModel, def->iommu->model= ); diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index dd0680f57f..6ca6fa54a3 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -1002,6 +1002,16 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDe= viceDef *dev, } break; =20 + case VIR_DOMAIN_DEVICE_IOMMU: + switch ((virDomainIOMMUModel) dev->data.iommu->model) { + case VIR_DOMAIN_IOMMU_MODEL_INTEL: + case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: + case VIR_DOMAIN_IOMMU_MODEL_LAST: + /* These are not PCI devices */ + return 0; + } + break; + case VIR_DOMAIN_DEVICE_VSOCK: switch ((virDomainVsockModel) dev->data.vsock->model) { case VIR_DOMAIN_VSOCK_MODEL_VIRTIO_TRANSITIONAL: @@ -1041,7 +1051,6 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDev= iceDef *dev, /* These devices don't even have a DeviceInfo */ case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_GRAPHICS: - case VIR_DOMAIN_DEVICE_IOMMU: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_LAST: case VIR_DOMAIN_DEVICE_NONE: @@ -2369,6 +2378,18 @@ qemuDomainAssignDevicePCISlots(virDomainDef *def, /* Nada - none are PCI based (yet) */ } =20 + if (def->iommu) { + virDomainIOMMUDef *iommu =3D def->iommu; + + switch ((virDomainIOMMUModel) iommu->model) { + case VIR_DOMAIN_IOMMU_MODEL_INTEL: + case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: + case VIR_DOMAIN_IOMMU_MODEL_LAST: + /* These are not PCI devices */ + break; + } + } + if (def->vsock && virDeviceInfoPCIAddressIsWanted(&def->vsock->info)) { =20 --=20 2.35.1 From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836531; cv=none; d=zohomail.com; s=zohoarc; b=IjZQTWo0zJkS97wLL2G66om4r/JhM6ErMDi7inMQwMZ5wZkkpaP7pZMfrzJBHpNLphwIuq0P99pYycj8p6iOmUUWAYixFpgZj/SzSOxfnfrBZWSdakLo3RkGCzMKxcb0rDC3qpfX3t6KCaj6YnIlk+UVw15dAm2YZQzyKyebbJ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836531; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=V0r6FY2FJ2LZfIJ2clByzM1BbfB0TMVM0KfIoi69R3k=; b=lW1lHqaU+HQly2HSKBFR6VYx+FdpeU5brU0BPahnU2LwGGprZhKwK49ulxKbzYAwEvLGHfhtb9NGjQd0wQZdnCjXqfYz5JmEjUZ78EMTCPmtZyptcypy7UaxQ4pFmdmCxlJ+tWGT1IzexoYehNk/ylqytlU/b4qLt9TyoODxPiE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1648836531525587.2977435287654; Fri, 1 Apr 2022 11:08:51 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-196-Cuvd7WAGNmC0BVEFXEM0oQ-1; Fri, 01 Apr 2022 14:08:47 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D6A4186B8B3; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id BDE76111D3C7; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 4769D1949761; Fri, 1 Apr 2022 18:08:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B4A131947BBE for ; Fri, 1 Apr 2022 18:08:40 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 8FEC1111D7B4; Fri, 1 Apr 2022 18:08:40 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E2C06111D7B5 for ; Fri, 1 Apr 2022 18:08:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836530; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=V0r6FY2FJ2LZfIJ2clByzM1BbfB0TMVM0KfIoi69R3k=; b=X8Wp7UdZ9F0RKWJhLvuPFuhEVaG4P8BTlMfzWwBrUuIW874M1DeVzi8AQDBsWitLXwh7H9 NebCprLe7EzD14mVyQjeaf88Ff9zm4KVB8R9PtNp/QjB1YTGiaUglq4NLEjRsa6RAo8n3/ jBVTLrOm4YI42qwxvKv0/0HQfvyUHmk= X-MC-Unique: Cuvd7WAGNmC0BVEFXEM0oQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 03/16] qemu: Introduce QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI Date: Fri, 1 Apr 2022 20:08:22 +0200 Message-Id: <20220401180835.200444-4-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648836532282100001 This capability detects the availability of the virtio-iommu-pci device. Note that, while this device is present even in somewhat old versions of QEMU, it's only some recent changes that made it actually usable for our purposes. Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 + 22 files changed, 23 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 25d029d0cc..95aedee824 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -669,6 +669,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 425 */ "blockdev.nbd.tls-hostname", /* QEMU_CAPS_BLOCKDEV_NBD_TLS_H= OSTNAME */ "memory-backend-file.prealloc-threads", /* QEMU_CAPS_MEMORY_= BACKEND_PREALLOC_THREADS */ + "virtio-iommu-pci", /* QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI */ ); =20 =20 @@ -1393,6 +1394,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "virtio-vga-gl", QEMU_CAPS_VIRTIO_VGA_GL }, { "s390-pv-guest", QEMU_CAPS_S390_PV_GUEST }, { "virtio-mem-pci", QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI }, + { "virtio-iommu-pci", QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI }, }; =20 =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index b2426a6d25..cc63454430 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -644,6 +644,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ /* 425 */ QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME, /* tls hostname can be overridden= for NBD clients */ QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*= .prealloc-threads */ + QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI, /* -device virtio-iommu-pci */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.aarch64.xml index d188eab3fe..4d85bb41dd 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -179,6 +179,7 @@ + 5000000 0 61700241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.0.0.ppc64.xml index 12592f457a..d302db4461 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -187,6 +187,7 @@ + 5000000 0 42900241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.riscv64.xml index 75c3a9b4fc..961940e536 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -171,6 +171,7 @@ + 5000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index 5927c48ee4..4dc2312182 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -220,6 +220,7 @@ + 5000000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index e0291268b3..d1859659ac 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -223,6 +223,7 @@ + 5001000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.2.0.aarch64.xml index 20a1a8154b..3611b06e49 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -185,6 +185,7 @@ + 5002000 0 61700243 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.2.0.ppc64.xml index add2ded00a..01b976aa6f 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -191,6 +191,7 @@ + 5002000 0 42900243 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.2.0.riscv64.xml index 237d043e5d..70517a3199 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -175,6 +175,7 @@ + 5002000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_5.2.0.s390x.xml index 57e40f8f86..60370ad434 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -142,6 +142,7 @@ + 5002000 0 39100243 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.2.0.x86_64.xml index 7c65648c06..7bb5cf5f42 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -227,6 +227,7 @@ + 5002000 0 43100243 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.0.0.aarch64.xml index 7557e6ad71..64e0efc89a 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -193,6 +193,7 @@ + 6000000 0 61700242 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_6.0.0.s390x.xml index 00009be3dc..8f1212ec62 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -150,6 +150,7 @@ + 6000000 0 39100242 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.0.0.x86_64.xml index 61d561dc69..6bd8b8856f 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -236,6 +236,7 @@ + 6000000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.1.0.x86_64.xml index 0b58210335..390aaeab67 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -240,6 +240,7 @@ + 6001000 0 43100243 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.2.0.aarch64.xml index d08b2c0213..884fdd738d 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -204,6 +204,7 @@ + 6001050 0 61700244 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_6.2.0.ppc64.xml index 8c52964ec0..f932217749 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -202,6 +202,7 @@ + 6002000 0 42900244 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.2.0.x86_64.xml index cdf72b9ebf..c24c0dc797 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -242,6 +242,7 @@ + 6002000 0 43100244 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_7.0.0.aarch64.xml index 53dea889df..73d16e9dfe 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -211,6 +211,7 @@ + 6002092 0 61700243 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_7.0.0.ppc64.xml index 766e6c866c..51f5dac464 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -214,6 +214,7 @@ + 6002092 0 42900243 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.0.0.x86_64.xml index 3f42e67d0b..1c05085a2f 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -245,6 +245,7 @@ + 6002092 0 43100243 --=20 2.35.1 From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836534; cv=none; d=zohomail.com; s=zohoarc; b=cUSYj2ggC2FrRctbQDsZrbwsY6iIfLAUQk5MVIQt2KDdD1wUdTRT0CWt8bmu1Mkb4eU+BwZTWfEqwo9H0uf1pqyo/jH7lSNwgVckhKufLO6QEhyS69Ev85oHZi7Elo6A+F8bMt/fdZ686RAlqi+HEeEWReL2z4MaS5JB9kw6/Dw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836534; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BYNSfQGUJfqy4KJzavbGjpK+UT5J2RcypKV9+3x2NiQ=; b=mbbwucvT3W4ogxwhDgKcuE5Z0dz3MKVApNl+LA6KzESk19j/F34rWDiCIcnarrTJQmiYgoynZn7OyTw7z8CvbHhGiLDuPjW0zYAOMb9cUDaS2/tkLkwCZXMdEH5HvSM/VX7wUcObUnAd/L3Wqibb8aaCsIDWDI+mNFvSsF2uBvw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1648836534499233.0107419930796; Fri, 1 Apr 2022 11:08:54 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-361--AFnAwrfNRC6onAo7x7n1Q-1; Fri, 01 Apr 2022 14:08:48 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 25DAD3804508; Fri, 1 Apr 2022 18:08:44 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id EDA6A4292C8; Fri, 1 Apr 2022 18:08:43 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id BDAF71949761; Fri, 1 Apr 2022 18:08:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 1EF101947BBF for ; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 11054111D7B4; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E146F111D7B6 for ; Fri, 1 Apr 2022 18:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836533; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=BYNSfQGUJfqy4KJzavbGjpK+UT5J2RcypKV9+3x2NiQ=; b=eQi9qWINoixZ3LbV3YtU9FF4B7dsBRpNLH4qzeiwnpejPhsWh6Es6zfBR4ZVWd7JhkOB4A 8gncAFEtpwcl2GbkjBtjM1QqtxMhnJLrC5N7i9q8kWjCeNjJkdjqkuVj1hFzE3E8H1eIA/ bStUhJBe8f/IyreAW1dottGTbv+uk7k= X-MC-Unique: -AFnAwrfNRC6onAo7x7n1Q-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 04/16] qemu: Introduce QEMU_CAPS_VIRTIO_IOMMU_BOOT_BYPASS Date: Fri, 1 Apr 2022 20:08:23 +0200 Message-Id: <20220401180835.200444-5-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648836538512100001 This capability detects the availability of the boot-bypass property of the virtio-iommu-pci device. This property was only introduced in QEMU 7.0 but, since the device has been around for much longer, we end up querying its properties for several more releases. As I don't have convenient access to the 10+ binaries necessary to regenerate the replies, I just put some fake data in there. Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 8 + src/qemu/qemu_capabilities.h | 1 + .../caps_5.0.0.aarch64.replies | 71 +++-- .../caps_5.0.0.ppc64.replies | 59 ++-- .../caps_5.0.0.riscv64.replies | 55 ++-- .../caps_5.0.0.x86_64.replies | 71 +++-- .../caps_5.1.0.x86_64.replies | 71 +++-- .../caps_5.2.0.aarch64.replies | 71 +++-- .../caps_5.2.0.ppc64.replies | 59 ++-- .../caps_5.2.0.riscv64.replies | 55 ++-- .../caps_5.2.0.s390x.replies | 59 ++-- .../caps_5.2.0.x86_64.replies | 71 +++-- .../caps_6.0.0.aarch64.replies | 71 +++-- .../caps_6.0.0.s390x.replies | 59 ++-- .../caps_6.0.0.x86_64.replies | 71 +++-- .../caps_6.1.0.x86_64.replies | 71 +++-- .../caps_6.2.0.aarch64.replies | 71 +++-- .../caps_6.2.0.ppc64.replies | 59 ++-- .../caps_6.2.0.x86_64.replies | 71 +++-- .../caps_7.0.0.aarch64.replies | 275 ++++++++++++++++-- .../caps_7.0.0.aarch64.xml | 1 + .../caps_7.0.0.ppc64.replies | 263 +++++++++++++++-- .../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 + .../caps_7.0.0.x86_64.replies | 275 ++++++++++++++++-- .../caps_7.0.0.x86_64.xml | 1 + 25 files changed, 1472 insertions(+), 468 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 95aedee824..bc95863519 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -670,6 +670,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "blockdev.nbd.tls-hostname", /* QEMU_CAPS_BLOCKDEV_NBD_TLS_H= OSTNAME */ "memory-backend-file.prealloc-threads", /* QEMU_CAPS_MEMORY_= BACKEND_PREALLOC_THREADS */ "virtio-iommu-pci", /* QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI */ + "virtio-iommu.boot-bypass", /* QEMU_CAPS_VIRTIO_IOMMU_BOOT_B= YPASS */ ); =20 =20 @@ -1579,6 +1580,10 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCap= sDevicePropsVirtioMemPCI[] =3D { "prealloc", QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI_PREALLOC, NULL }, }; =20 +static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioIOMM= U[] =3D { + { "boot-bypass", QEMU_CAPS_VIRTIO_IOMMU_BOOT_BYPASS, NULL }, +}; + /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] =3D { { "block-commit/arg-type/*top", QEMU_CAPS_ACTIVE_COMMIT }, @@ -1745,6 +1750,9 @@ static virQEMUCapsDeviceTypeProps virQEMUCapsDevicePr= ops[] =3D { { "virtio-mem-pci", virQEMUCapsDevicePropsVirtioMemPCI, G_N_ELEMENTS(virQEMUCapsDevicePropsVirtioMemPCI), QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI }, + { "virtio-iommu-pci", virQEMUCapsDevicePropsVirtioIOMMU, + G_N_ELEMENTS(virQEMUCapsDevicePropsVirtioIOMMU), + QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFi= le[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index cc63454430..6476ec0746 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -645,6 +645,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME, /* tls hostname can be overridden= for NBD clients */ QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*= .prealloc-threads */ QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI, /* -device virtio-iommu-pci */ + QEMU_CAPS_VIRTIO_IOMMU_BOOT_BYPASS, /* virtio-iommu.boot-bypass */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_5.0.0.aarch64.replies index 574c14d4ce..29bde0357f 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies @@ -20244,12 +20244,31 @@ "id": "libvirt-32" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-33" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-33" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -20319,7 +20338,7 @@ "type": "bool" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -20327,7 +20346,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -20396,7 +20415,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -20404,7 +20423,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -20608,12 +20627,12 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-machines", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -21201,7 +21220,7 @@ "deprecated": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -21209,7 +21228,7 @@ "arguments": { "typename": "virt-5.0-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -21357,7 +21376,7 @@ "type": "child" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -21365,7 +21384,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -21455,12 +21474,12 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -21656,24 +21675,24 @@ "static": false } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-models", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-types", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -21681,12 +21700,12 @@ "passthrough", "emulator" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-command-line-options", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -22844,12 +22863,12 @@ "option": "drive" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -22927,12 +22946,12 @@ "capability": "validate-uuid" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -22948,7 +22967,7 @@ "kernel": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -22959,7 +22978,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -22990,7 +23009,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.replies b/tests/qe= mucapabilitiesdata/caps_5.0.0.ppc64.replies index b7950ec59b..ceee1fb025 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.replies @@ -20182,12 +20182,31 @@ "id": "libvirt-34" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-35" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -20257,7 +20276,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -20265,7 +20284,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -20334,12 +20353,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -20609,7 +20628,7 @@ "deprecated": false } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -20617,7 +20636,7 @@ "arguments": { "typename": "pseries-5.0-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -20826,7 +20845,7 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -20834,7 +20853,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -20924,12 +20943,12 @@ "type": "string" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23135,24 +23154,24 @@ "static": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-models", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "return": [ "tpm-spapr" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-types", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -23160,12 +23179,12 @@ "passthrough", "emulator" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-command-line-options", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -24302,12 +24321,12 @@ "option": "drive" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -24385,7 +24404,7 @@ "capability": "validate-uuid" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.replies b/tests/= qemucapabilitiesdata/caps_5.0.0.riscv64.replies index a4dfe42b89..df993441a2 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.replies @@ -18379,12 +18379,31 @@ "id": "libvirt-33" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-34" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -18454,7 +18473,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -18462,7 +18481,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -18531,12 +18550,12 @@ "type": "int" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-machines", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -18594,7 +18613,7 @@ "deprecated": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -18602,7 +18621,7 @@ "arguments": { "typename": "virt-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -18692,7 +18711,7 @@ "type": "string" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -18700,7 +18719,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -18790,34 +18809,34 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "return": [ ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "return": [ ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -20083,12 +20102,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -20166,5 +20185,5 @@ "capability": "validate-uuid" } ], - "id": "libvirt-42" + "id": "libvirt-43" } diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.0.0.x86_64.replies index ad6ee05ba6..bd508473a2 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies @@ -20078,12 +20078,31 @@ "id": "libvirt-37" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-38" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-38" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -20153,7 +20172,7 @@ "type": "bool" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -20161,7 +20180,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -20230,7 +20249,7 @@ "type": "int" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -20238,7 +20257,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -21804,12 +21823,12 @@ "type": "bool" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-machines", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -22185,7 +22204,7 @@ "deprecated": false } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -22193,7 +22212,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -22283,12 +22302,12 @@ "type": "string" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -23833,12 +23852,12 @@ "migration-safe": true } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-tpm-models", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -23846,12 +23865,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-types", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -23859,12 +23878,12 @@ "passthrough", "emulator" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-command-line-options", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -25140,12 +25159,12 @@ "option": "drive" } ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -25223,16 +25242,16 @@ "capability": "validate-uuid" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { - "id": "libvirt-48", + "id": "libvirt-49", "error": { "class": "GenericError", "desc": "SEV feature is not available" @@ -25247,7 +25266,7 @@ "name": "host" } }, - "id": "libvirt-49" + "id": "libvirt-50" } =20 { @@ -25550,7 +25569,7 @@ } } }, - "id": "libvirt-49" + "id": "libvirt-50" } =20 { @@ -25564,7 +25583,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -25867,7 +25886,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.1.0.x86_64.replies index cfb28e77bd..900acb1ed4 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies @@ -20828,12 +20828,31 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -20903,7 +20922,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -20911,7 +20930,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -20980,7 +20999,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -20988,7 +21007,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -22574,12 +22593,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -22971,7 +22990,7 @@ "deprecated": false } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -22979,7 +22998,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -23069,12 +23088,12 @@ "type": "string" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -24776,12 +24795,12 @@ "migration-safe": true } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -24789,12 +24808,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -24802,12 +24821,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -26102,12 +26121,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -26185,16 +26204,16 @@ "capability": "validate-uuid" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { - "id": "libvirt-49", + "id": "libvirt-50", "error": { "class": "GenericError", "desc": "SEV is not enabled in KVM" @@ -26209,7 +26228,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -26517,7 +26536,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -26531,7 +26550,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -26839,7 +26858,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_5.2.0.aarch64.replies index 76de04bb85..0203bbd399 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies @@ -21517,12 +21517,31 @@ "id": "libvirt-33" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-34" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -21592,7 +21611,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -21600,7 +21619,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -21669,7 +21688,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -21677,7 +21696,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -21886,12 +21905,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -22628,7 +22647,7 @@ "deprecated": false } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -22636,7 +22655,7 @@ "arguments": { "typename": "virt-5.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -22799,7 +22818,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -22807,7 +22826,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -22892,12 +22911,12 @@ "type": "string" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23131,24 +23150,24 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-models", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-types", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -23156,12 +23175,12 @@ "passthrough", "emulator" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-command-line-options", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -24338,12 +24357,12 @@ "option": "drive" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -24421,12 +24440,12 @@ "capability": "validate-uuid" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -24442,7 +24461,7 @@ "kernel": false } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -24453,7 +24472,7 @@ "name": "host" } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -24485,7 +24504,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.replies b/tests/qe= mucapabilitiesdata/caps_5.2.0.ppc64.replies index 0adb594192..86ea403662 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.replies @@ -21263,12 +21263,31 @@ "id": "libvirt-34" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-35" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -21338,7 +21357,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -21346,7 +21365,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -21415,12 +21434,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -21740,7 +21759,7 @@ "default-ram-id": "mpc8544ds.ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -21748,7 +21767,7 @@ "arguments": { "typename": "pseries-5.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -21952,7 +21971,7 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -21960,7 +21979,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -22045,12 +22064,12 @@ "type": "string" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -24696,24 +24715,24 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-models", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "return": [ "tpm-spapr" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-types", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -24721,12 +24740,12 @@ "passthrough", "emulator" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-command-line-options", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -25882,12 +25901,12 @@ "option": "drive" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -25965,7 +25984,7 @@ "capability": "validate-uuid" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.replies b/tests/= qemucapabilitiesdata/caps_5.2.0.riscv64.replies index 627afa6d12..4931b4ff1c 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.replies @@ -19435,12 +19435,31 @@ "id": "libvirt-33" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-34" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -19510,7 +19529,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -19518,7 +19537,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -19587,12 +19606,12 @@ "type": "int" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-machines", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -19646,7 +19665,7 @@ "deprecated": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -19654,7 +19673,7 @@ "arguments": { "typename": "virt-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -19744,7 +19763,7 @@ "type": "bool" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -19752,7 +19771,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -19837,34 +19856,34 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "return": [ ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "return": [ ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -21149,12 +21168,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -21232,5 +21251,5 @@ "capability": "validate-uuid" } ], - "id": "libvirt-42" + "id": "libvirt-43" } diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_5.2.0.s390x.replies index cdca3b9169..ab1c2034af 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.replies @@ -19451,12 +19451,31 @@ "id": "libvirt-31" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-32" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-32" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -19526,7 +19545,7 @@ "type": "bool" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -19534,7 +19553,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -19603,12 +19622,12 @@ "type": "int" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { "execute": "query-machines", - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -19777,7 +19796,7 @@ "default-ram-id": "s390.ram" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -19785,7 +19804,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -19870,12 +19889,12 @@ "type": "string" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -20556,34 +20575,34 @@ "deprecated": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -21739,12 +21758,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -21822,7 +21841,7 @@ "capability": "validate-uuid" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -21833,7 +21852,7 @@ "name": "host" } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -21889,7 +21908,7 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.2.0.x86_64.replies index 22a1087e23..3ea7d87aec 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies @@ -21428,12 +21428,31 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -21503,7 +21522,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -21511,7 +21530,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -21580,7 +21599,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -21588,7 +21607,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -23186,12 +23205,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -23649,7 +23668,7 @@ "default-ram-id": "pc.ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -23657,7 +23676,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -23742,12 +23761,12 @@ "type": "string" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -25572,12 +25591,12 @@ "deprecated": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -25585,12 +25604,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -25598,12 +25617,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -26898,12 +26917,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -26981,16 +27000,16 @@ "capability": "validate-uuid" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { - "id": "libvirt-49", + "id": "libvirt-50", "error": { "class": "GenericError", "desc": "SEV is not enabled in KVM" @@ -27005,7 +27024,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -27314,7 +27333,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -27328,7 +27347,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -27637,7 +27656,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_6.0.0.aarch64.replies index ffb17cbc84..1b9fd6b18a 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies @@ -23376,12 +23376,31 @@ "id": "libvirt-33" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-34" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -23451,7 +23470,7 @@ "type": "bool" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -23459,7 +23478,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -23528,7 +23547,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -23536,7 +23555,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -23745,12 +23764,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -24529,7 +24548,7 @@ "deprecated": false } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -24537,7 +24556,7 @@ "arguments": { "typename": "virt-6.0-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -24723,7 +24742,7 @@ "type": "child" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -24731,7 +24750,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -24829,12 +24848,12 @@ "type": "child" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -25074,24 +25093,24 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-models", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-types", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -25099,12 +25118,12 @@ "passthrough", "emulator" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-command-line-options", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -26301,12 +26320,12 @@ "option": "drive" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -26388,12 +26407,12 @@ "capability": "background-snapshot" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -26409,7 +26428,7 @@ "kernel": false } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -26420,7 +26439,7 @@ "name": "host" } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -26452,7 +26471,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_6.0.0.s390x.replies index 67706ec6d5..388f95d3d1 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.replies @@ -21089,12 +21089,31 @@ "id": "libvirt-31" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-32" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-32" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -21164,7 +21183,7 @@ "type": "bool" } ], - "id": "libvirt-32" + "id": "libvirt-33" } =20 { @@ -21172,7 +21191,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-33" + "id": "libvirt-34" } =20 { @@ -21241,12 +21260,12 @@ "type": "int" } ], - "id": "libvirt-33" + "id": "libvirt-34" } =20 { "execute": "query-machines", - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -21424,7 +21443,7 @@ "default-ram-id": "s390.ram" } ], - "id": "libvirt-34" + "id": "libvirt-35" } =20 { @@ -21432,7 +21451,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -21530,12 +21549,12 @@ "type": "child" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -22216,34 +22235,34 @@ "deprecated": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -23419,12 +23438,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23506,7 +23525,7 @@ "capability": "background-snapshot" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23517,7 +23536,7 @@ "name": "host" } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -23574,7 +23593,7 @@ } } }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.0.0.x86_64.replies index 4cde1b4eb5..2577587d9b 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies @@ -23212,12 +23212,31 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -23291,7 +23310,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -23299,7 +23318,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23368,7 +23387,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23376,7 +23395,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -25022,12 +25041,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -25474,7 +25493,7 @@ "default-ram-id": "pc.ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -25482,7 +25501,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -25580,12 +25599,12 @@ "type": "child" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -27453,12 +27472,12 @@ "deprecated": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -27466,12 +27485,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -27479,12 +27498,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -28803,12 +28822,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -28890,12 +28909,12 @@ "capability": "background-snapshot" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { @@ -28905,7 +28924,7 @@ "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA= ", "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAA= OAAA" }, - "id": "libvirt-49" + "id": "libvirt-50" } =20 { @@ -28916,7 +28935,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -29237,7 +29256,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -29251,7 +29270,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -29572,7 +29591,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.1.0.x86_64.replies index 1fb3b3de8c..42c64d946a 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies @@ -23454,12 +23454,31 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -23538,7 +23557,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -23546,7 +23565,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23620,7 +23639,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -23628,7 +23647,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -25286,12 +25305,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -25756,7 +25775,7 @@ "default-ram-id": "pc.ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -25764,7 +25783,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -25867,12 +25886,12 @@ "type": "child" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -27929,12 +27948,12 @@ "deprecated": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -27942,12 +27961,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -27955,12 +27974,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -29292,12 +29311,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -29379,16 +29398,16 @@ "capability": "background-snapshot" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { - "id": "libvirt-49", + "id": "libvirt-50", "error": { "class": "GenericError", "desc": "Failed to open /dev/sev: No such file or directory" @@ -29403,7 +29422,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -29726,7 +29745,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -29740,7 +29759,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -30063,7 +30082,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_6.2.0.aarch64.replies index e8ce132f3c..1a660ffd4d 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies @@ -24217,12 +24217,31 @@ "id": "libvirt-34" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-35" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -24297,7 +24316,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -24305,7 +24324,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -24379,7 +24398,7 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -24387,7 +24406,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -24596,12 +24615,12 @@ "type": "bool" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-machines", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -25445,7 +25464,7 @@ "deprecated": false } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -25453,7 +25472,7 @@ "arguments": { "typename": "virt-6.2-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -25649,7 +25668,7 @@ "type": "child" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -25657,7 +25676,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -25760,12 +25779,12 @@ "type": "child" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -26011,24 +26030,24 @@ "deprecated": false } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-models", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-tpm-types", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -26036,12 +26055,12 @@ "passthrough", "emulator" ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-command-line-options", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -27389,12 +27408,12 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -27476,12 +27495,12 @@ "capability": "background-snapshot" } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -27497,7 +27516,7 @@ "kernel": false } ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -27508,7 +27527,7 @@ "name": "host" } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -27540,7 +27559,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.replies b/tests/qe= mucapabilitiesdata/caps_6.2.0.ppc64.replies index 089db57737..915b6a0584 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.replies @@ -26153,12 +26153,31 @@ "id": "libvirt-34" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-35" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -26233,7 +26252,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -26241,7 +26260,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -26315,12 +26334,12 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-machines", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -26683,7 +26702,7 @@ "default-ram-id": "mpc8544ds.ram" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -26691,7 +26710,7 @@ "arguments": { "typename": "pseries-6.2-machine" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -26923,7 +26942,7 @@ "type": "string" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -26931,7 +26950,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -27034,12 +27053,12 @@ "type": "child" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -29691,24 +29710,24 @@ "deprecated": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-models", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "return": [ "tpm-spapr" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-types", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29716,12 +29735,12 @@ "passthrough", "emulator" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-command-line-options", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -30855,12 +30874,12 @@ "option": "drive" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -30942,7 +30961,7 @@ "capability": "background-snapshot" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.2.0.x86_64.replies index 8a574c893b..e235532d62 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies @@ -26635,12 +26635,31 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "fake-data", + "description": "pretend there's real data here", + "type": "str" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -26719,7 +26738,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -26727,7 +26746,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -26801,7 +26820,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -26809,7 +26828,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -28549,12 +28568,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29037,7 +29056,7 @@ "default-ram-id": "pc.ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29045,7 +29064,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -29148,12 +29167,12 @@ "type": "child" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -31222,12 +31241,12 @@ "deprecated": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -31235,12 +31254,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -31248,12 +31267,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -32585,12 +32604,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -32672,16 +32691,16 @@ "capability": "background-snapshot" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { - "id": "libvirt-49", + "id": "libvirt-50", "error": { "class": "GenericError", "desc": "SEV: Failed to open /dev/sev: No such file or directory" @@ -32696,7 +32715,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -33029,7 +33048,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -33043,7 +33062,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -33376,7 +33395,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_7.0.0.aarch64.replies index fa2b68c2b9..15aa136a96 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies @@ -27730,12 +27730,235 @@ "id": "libvirt-35" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-36" +} + +{ + "return": [ + { + "default-value": 1, + "name": "rombar", + "type": "uint32" + }, + { + "default-value": true, + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 4294967295, + "name": "romsize", + "type": "uint32" + }, + { + "default-value": false, + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 0, + "name": "acpi-index", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "default-value": true, + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": -1, + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "failover_pair_id", + "type": "str" + }, + { + "default-value": false, + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-flr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "default-value": false, + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "aer", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-ats-page-aligned", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "disable-modern", + "type": "bool" + }, + { + "default-value": "auto", + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "default-value": 0, + "name": "len-reserved-regions", + "type": "uint32" + }, + { + "default-value": 0, + "name": "class", + "type": "uint32" + }, + { + "default-value": true, + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "use-started", + "type": "bool" + }, + { + "default-value": true, + "name": "boot-bypass", + "type": "bool" + }, + { + "default-value": true, + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": false, + "name": "x-disable-legacy-check", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "default-value": false, + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "use-disabled-flag", + "type": "bool" + }, + { + "default-value": false, + "name": "packed", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-36" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -27810,7 +28033,7 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -27818,7 +28041,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -27892,7 +28115,7 @@ "type": "bool" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -27900,7 +28123,7 @@ "arguments": { "typename": "max-arm-cpu" }, - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -28109,12 +28332,12 @@ "type": "bool" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-machines", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -28984,7 +29207,7 @@ "deprecated": false } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -28992,7 +29215,7 @@ "arguments": { "typename": "virt-7.0-machine" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -29193,7 +29416,7 @@ "type": "child" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -29201,7 +29424,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -29304,12 +29527,12 @@ "type": "child" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29555,24 +29778,24 @@ "deprecated": false } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-tpm-models", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-tpm-types", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -29580,12 +29803,12 @@ "passthrough", "emulator" ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-command-line-options", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -30937,12 +31160,12 @@ "option": "drive" } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -31024,12 +31247,12 @@ "capability": "background-snapshot" } ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-gic-capabilities", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -31045,7 +31268,7 @@ "kernel": false } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -31056,7 +31279,7 @@ "name": "host" } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -31089,7 +31312,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_7.0.0.aarch64.xml index 73d16e9dfe..742afc24b0 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -212,6 +212,7 @@ + 6002092 0 61700243 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.replies b/tests/qe= mucapabilitiesdata/caps_7.0.0.ppc64.replies index 2283e8e4c8..5537d1fa96 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.replies @@ -26640,12 +26640,235 @@ "id": "libvirt-35" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-36" +} + +{ + "return": [ + { + "default-value": 1, + "name": "rombar", + "type": "uint32" + }, + { + "default-value": true, + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 4294967295, + "name": "romsize", + "type": "uint32" + }, + { + "default-value": false, + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 0, + "name": "acpi-index", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "default-value": true, + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": -1, + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "name": "failover_pair_id", + "type": "str" + }, + { + "default-value": false, + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-flr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "default-value": false, + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "aer", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-ats-page-aligned", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "disable-modern", + "type": "bool" + }, + { + "default-value": "auto", + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "default-value": 0, + "name": "len-reserved-regions", + "type": "uint32" + }, + { + "default-value": 0, + "name": "class", + "type": "uint32" + }, + { + "default-value": true, + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "use-started", + "type": "bool" + }, + { + "default-value": true, + "name": "boot-bypass", + "type": "bool" + }, + { + "default-value": true, + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "primary-bus", + "type": "link" + }, + { + "default-value": false, + "name": "x-disable-legacy-check", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "default-value": false, + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "use-disabled-flag", + "type": "bool" + }, + { + "default-value": false, + "name": "packed", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-36" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -26720,7 +26943,7 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -26728,7 +26951,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { @@ -26802,12 +27025,12 @@ "type": "bool" } ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-machines", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -27179,7 +27402,7 @@ "default-ram-id": "mpc8544ds.ram" } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -27187,7 +27410,7 @@ "arguments": { "typename": "pseries-7.0-machine" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -27419,7 +27642,7 @@ "type": "string" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -27427,7 +27650,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -27530,12 +27753,12 @@ "type": "child" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -30061,24 +30284,24 @@ "deprecated": false } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-tpm-models", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "return": [ "tpm-spapr" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-tpm-types", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -30086,12 +30309,12 @@ "passthrough", "emulator" ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-command-line-options", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -31289,12 +31512,12 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -31376,7 +31599,7 @@ "capability": "background-snapshot" } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_7.0.0.ppc64.xml index 51f5dac464..edbf40f048 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -215,6 +215,7 @@ + 6002092 0 42900243 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_7.0.0.x86_64.replies index f8973143dd..d1f453dcca 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies @@ -26988,12 +26988,235 @@ "id": "libvirt-38" } =20 +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-iommu-pci" + }, + "id": "libvirt-39" +} + +{ + "return": [ + { + "name": "failover_pair_id", + "type": "str" + }, + { + "name": "romfile", + "type": "str" + }, + { + "default-value": -1, + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or = 06", + "type": "int32" + }, + { + "default-value": 4294967295, + "name": "romsize", + "type": "uint32" + }, + { + "default-value": true, + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 1, + "name": "rombar", + "type": "uint32" + }, + { + "default-value": true, + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": 0, + "name": "acpi-index", + "type": "uint32" + }, + { + "default-value": false, + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "aer", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-flr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-ats-page-aligned", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "default-value": "auto", + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "default-value": false, + "name": "disable-modern", + "type": "bool" + }, + { + "default-value": 0, + "name": "len-reserved-regions", + "type": "uint32" + }, + { + "default-value": 0, + "name": "class", + "type": "uint32" + }, + { + "default-value": true, + "name": "use-disabled-flag", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child" + }, + { + "default-value": false, + "name": "packed", + "description": "on/off", + "type": "bool" + }, + { + "default-value": false, + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "boot-bypass", + "type": "bool" + }, + { + "default-value": false, + "name": "x-disable-legacy-check", + "type": "bool" + }, + { + "default-value": true, + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "default-value": true, + "name": "use-started", + "type": "bool" + }, + { + "default-value": true, + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "primary-bus", + "type": "link" + } + ], + "id": "libvirt-39" +} + { "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -27072,7 +27295,7 @@ "type": "bool" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -27080,7 +27303,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -27154,7 +27377,7 @@ "type": "int" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -27162,7 +27385,7 @@ "arguments": { "typename": "max-x86_64-cpu" }, - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -28918,12 +29141,12 @@ "type": "bool" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-machines", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29450,7 +29673,7 @@ "default-ram-id": "pc.ram" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -29458,7 +29681,7 @@ "arguments": { "typename": "none-machine" }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -29561,12 +29784,12 @@ "type": "child" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -31671,12 +31894,12 @@ "deprecated": false } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { "execute": "query-tpm-models", - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -31684,12 +31907,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { "execute": "query-tpm-types", - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -31697,12 +31920,12 @@ "passthrough", "emulator" ], - "id": "libvirt-46" + "id": "libvirt-47" } =20 { "execute": "query-command-line-options", - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -33038,12 +33261,12 @@ "option": "drive" } ], - "id": "libvirt-47" + "id": "libvirt-48" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -33125,16 +33348,16 @@ "capability": "background-snapshot" } ], - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { - "id": "libvirt-49", + "id": "libvirt-50", "error": { "class": "GenericError", "desc": "SEV: Failed to open /dev/sev: No such file or directory" @@ -33149,7 +33372,7 @@ "name": "host" } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -33486,7 +33709,7 @@ } } }, - "id": "libvirt-50" + "id": "libvirt-51" } =20 { @@ -33500,7 +33723,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { @@ -33837,7 +34060,7 @@ } } }, - "id": "libvirt-51" + "id": "libvirt-52" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.0.0.x86_64.xml index 1c05085a2f..a6b9c2fdd4 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -246,6 +246,7 @@ + 6002092 0 43100243 --=20 2.35.1 From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836531; cv=none; d=zohomail.com; s=zohoarc; b=MExrvdJllzyKR1i2HygS/JXHhLdALT+xybMjBQHWGikbW16Naq0y+hfpULRFpJIxr9bSHr21Wla2+D6T6QHsB6SeJ886d+wUA8GpiBoDtwQotvwNNHYcUKQQ1OfCeL5MOQo3QB9VoCi5vXJsRVIDCe4as9puscLPVdHpLJsTBEc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836531; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nUgDUYSWpFrAYqJedDvZzOrj/lctBYFA9qFIeX0ci7A=; b=GLIDH1Vao/hlDm5yzpvGVuSQaROLiN/IH5tMD/H1jz1DBu8x6+43BDIgCiJUjOn90nh+cPG77jCxNl3r/YgG76LWG0cLJqnvXbUVPBlDsvgqGIbZfSsaYxD+rx6zb46dyPzkniPYjTCfR2FE2X7P/3dqm1hLREFU9jek9ZL3xfs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 164883653152047.92232456818056; Fri, 1 Apr 2022 11:08:51 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-492-x8TGoBgkOp-851RWEKed1A-1; Fri, 01 Apr 2022 14:08:48 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 02C261815D0B; Fri, 1 Apr 2022 18:08:45 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF0AF111D7B4; Fri, 1 Apr 2022 18:08:44 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 35B2D1940356; Fri, 1 Apr 2022 18:08:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id EBC7B1947BBE for ; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D902D111D7B4; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5FB05111D3D1 for ; Fri, 1 Apr 2022 18:08:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836530; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=nUgDUYSWpFrAYqJedDvZzOrj/lctBYFA9qFIeX0ci7A=; b=FI28ngGvITVAi45hTyBhncmPGryj5gDQLXAoGX0K2TY+gCfmzUE3/e8CXW9sR4G54kOwM0 FeyeZMSaWzbyyg++HyxT8T3Udj/dZqb/gnsNm/bWXuRA6Er6ySe/Ru3h1iVEkho2a3aykD 03ctWEPtM5A2POkDOdnv+RwBgLcnJ/o= X-MC-Unique: x8TGoBgkOp-851RWEKed1A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 05/16] conf: Introduce virtio model for Date: Fri, 1 Apr 2022 20:08:24 +0200 Message-Id: <20220401180835.200444-6-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648836536126100009 Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 1 + src/conf/domain_conf.h | 1 + src/conf/schemas/domaincommon.rng | 1 + src/qemu/qemu_command.c | 4 ++++ src/qemu/qemu_domain_address.c | 6 ++++++ src/qemu/qemu_validate.c | 3 +++ 6 files changed, 16 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index ba8dd7d7d0..2295d73ff2 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1287,6 +1287,7 @@ VIR_ENUM_IMPL(virDomainIOMMUModel, VIR_DOMAIN_IOMMU_MODEL_LAST, "intel", "smmuv3", + "virtio", ); =20 VIR_ENUM_IMPL(virDomainVsockModel, diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c58fe3cb0f..bad0004b3c 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2755,6 +2755,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainSecDef, virDom= ainSecDefFree); typedef enum { VIR_DOMAIN_IOMMU_MODEL_INTEL, VIR_DOMAIN_IOMMU_MODEL_SMMUV3, + VIR_DOMAIN_IOMMU_MODEL_VIRTIO, =20 VIR_DOMAIN_IOMMU_MODEL_LAST } virDomainIOMMUModel; diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 3326946842..3951ef3e04 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -5457,6 +5457,7 @@ intel smmuv3 + virtio diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9180d5c317..a6d4bb1cb1 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6451,6 +6451,9 @@ qemuBuildIOMMUCommandLine(virCommand *cmd, =20 return 0; =20 + case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: + return 0; + case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: /* There is no -device for SMMUv3, so nothing to be done here */ return 0; @@ -7037,6 +7040,7 @@ qemuBuildMachineCommandLine(virCommand *cmd, break; =20 case VIR_DOMAIN_IOMMU_MODEL_INTEL: + case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: /* These IOMMUs are formatted in qemuBuildIOMMUCommandLine */ break; =20 diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 6ca6fa54a3..205610c53e 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -1004,6 +1004,9 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDev= iceDef *dev, =20 case VIR_DOMAIN_DEVICE_IOMMU: switch ((virDomainIOMMUModel) dev->data.iommu->model) { + case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: + return 0; + case VIR_DOMAIN_IOMMU_MODEL_INTEL: case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: case VIR_DOMAIN_IOMMU_MODEL_LAST: @@ -2382,6 +2385,9 @@ qemuDomainAssignDevicePCISlots(virDomainDef *def, virDomainIOMMUDef *iommu =3D def->iommu; =20 switch ((virDomainIOMMUModel) iommu->model) { + case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: + break; + case VIR_DOMAIN_IOMMU_MODEL_INTEL: case VIR_DOMAIN_IOMMU_MODEL_SMMUV3: case VIR_DOMAIN_IOMMU_MODEL_LAST: diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index e0708b8a76..f2548a31ae 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4865,6 +4865,9 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMU= Def *iommu, } break; =20 + case VIR_DOMAIN_IOMMU_MODEL_VIRTIO: + break; + case VIR_DOMAIN_IOMMU_MODEL_LAST: default: virReportEnumRangeError(virDomainIOMMUModel, iommu->model); --=20 2.35.1 From nobody Mon May 13 23:07:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1648836533; cv=none; d=zohomail.com; s=zohoarc; b=Am/yTZdX0O5hPzO6+Ih0r5Nvyntv/okH61CiwldkmqbBGB/CMe7um0dgBaYw3jvwNRxxnPp7zVTzhQgeExkK71KEafaV5BMwVli3EmUmPpGzFSq6ycIYRLsejA8GzbzhDNuNEx9fU0xYViUyQB3bQirdQPASY7jL5/hNGvoB3/E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648836533; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8qfJpe/nvu8yObvyi9SUfKmupLtAbQS8xRxtacL2YCs=; b=VDModf1VAukiX/HL0dK1eCUFXniIEGNDWqqRSsFaQsuBwPpE4Ng/2EaPGXCbb9K/RV/zzEG0OXJQQvsnll8qMPhx/ogvIKf20YaerhFF/rZB/oFqHG1VAp9N9Qrqed0srHWQFPgChXkP3IyfMsbYLsF9AT/u2rIlmo/VnycufRs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1648836533842868.749566579233; Fri, 1 Apr 2022 11:08:53 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-550-K1T9RRkUOVytlfMdsNTlOg-1; Fri, 01 Apr 2022 14:08:51 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 85899804184; Fri, 1 Apr 2022 18:08:45 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 71964417EC9; Fri, 1 Apr 2022 18:08:45 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9C13B1940350; Fri, 1 Apr 2022 18:08:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C1F171940340 for ; Fri, 1 Apr 2022 18:08:43 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id B3455111D7B5; Fri, 1 Apr 2022 18:08:43 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.40.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 39A16111D3D2 for ; Fri, 1 Apr 2022 18:08:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648836532; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=8qfJpe/nvu8yObvyi9SUfKmupLtAbQS8xRxtacL2YCs=; b=T0R+McX3LFeoMxILLwmWEbtDjZgftLpBUhPEramK/FdCelTT5hcHVe+UwjPym9xbV6wnAA 5Jrd3Iqufbd3zBXGl3Ce1u5Hl+BKXNhpJZ1r/Be1eGFgpVYzonyKm+EXPXPFCtaewpb15j 9b8jaNBT76N5YlarBzgkdz/w9ZmF+Fo= X-MC-Unique: K1T9RRkUOVytlfMdsNTlOg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH v4 06/16] tests: Add test cases for virtio-iommu Date: Fri, 1 Apr 2022 20:08:25 +0200 Message-Id: <20220401180835.200444-7-abologna@redhat.com> In-Reply-To: <20220401180835.200444-1-abologna@redhat.com> References: <20220401180835.200444-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1648836534124100007 These represent valid uses of the device. Signed-off-by: Andrea Bolognani Reviewed-by: J=C3=A1n Tomko --- .../virtio-iommu-aarch64.aarch64-latest.args | 35 +++++++++++++++++++ .../qemuxml2argvdata/virtio-iommu-aarch64.xml | 20 +++++++++++ .../virtio-iommu-x86_64.x86_64-latest.args | 31 ++++++++++++++++ .../qemuxml2argvdata/virtio-iommu-x86_64.xml | 18 ++++++++++ tests/qemuxml2argvtest.c | 2 ++ .../virtio-iommu-aarch64.aarch64-latest.xml | 32 +++++++++++++++++ .../virtio-iommu-x86_64.x86_64-latest.xml | 34 ++++++++++++++++++ tests/qemuxml2xmltest.c | 2 ++ 8 files changed, 174 insertions(+) create mode 100644 tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-lat= est.args create mode 100644 tests/qemuxml2argvdata/virtio-iommu-aarch64.xml create mode 100644 tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-lates= t.args create mode 100644 tests/qemuxml2argvdata/virtio-iommu-x86_64.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-l= atest.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-lat= est.xml diff --git a/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.arg= s b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args new file mode 100644 index 0000000000..917451d6f2 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-iommu-aarch64.aarch64-latest.args @@ -0,0 +1,35 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/tmp/lib/domain--1-guest \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/tmp/lib/domain--1-guest/.local/share \ +XDG_CACHE_HOME=3D/tmp/lib/domain--1-guest/.cache \ +XDG_CONFIG_HOME=3D/tmp/lib/domain--1-guest/.config \ +/usr/bin/qemu-system-aarch64 \ +-name guest=3Dguest,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tm= p/lib/domain--1-guest/master-key.aes"}' \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","n= ode-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"= }' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver"= :"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/guest_= VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"disca= rd":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver= ":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt,usb=3Doff,dump-guest-core=3Doff,gic-version=3D2,pflash0=3Dli= bvirt-pflash0-format,pflash1=3Dlibvirt-pflash1-format,memory-backend=3Dmach= -virt.ram \ +-accel tcg \ +-cpu cortex-a15 \ +-m 1024 \ +-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073= 741824}' \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-iommu-aarch64.xml b/tests/qemuxm= l2argvdata/virtio-iommu-aarch64.xml new file mode 100644 index 0000000000..3e89cb2dac --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-iommu-aarch64.xml @@ -0,0 +1,20 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 1048576 + 1 + + hvm + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qemu/nvram/guest_VARS.fd + + + + + + /usr/bin/qemu-system-aarch64 + + + + + diff --git a/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args = b/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args new file mode 100644 index 0000000000..be06ea9957 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args @@ -0,0 +1,31 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/tmp/lib/domain--1-QEMUGuest1 \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tm= p/lib/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine q35,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dpc.ram \ +-accel tcg \ +-cpu qemu64 \ +-m 214 \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'= \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-iommu-x86_64.xml b/tests/qemuxml= 2argvdata/virtio-iommu-x86_64.xml new file mode 100644 index 0000000000..51c13d2ef6 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-iommu-x86_64.xml @@ -0,0 +1,18 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219100 + 1 + + hvm + + + + + + /usr/bin/qemu-system-x86_64 + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index e7fecb24d3..7c2191f580 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -3247,6 +3247,8 @@ mymain(void) DO_TEST_CAPS_LATEST("intel-iommu-aw-bits"); DO_TEST_CAPS_LATEST_PARSE_ERROR("intel-iommu-wrong-machine"); DO_TEST_CAPS_ARCH_LATEST("iommu-smmuv3", "aarch64"); + DO_TEST_CAPS_LATEST("virtio-iommu-x86_64"); + DO_TEST_CAPS_ARCH_LATEST("virtio-iommu-aarch64", "aarch64"); =20 DO_TEST("cpu-hotplug-startup", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); DO_TEST_PARSE_ERROR("cpu-hotplug-granularity", diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.x= ml b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml new file mode 100644 index 0000000000..336f99d539 --- /dev/null +++ b/tests/qemuxml2xmloutdata/virtio-iommu-aarch64.aarch64-latest.xml @@ -0,0 +1,32 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 1048576 + 1048576 + 1 + + hvm + /usr/share/AAVMF/AAVMF_CODE.f= d + /var/lib/libvirt/qemu/nvram/guest_VARS.fd + + + + + + + + cortex-a15 + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + + + diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml= b/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml new file mode 100644 index 0000000000..0b6c2d0eaf --- /dev/null +++ b/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml @@ -0,0 +1,34 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219100 + 219100 + 1 + + hvm + + + + + + + qemu64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + +
+ + + + +