From nobody Sun Feb 8 07:52:16 2026
Delivered-To: importer@patchew.org
Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28
as permitted sender) client-ip=209.132.183.28;
envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com;
Authentication-Results: mx.zoho.com;
spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
Return-Path:
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by
mx.zohomail.com
with SMTPS id 1492690858529622.3035698460185;
Thu, 20 Apr 2017 05:20:58 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com
[10.5.11.12])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mx1.redhat.com (Postfix) with ESMTPS id 4CA7C3D963;
Thu, 20 Apr 2017 12:20:56 +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 0C3AD827B4;
Thu, 20 Apr 2017 12:20:56 +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 BBB7E18523C7;
Thu, 20 Apr 2017 12:20:36 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com
[10.5.11.16])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id v3KCJUcQ020111 for ;
Thu, 20 Apr 2017 08:19:30 -0400
Received: by smtp.corp.redhat.com (Postfix)
id F29CB1711B; Thu, 20 Apr 2017 12:19:29 +0000 (UTC)
Received: from dnr.brq.redhat.com (dhcp129-199.brq.redhat.com [10.34.129.199])
by smtp.corp.redhat.com (Postfix) with ESMTP id 7CB0F17110
for ; Thu, 20 Apr 2017 12:19:29 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4CA7C3D963
Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com;
dmarc=none (p=none dis=none) header.from=redhat.com
Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com;
spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com
DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 4CA7C3D963
From: =?UTF-8?q?J=C3=A1n=20Tomko?=
To: libvir-list@redhat.com
Date: Thu, 20 Apr 2017 14:19:17 +0200
Message-Id:
<8a12f136ee79ca81d12770967f2f1aefd79c358e.1492690592.git.jtomko@redhat.com>
In-Reply-To:
References:
In-Reply-To:
References:
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-loop: libvir-list@redhat.com
Subject: [libvirt] [PATCHv2 5/6] conf: add caching attribute to iommu device
X-BeenThere: libvir-list@redhat.com
X-Mailman-Version: 2.1.12
Precedence: junk
List-Id: Development discussions about the libvirt library & tools
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Sender: libvir-list-bounces@redhat.com
Errors-To: libvir-list-bounces@redhat.com
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12
X-Greylist: Sender IP whitelisted,
not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]);
Thu, 20 Apr 2017 12:20:57 +0000 (UTC)
X-ZohoMail: RSF_0 Z_629925259 SPT_0
Content-Type: text/plain; charset="utf-8"
Add a new attribute to control the caching mode.
https://bugzilla.redhat.com/show_bug.cgi?id=3D1427005
---
docs/formatdomain.html.in | 9 +++++++
docs/schemas/domaincommon.rng | 5 ++++
src/conf/domain_conf.c | 24 ++++++++++++++++---
src/conf/domain_conf.h | 1 +
.../qemuxml2argv-intel-iommu-caching.xml | 28 ++++++++++++++++++=
++++
.../qemuxml2xmlout-intel-iommu-caching.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
7 files changed, 66 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-caching=
.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-cac=
hing.xml
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index f5a8e76..dbca316 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -7364,6 +7364,15 @@ qemu-kvm -net nic,model=3D? /dev/null
(QEMU only)
+ caching
+
+
+ The caching attribute with possible values
+ on and off can be used to
+ turn on the caching mode. Since 3.3.0<=
/span>
+ (QEMU only)
+
+
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 7930d85..b237140 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -3896,6 +3896,11 @@
[
+
+
+ ][
+ ]
+
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d40d129..cdeb60b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -14092,6 +14092,15 @@ virDomainIOMMUDefParseXML(xmlNodePtr node,
iommu->intremap =3D val;
}
=20
+ VIR_FREE(tmp);
+ if ((tmp =3D virXPathString("string(./driver/@caching)", ctxt))) {
+ if ((val =3D virTristateSwitchTypeFromString(tmp)) < 0) {
+ virReportError(VIR_ERR_XML_ERROR, _("unknown caching value: %s=
"), tmp);
+ goto cleanup;
+ }
+ iommu->caching =3D val;
+ }
+
ret =3D iommu;
iommu =3D NULL;
=20
@@ -24037,9 +24046,18 @@ virDomainIOMMUDefFormat(virBufferPtr buf,
=20
virBufferAdjustIndent(&childBuf, virBufferGetIndent(buf, false) + 2);
=20
- if (iommu->intremap !=3D VIR_TRISTATE_SWITCH_ABSENT) {
- virBufferAsprintf(&childBuf, "\n",
- virTristateSwitchTypeToString(iommu->intremap));
+ if (iommu->intremap !=3D VIR_TRISTATE_SWITCH_ABSENT ||
+ iommu->caching !=3D VIR_TRISTATE_SWITCH_ABSENT) {
+ virBufferAddLit(&childBuf, "intremap) {
+ virBufferAsprintf(&childBuf, " intremap=3D'%s'",
+ virTristateSwitchTypeToString(iommu->intrema=
p));
+ }
+ if (iommu->caching !=3D VIR_TRISTATE_SWITCH_ABSENT) {
+ virBufferAsprintf(&childBuf, " caching=3D'%s'",
+ virTristateSwitchTypeToString(iommu->caching=
));
+ }
+ virBufferAddLit(&childBuf, "/>\n");
}
=20
virBufferAsprintf(buf, "
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-caching.xm=
l b/tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-caching.xml
new file mode 120000
index 0000000..6935d93
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-caching.xml
@@ -0,0 +1 @@
+../qemuxml2argvdata/qemuxml2argv-intel-iommu-caching.xml
\ No newline at end of file
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index c7d4788..a4d5e97 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -1122,6 +1122,7 @@ mymain(void)
QEMU_CAPS_MACHINE_OPT,
QEMU_CAPS_MACHINE_IOMMU);
DO_TEST("intel-iommu-irqchip", NONE);
+ DO_TEST("intel-iommu-caching", NONE);
=20
DO_TEST("cpu-check-none", NONE);
DO_TEST("cpu-check-partial", NONE);
--=20
2.10.2
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list