From nobody Sat Apr 20 03:26:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.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=1630937207; cv=none; d=zohomail.com; s=zohoarc; b=Mo0c0Y5laFxepkJSByyajQuI08odSwbSWzbjkLcytkZVEwhK9rLtEZPnT9NtXpZMMW2G2uX1cZ8t4zMNXQjYZMaR9oKaMX8WjXPIAzsJ68PAlr//Af+Q8uADxFHL+/gFgtjhnjtB8zhAGsGDpIIbSJ7aHVI0dBRRia+U5pLVGtM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630937207; h=Content-Type:Content-Transfer-Encoding:Cc: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=WevYojn9d/Tz5vVmmXamxYVAVbTNHFulxocNJN+9+Zg=; b=JRdJ1dZ8QbTUuMmXPIX5nW34NP3neZdJEwrluhKsc/PJpqesVI2boJkK/5dvBN2CZCWtMoPcg0u5duGYZBp8OIVXYj4+05Zod0inWFgUvx7x+Ez5fXuL7YQrk5efi/CN2Dz+xorojhP6k68dB6kxIUvCbUp1vfzML7hbZe0mOD0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.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 [216.205.24.124]) by mx.zohomail.com with SMTPS id 1630937207580954.1649899695393; Mon, 6 Sep 2021 07:06:47 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-343-uSfERFBbPsCBs1CK5UIOEQ-1; Mon, 06 Sep 2021 10:06:44 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 44C011006C97; Mon, 6 Sep 2021 14:06:39 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4798F5C22B; Mon, 6 Sep 2021 14:06:38 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 16E431809C98; Mon, 6 Sep 2021 14:06:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 186E6bGT031496 for ; Mon, 6 Sep 2021 10:06:37 -0400 Received: by smtp.corp.redhat.com (Postfix) id 404975D9DE; Mon, 6 Sep 2021 14:06:37 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-13-25.pek2.redhat.com [10.72.13.25]) by smtp.corp.redhat.com (Postfix) with ESMTP id 310B85D9DD; Mon, 6 Sep 2021 14:06:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630937206; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=WevYojn9d/Tz5vVmmXamxYVAVbTNHFulxocNJN+9+Zg=; b=T3aBUsOQpk1ryME8TeU2ZTujtn880Ak4MTH6Jk8KhFm+vfVZHBmvUyPs+2fiYQn06ky48Z +4RG2w00dQbZJw/9vvGr8gJDXEDlJ/J1URqeILg53XN9DAcIeaD2k/TO+YJd6gNPc/SFWW JQIIoP3BLuqOBdW1ak2yL2FfWery5Vg= X-MC-Unique: uSfERFBbPsCBs1CK5UIOEQ-1 From: Han Han To: libvir-list@redhat.com Subject: [PATCH 1/3] qemu_capabilities: Add flag QEMU_CAPS_VIRTIO_PAGE_PER_VQ Date: Mon, 6 Sep 2021 22:06:04 +0800 Message-Id: <20210906140606.3846921-2-hhan@redhat.com> In-Reply-To: <20210906140606.3846921-1-hhan@redhat.com> References: <20210906140606.3846921-1-hhan@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Han Han , gavi@nvidia.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 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-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1630937208560100001 Content-Type: text/plain; charset="utf-8" The qemu capability will be used for the page_per_vq option of virtio devices. Signed-off-by: Han Han --- src/qemu/qemu_capabilities.c | 6 ++++++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 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 + 38 files changed, 43 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 70c3ec2f0c..b4f597742d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -638,6 +638,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "query-display-options", /* QEMU_CAPS_QUERY_DISPLAY_OPTIONS = */ "s390-pv-guest", /* QEMU_CAPS_S390_PV_GUEST */ "set-action", /* QEMU_CAPS_SET_ACTION */ + "virtio.page-per-vq", /* QEMU_CAPS_VIRTIO_PAGE_PER_VQ */ ); =20 =20 @@ -1373,6 +1374,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsVirtioBalloon[] { "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES, NULL }, { "free-page-reporting", QEMU_CAPS_VIRTIO_BALLOON_FREE_PAGE_REPORTING,= NULL }, { "acpi-index", QEMU_CAPS_ACPI_INDEX, NULL }, + { "page-per-vq", QEMU_CAPS_VIRTIO_PAGE_PER_VQ, NULL }, }; =20 =20 @@ -1406,6 +1408,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsVirtioBlk[] =3D { { "werror", QEMU_CAPS_STORAGE_WERROR, NULL }, { "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES, NULL }, { "acpi-index", QEMU_CAPS_ACPI_INDEX, NULL }, + { "page-per-vq", QEMU_CAPS_VIRTIO_PAGE_PER_VQ, NULL }, }; =20 static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioNet[= ] =3D { @@ -1420,6 +1423,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsVirtioNet[] =3D { { "failover", QEMU_CAPS_VIRTIO_NET_FAILOVER, NULL }, { "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES, NULL }, { "acpi-index", QEMU_CAPS_ACPI_INDEX, NULL }, + { "page-per-vq", QEMU_CAPS_VIRTIO_PAGE_PER_VQ, NULL }, }; =20 static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsPCIeRootPo= rt[] =3D { @@ -1441,6 +1445,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsVirtioSCSI[] =3D { { "ats", QEMU_CAPS_VIRTIO_PCI_ATS, NULL }, { "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES, NULL }, { "acpi-index", QEMU_CAPS_ACPI_INDEX, NULL }, + { "page-per-vq", QEMU_CAPS_VIRTIO_PAGE_PER_VQ, NULL }, }; =20 static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVfioPCI[] = =3D { @@ -1513,6 +1518,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCaps= DevicePropsVirtioGpu[] =3D { { "ats", QEMU_CAPS_VIRTIO_PCI_ATS, NULL }, { "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES, NULL }, { "acpi-index", QEMU_CAPS_ACPI_INDEX, NULL }, + { "page-per-vq", QEMU_CAPS_VIRTIO_PAGE_PER_VQ, NULL }, }; =20 static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsICH9[] =3D= { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index bc762d1916..b348865390 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -618,6 +618,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_QUERY_DISPLAY_OPTIONS, /* 'query-display-options' qmp comman= d present */ QEMU_CAPS_S390_PV_GUEST, /* -object s390-pv-guest,... */ QEMU_CAPS_SET_ACTION, /* 'set-action' QMP command */ + QEMU_CAPS_VIRTIO_PAGE_PER_VQ, /* virtio.page_per_vq */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.11.0.s390x.xml index 32c25f9e99..13b42766ca 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml @@ -109,6 +109,7 @@ + 2011000 0 39100288 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.11.0.x86_64.xml index 8a3c9c53c6..c0b040e402 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -190,6 +190,7 @@ + 2011000 0 43100288 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.12.0.aarch64.xml index 3cd71919bc..15c7732c7f 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -158,6 +158,7 @@ + 2012000 0 61700289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.ppc64.xml index 2081592b51..04e8f676e9 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -157,6 +157,7 @@ + 2011090 0 42900289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index deabb614ba..58f342df81 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -122,6 +122,7 @@ + 2012000 0 39100289 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 3cc5c86e4d..f59b6ebb6f 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -201,6 +201,7 @@ + 2011090 0 43100289 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.ppc64.xml index 19af15c345..3075fa06e6 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml @@ -159,6 +159,7 @@ + 2012050 0 42900239 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.s390x.xml index 8e90d32de9..e580d26884 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml @@ -125,6 +125,7 @@ + 3000000 0 39100239 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index ff9f88d873..b327266407 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -207,6 +207,7 @@ + 3000000 0 43100239 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.1.0.ppc64.xml index 9c217263ca..5630083d04 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -164,6 +164,7 @@ + 3000091 0 42900240 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index a80d381b71..a8bd3a82f1 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -211,6 +211,7 @@ + 3000092 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.aarch64.xml index efb891fa01..5d38321715 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml @@ -174,6 +174,7 @@ + 4000000 0 61700240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.0.0.ppc64.xml index 1e2b7c7fe6..abd13e8b55 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml @@ -181,6 +181,7 @@ + 4000000 0 42900240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv32.xml index 5872ecd491..c613048cc4 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml @@ -173,6 +173,7 @@ + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv64.xml index bb76faae2b..e925fba2fb 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml @@ -173,6 +173,7 @@ + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.0.0.s390x.xml index 51074b4f37..08eea3502b 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml @@ -137,6 +137,7 @@ + 4000000 0 39100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.0.0.x86_64.xml index 19b8a49394..2a28ac7834 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -219,6 +219,7 @@ + 4000000 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.1.0.x86_64.xml index 841b753518..ef56dc0437 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -226,6 +226,7 @@ + 4001000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.2.0.aarch64.xml index 8116624181..56d343bf9f 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -189,6 +189,7 @@ + 4001050 0 61700242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0.ppc64.xml index d37c9b3426..29802b7db9 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -188,6 +188,7 @@ + 4001050 0 42900242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0.s390x.xml index 258e382232..4b143446e1 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -150,6 +150,7 @@ + 4002000 0 39100242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index 6e3aa7f5d9..dddc7d316d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -237,6 +237,7 @@ + 4002000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.aarch64.xml index 4ce8244540..4db455781d 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -199,6 +199,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 07e00008ee..6b8850daaa 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -207,6 +207,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 1bbb9b98cd..ee0c6e3c02 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -193,6 +193,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 0c28645f69..7aec75dbcf 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -244,6 +244,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 fd77d9bbc9..b073b63fc0 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -246,6 +246,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 4e31d8245e..b8493dc5d6 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -203,6 +203,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 ac81364857..a4effd8217 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -209,6 +209,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 21a1a5c3dd..ba485ee1c5 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -195,6 +195,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 13caca9626..8f9f725931 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -157,6 +157,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 234ac8f7ef..1be5d4fcfd 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -247,6 +247,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 dcc41ed067..3d19385073 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -211,6 +211,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 ebcca6e114..fc0576dea2 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -165,6 +165,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 4951644354..39e5db26c9 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -255,6 +255,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 eca9facf80..208aa6a7cc 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -257,6 +257,7 @@ + 6001000 0 43100243 --=20 2.31.1 From nobody Sat Apr 20 03:26:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.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=1630937211; cv=none; d=zohomail.com; s=zohoarc; b=T3nuR3hTHQyf3I7f37t35kBQOS6pzaquiNwQihRdGQZAlIz/JjtJfPrLxPVS0V4LLbg3MlXaJVeKyvhtYocpvL/PCobNOkVodZxdewyq3PPRFQW1BUyAYYmjWXelr4+IUOqqqCed17Zv8o0OYcF9ld7tAFCvex22XKw14JC5XBg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630937211; h=Content-Type:Content-Transfer-Encoding:Cc: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=8jggdD51Gt6FbMAjbcmY+6lZwsWZtA9PwdCdFS9VWtU=; b=f9UX/dJUzrpgAHF8WMpyQ6uVUOsYwh+hCEqbIVK8cNt5p2W9EKRnyTUFuCoieQp/mG6CXu/15qYC85dMbWT70ZbYuz8uqtQcwOFtlAg2jqUjw0InfPc0IvyJCbKF3tQmX1ihlq+lGQU0wBuU+WmUjIM37kgzk2zfYg1oTbyVr8Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.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 [216.205.24.124]) by mx.zohomail.com with SMTPS id 1630937211419682.2188543436342; Mon, 6 Sep 2021 07:06:51 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-evQZg_aePzaJ4ChqXoo-vQ-1; Mon, 06 Sep 2021 10:06:48 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E340F5134; Mon, 6 Sep 2021 14:06:43 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C68EE6B541; Mon, 6 Sep 2021 14:06:43 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 9A1F7180B44F; Mon, 6 Sep 2021 14:06:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 186E6diw031508 for ; Mon, 6 Sep 2021 10:06:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id AE51C5D9F4; Mon, 6 Sep 2021 14:06:39 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-13-25.pek2.redhat.com [10.72.13.25]) by smtp.corp.redhat.com (Postfix) with ESMTP id EB7BC5D9DE; Mon, 6 Sep 2021 14:06:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630937210; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=8jggdD51Gt6FbMAjbcmY+6lZwsWZtA9PwdCdFS9VWtU=; b=VVxiWJb1aVX/SNmMkzOX0bAkwpr1F4f3cpjBe1eWDmOYDhsJxJSv9L2V+FGDvXy+f5ICFb 5YD5WuWjV2AP2fBSHkfozcfvpULMJvVwfvI6hlWn1nI8hrFUtSX/uKqgnw1ETS7XdlFAD1 DqAo2+m95QhvKtkIJTgofMRoFw83T8k= X-MC-Unique: evQZg_aePzaJ4ChqXoo-vQ-1 From: Han Han To: libvir-list@redhat.com Subject: [PATCH 2/3] conf: Add page_per_vq for driver element Date: Mon, 6 Sep 2021 22:06:05 +0800 Message-Id: <20210906140606.3846921-3-hhan@redhat.com> In-Reply-To: <20210906140606.3846921-1-hhan@redhat.com> References: <20210906140606.3846921-1-hhan@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Han Han , gavi@nvidia.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 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-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1630937213135100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Han Han --- docs/formatdomain.rst | 9 +++++++++ docs/schemas/domaincommon.rng | 5 +++++ src/conf/domain_conf.c | 16 ++++++++++++++++ src/conf/domain_conf.h | 1 + src/conf/domain_validate.c | 7 +++++++ 5 files changed, 38 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 479a3acfbb..961676ac6b 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -3546,6 +3546,15 @@ virtqueues are actually used depends on the feature = negotiation between QEMU, vhost backends and guest drivers. Possible values are ``on`` or ``off``. :since:`Since 6.3.0 (QEMU and KVM only)` =20 +This optional attribute ``page_per_vq`` controls the layout of the notific= ation +capabilities exposed to the guest. When enabled, each virtio queue will ha= ve a +dedicated page on the device BAR exposed to the guest. It is recommended t= o be +used when vDPA is enabled on the hypervisor, as it enables mapping the +notification area to the physical device, which is only supported in page +granularity. The default is determined by QEMU. :since:`Since 7.8.0` +Note: In general you should leave this option alone, unless you are very c= ertain +you know what you are doing. + :anchor:`` =20 Virtio transitional devices diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 11fa24f398..fb97364e15 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -6789,6 +6789,11 @@ + + + + + =20 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6127513117..1abfe29dd9 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1629,6 +1629,10 @@ virDomainVirtioOptionsParseXML(xmlNodePtr driver, &(*virtio)->packed) < 0) return -1; =20 + if (virXMLPropTristateSwitch(driver, "page_per_vq", VIR_XML_PROP_NONE, + &(*virtio)->page_per_vq) < 0) + return -1; + return 0; } =20 @@ -6311,6 +6315,10 @@ virDomainVirtioOptionsFormat(virBuffer *buf, virBufferAsprintf(buf, " packed=3D'%s'", virTristateSwitchTypeToString(virtio->packed)); } + if (virtio->page_per_vq !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virBufferAsprintf(buf, " page_per_vq=3D'%s'", + virTristateSwitchTypeToString(virtio->page_per_v= q)); + } } =20 =20 @@ -20699,6 +20707,14 @@ virDomainVirtioOptionsCheckABIStability(virDomainV= irtioOptions *src, virTristateSwitchTypeToString(src->packed)); return false; } + if (src->page_per_vq !=3D dst->page_per_vq) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target device page_per_vq option '%s' does not " + "match source '%s'"), + virTristateSwitchTypeToString(dst->page_per_vq), + virTristateSwitchTypeToString(src->page_per_vq)); + return false; + } return true; } =20 diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c7e6df7981..e21683a71f 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2725,6 +2725,7 @@ struct _virDomainVirtioOptions { virTristateSwitch iommu; virTristateSwitch ats; virTristateSwitch packed; + virTristateSwitch page_per_vq; }; =20 =20 diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index 60f7ccdddd..f22f952464 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -134,6 +134,13 @@ virDomainCheckVirtioOptionsAreAbsent(virDomainVirtioOp= tions *virtio) "for virtio devices")); return -1; } + + if (virtio->page_per_vq !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("page_per_vq option is only supported " + "for virtio devices")); + return -1; + } return 0; } =20 --=20 2.31.1 From nobody Sat Apr 20 03:26:31 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=1630937228; cv=none; d=zohomail.com; s=zohoarc; b=IedqQbtQsN8WlmgSE7/P1lm7Lx6STqFcJneqGEN6oCDB7FxgV8WrCKxeYP9/sQPWvR9OhyU6C3pb9PIwgWjh7UninT1WJ/pySakDPi9clN/1eZG5ZUAeSA59AHuVBanTvXWKcaQLZifWTf7Jp+zOVsoeryDsFQNKDJ1ZR930Mf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630937228; h=Content-Type:Content-Transfer-Encoding:Cc: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=YNMuymDpnRNEpI4ZeJ9BWNH5JKDth9fltENENWLLMOc=; b=Lue238zBOy9lWM4pRnsMq1cgsmfzbFNxJO6I+PoYjTzyEcsxMf7ZuGbXYe6v2XFUbSMQgCOor9DHJFgL8vfsHaE59RBLTnPuEkYk+9orjUNbTXgH3pqQi/bV/kB3aOAMrByFI0urWHxj4zf+SDTJlnzQvCIe5rC2JyrGsBxu/9I= 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 163093722888414.369561407352762; Mon, 6 Sep 2021 07:07:08 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-420-rlIVpWs0O6yglFwGYQO7qA-1; Mon, 06 Sep 2021 10:07:06 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5C1761B18BC5; Mon, 6 Sep 2021 14:07:01 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3D6A560CCC; Mon, 6 Sep 2021 14:07:01 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0D7004EA6C; Mon, 6 Sep 2021 14:07:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 186E6xKk031632 for ; Mon, 6 Sep 2021 10:06:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0FD975DA2D; Mon, 6 Sep 2021 14:06:59 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-13-25.pek2.redhat.com [10.72.13.25]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6C6B85D9DE; Mon, 6 Sep 2021 14:06:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630937227; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=YNMuymDpnRNEpI4ZeJ9BWNH5JKDth9fltENENWLLMOc=; b=X11iBx9nxh4ELfsOR0o9pAJc07ydq+4rj9dHq4libHwdVG81BKAjSFRtnhkjnDH7CZw+kv OtmXaSSV/Jeat7xiYSQk616Rudyvh9fH20Sj5T/URg2aRYo9ilFg86C4YcjZ4HWz97kYT8 6aAcYmqgl1uuYFMbeoEj3RRUo95EM50= X-MC-Unique: rlIVpWs0O6yglFwGYQO7qA-1 From: Han Han To: libvir-list@redhat.com Subject: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq Date: Mon, 6 Sep 2021 22:06:06 +0800 Message-Id: <20210906140606.3846921-4-hhan@redhat.com> In-Reply-To: <20210906140606.3846921-1-hhan@redhat.com> References: <20210906140606.3846921-1-hhan@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Han Han , gavi@nvidia.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 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-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1630937229225100001 Content-Type: text/plain; charset="utf-8" Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1925363 Signed-off-by: Han Han --- src/qemu/qemu_command.c | 4 ++ src/qemu/qemu_hotplug.c | 3 +- src/qemu/qemu_validate.c | 8 ++++ .../virtio-options-controller-page_per_vq.err | 1 + ...-controller-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++ .../virtio-options-controller-page_per_vq.xml | 38 ++++++++++++++++++ .../virtio-options-disk-page_per_vq.err | 1 + ...ptions-disk-page_per_vq.x86_64-latest.args | 39 +++++++++++++++++++ .../virtio-options-disk-page_per_vq.xml | 34 ++++++++++++++++ .../virtio-options-fs-page_per_vq.err | 1 + ...-options-fs-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++ .../virtio-options-fs-page_per_vq.xml | 34 ++++++++++++++++ .../virtio-options-input-page_per_vq.err | 1 + ...tions-input-page_per_vq.x86_64-latest.args | 35 +++++++++++++++++ .../virtio-options-input-page_per_vq.xml | 30 ++++++++++++++ .../virtio-options-memballoon-page_per_vq.err | 1 + ...-memballoon-page_per_vq.x86_64-latest.args | 33 ++++++++++++++++ .../virtio-options-memballoon-page_per_vq.xml | 23 +++++++++++ .../virtio-options-net-page_per_vq.err | 1 + ...options-net-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++ .../virtio-options-net-page_per_vq.xml | 34 ++++++++++++++++ .../virtio-options-rng-page_per_vq.err | 1 + ...options-rng-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++ .../virtio-options-rng-page_per_vq.xml | 32 +++++++++++++++ .../virtio-options-video-page_per_vq.err | 1 + ...tions-video-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++ .../virtio-options-video-page_per_vq.xml | 36 +++++++++++++++++ .../virtio-options.x86_64-latest.args | 26 ++++++------- tests/qemuxml2argvdata/virtio-options.xml | 26 ++++++------- tests/qemuxml2argvtest.c | 22 +++++++++++ 30 files changed, 623 insertions(+), 27 deletions(-) create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_p= er_vq.err create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_p= er_vq.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_p= er_vq.xml create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.= err create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.= x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.= xml create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.err create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x8= 6_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq= .err create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq= .x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq= .xml create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_p= er_vq.err create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_p= er_vq.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_p= er_vq.xml create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.e= rr create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x= 86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x= ml create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.e= rr create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x= 86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x= ml create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq= .err create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq= .x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq= .xml diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index b230314f7f..549f11dbe8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -645,6 +645,10 @@ qemuBuildVirtioOptionsStr(virBuffer *buf, virBufferAsprintf(buf, ",packed=3D%s", virTristateSwitchTypeToString(virtio->packed)); } + if (virtio->page_per_vq !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virBufferAsprintf(buf, ",page-per-vq=3D%s", + virTristateSwitchTypeToString(virtio->page_per_v= q)); + } } =20 static int diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 9c16ab4567..f2553a6831 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3678,7 +3678,8 @@ qemuDomainChangeNet(virQEMUDriver *driver, (olddev->virtio && newdev->virtio && (olddev->virtio->iommu !=3D newdev->virtio->iommu || olddev->virtio->ats !=3D newdev->virtio->ats || - olddev->virtio->packed !=3D newdev->virtio->packed))) { + olddev->virtio->packed !=3D newdev->virtio->packed || + olddev->virtio->page_per_vq !=3D newdev->virtio->page_per_vq))) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("cannot modify virtio network device driver optio= ns")); goto cleanup; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 1a470f1ff5..93e8b55651 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1478,6 +1478,14 @@ qemuValidateDomainVirtioOptions(const virDomainVirti= oOptions *virtio, "QEMU binary")); return -1; } + + if (virtio->page_per_vq !=3D VIR_TRISTATE_SWITCH_ABSENT && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PAGE_PER_VQ)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("the page_per_vq setting is not supported wit= h this " + "QEMU binary")); + return -1; + } return 0; } =20 diff --git a/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.e= rr b/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.x= 86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-page_p= er_vq.x86_64-latest.args new file mode 100644 index 0000000000..3b11574410 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.x86_64-l= atest.args @@ -0,0 +1,37 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-device virtio-scsi-pci,page-per-vq=3Don,id=3Dscsi0,bus=3Dpci.0,addr=3D0x2= \ +-device virtio-scsi-pci,page-per-vq=3Doff,id=3Dscsi1,bus=3Dpci.0,addr=3D0x= 3 \ +-device virtio-serial-pci,id=3Dvirtio-serial0,page-per-vq=3Don,bus=3Dpci.0= ,addr=3D0x4 \ +-device virtio-serial-pci,id=3Dvirtio-serial1,page-per-vq=3Doff,bus=3Dpci.= 0,addr=3D0x5 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x6 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.x= ml b/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.xml new file mode 100644 index 0000000000..395142ba8a --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.xml @@ -0,0 +1,38 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + +
+ + + +
+ + + +
+ + + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.err b/t= ests/qemuxml2argvdata/virtio-options-disk-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.x86_64-= latest.args b/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.x86_64= -latest.args new file mode 100644 index 0000000000..cd29709f48 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.x86_64-latest.= args @@ -0,0 +1,39 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/img1","nod= e-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw= ","file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,page-per-vq=3Don,bus=3Dpci.0,addr=3D0x2,drive=3Dlib= virt-2-format,id=3Dvirtio-disk0,bootindex=3D1 \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/img2","nod= e-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw= ","file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,page-per-vq=3Doff,bus=3Dpci.0,addr=3D0x3,drive=3Dli= bvirt-1-format,id=3Dvirtio-disk1 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.xml b/t= ests/qemuxml2argvdata/virtio-options-disk-page_per_vq.xml new file mode 100644 index 0000000000..8040685f7a --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.xml @@ -0,0 +1,34 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + + +
+ + + + + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.err b/tes= ts/qemuxml2argvdata/virtio-options-fs-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x86_64-la= test.args b/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x86_64-lat= est.args new file mode 100644 index 0000000000..ee276aacfc --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x86_64-latest.ar= gs @@ -0,0 +1,37 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs0,path=3D/export/fs= 1 \ +-device virtio-9p-pci,id=3Dfs0,fsdev=3Dfsdev-fs0,mount_tag=3Dfs1,page-per-= vq=3Don,bus=3Dpci.0,addr=3D0x2 \ +-fsdev local,security_model=3Dpassthrough,id=3Dfsdev-fs1,path=3D/export/fs= 2 \ +-device virtio-9p-pci,id=3Dfs1,fsdev=3Dfsdev-fs1,mount_tag=3Dfs2,page-per-= vq=3Doff,bus=3Dpci.0,addr=3D0x3 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml b/tes= ts/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml new file mode 100644 index 0000000000..abf89ab53b --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml @@ -0,0 +1,34 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + + +
+ + + + + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.err b/= tests/qemuxml2argvdata/virtio-options-input-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.x86_64= -latest.args b/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.x86_= 64-latest.args new file mode 100644 index 0000000000..96c3bb9d49 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.x86_64-latest= .args @@ -0,0 +1,35 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-device virtio-mouse-pci,id=3Dinput0,bus=3Dpci.0,addr=3D0x2,page-per-vq=3D= on \ +-device virtio-keyboard-pci,id=3Dinput1,bus=3Dpci.0,addr=3D0x3,page-per-vq= =3Doff \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.xml b/= tests/qemuxml2argvdata/virtio-options-input-page_per_vq.xml new file mode 100644 index 0000000000..e08234786b --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-input-page_per_vq.xml @@ -0,0 +1,30 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + +
+ + + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.e= rr b/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.x= 86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-page_p= er_vq.x86_64-latest.args new file mode 100644 index 0000000000..790888af7f --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.x86_64-l= atest.args @@ -0,0 +1,33 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x2,page-per-v= q=3Don \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.x= ml b/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.xml new file mode 100644 index 0000000000..cf7c3da971 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.xml @@ -0,0 +1,23 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + +
+ + + + diff --git a/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.err b/te= sts/qemuxml2argvdata/virtio-options-net-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x86_64-l= atest.args b/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x86_64-l= atest.args new file mode 100644 index 0000000000..60a64ada5c --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x86_64-latest.a= rgs @@ -0,0 +1,37 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-netdev user,id=3Dhostnet0 \ +-device virtio-net-pci,netdev=3Dhostnet0,id=3Dnet0,mac=3D52:54:56:58:5a:5c= ,bus=3Dpci.0,addr=3D0x2,page-per-vq=3Don \ +-netdev user,id=3Dhostnet1 \ +-device virtio-net-pci,netdev=3Dhostnet1,id=3Dnet1,mac=3D62:64:66:68:6a:6c= ,bus=3Dpci.0,addr=3D0x3,page-per-vq=3Doff \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.xml b/te= sts/qemuxml2argvdata/virtio-options-net-page_per_vq.xml new file mode 100644 index 0000000000..2c38daa0d5 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-net-page_per_vq.xml @@ -0,0 +1,34 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + + +
+ + + + + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.err b/te= sts/qemuxml2argvdata/virtio-options-rng-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x86_64-l= atest.args b/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x86_64-l= atest.args new file mode 100644 index 0000000000..e1b18c1bd3 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x86_64-latest.a= rgs @@ -0,0 +1,37 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/random"}= ' \ +-device virtio-rng-pci,rng=3Dobjrng0,id=3Drng0,page-per-vq=3Don,bus=3Dpci.= 0,addr=3D0x2 \ +-object '{"qom-type":"rng-random","id":"objrng1","filename":"/dev/random"}= ' \ +-device virtio-rng-pci,rng=3Dobjrng1,id=3Drng1,page-per-vq=3Doff,bus=3Dpci= .0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.xml b/te= sts/qemuxml2argvdata/virtio-options-rng-page_per_vq.xml new file mode 100644 index 0000000000..c93d70156c --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.xml @@ -0,0 +1,32 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + /dev/random + +
+ + + /dev/random + +
+ + +
+ + + diff --git a/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.err b/= tests/qemuxml2argvdata/virtio-options-video-page_per_vq.err new file mode 100644 index 0000000000..475aa8be43 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.err @@ -0,0 +1 @@ +unsupported configuration: the page_per_vq setting is not supported with t= his QEMU binary diff --git a/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.x86_64= -latest.args b/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.x86_= 64-latest.args new file mode 100644 index 0000000000..905f3fe388 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.x86_64-latest= .args @@ -0,0 +1,37 @@ +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 pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp= c.ram \ +-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 \ +-no-acpi \ +-boot strict=3Don \ +-device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \ +-audiodev id=3Daudio1,driver=3Dnone \ +-chardev socket,id=3Dchr-vu-video0,fd=3D1729 \ +-chardev socket,id=3Dchr-vu-video1,fd=3D1729 \ +-device vhost-user-vga,id=3Dvideo0,max_outputs=3D1,chardev=3Dchr-vu-video0= ,bus=3Dpci.0,addr=3D0x2,page-per-vq=3Don \ +-device vhost-user-gpu-pci,id=3Dvideo1,max_outputs=3D1,chardev=3Dchr-vu-vi= deo1,bus=3Dpci.0,addr=3D0x3,page-per-vq=3Doff \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x4 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.xml b/= tests/qemuxml2argvdata/virtio-options-video-page_per_vq.xml new file mode 100644 index 0000000000..2d79932135 --- /dev/null +++ b/tests/qemuxml2argvdata/virtio-options-video-page_per_vq.xml @@ -0,0 +1,36 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 219136 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + +