From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038795196155.28145375748875; Mon, 17 Dec 2018 01:26:35 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEAF180F6B; Mon, 17 Dec 2018 09:26:32 +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 9E6B5101F94C; Mon, 17 Dec 2018 09:26:32 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id E82503F774; Mon, 17 Dec 2018 09:26:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9QMdi018752 for ; Mon, 17 Dec 2018 04:26:22 -0500 Received: by smtp.corp.redhat.com (Postfix) id 608B75D75F; Mon, 17 Dec 2018 09:26:22 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 565785D75C for ; Mon, 17 Dec 2018 09:26:19 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 92C2189AE6 for ; Mon, 17 Dec 2018 09:26:17 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:17 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:16 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099724" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:11 +0800 Message-Id: <1545038781-18468-2-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:17 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:17 +0000 (UTC) for IP:'192.55.52.136' DOMAIN:'mga12.intel.com' HELO:'mga12.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.302 (RCVD_IN_DNSWL_MED, SPF_HELO_PASS, SPF_PASS) 192.55.52.136 mga12.intel.com 192.55.52.136 mga12.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 01/11] nvdimm: introduce 'alignsize' element into xml for NVDIMM memory 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Mon, 17 Dec 2018 09:26:33 +0000 (UTC) Content-Type: text/plain; charset="utf-8" NVDIMM emulation will mmap the backend file, it uses host pagesize as the alignment of mapping address before, but some backends may require alignments different from the pagesize. So the 'alignsize' option will be introduced to allow users specifying the proper alignment: ... /dev/dax0.0 2 4094 0 ... Signed-off-by: Luyao Zhong --- docs/formatdomain.html.in | 23 +++++++-- docs/schemas/domaincommon.rng | 13 +++-- src/conf/domain_conf.c | 32 +++++++++--- src/conf/domain_conf.h | 1 + .../memory-hotplug-nvdimm-align.xml | 58 ++++++++++++++++++= ++++ .../memory-hotplug-nvdimm-align.xml | 1 + tests/qemuxml2xmltest.c | 1 + 7 files changed, 116 insertions(+), 13 deletions(-) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 428b0e8..74e02a4 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -8322,6 +8322,7 @@ qemu-kvm -net nic,model=3D? /dev/null <memory model=3D'nvdimm'> <source> <path>/tmp/nvdimm</path> + <alignsize unit=3D'KiB'>2048</alignsize> </source> <target> <size unit=3D'KiB'>524288</size> @@ -8403,10 +8404,26 @@ qemu-kvm -net nic,model=3D? /dev/null =20

- For model nvdimm this element is mandatory and has a - single child element path that represents a path - in the host that backs the nvdimm module in the guest. + For model nvdimm this element is mandatory. The + mandatory child element path represents a path in + the host that backs the nvdimm module in the guest. If + nvdimm is provided, then the following optional + elements can be provided as well:

+ +
+
alignsize
+
+

+ This element can be used to specify a proper alignment. + When mmap(2) the backend files, QEMU uses the host page + size by default as the alignment of mapping address. However, + some backends may require alignments different from the page. + For example, mmap a real NVDIMM device maybe 2M-aligned requ= ired. + Since 5.0.0 +

+
+
=20
target
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 5a6c48f..395a7ea 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -5384,9 +5384,16 @@ - - - + + + + + + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d8dfd16..7e59d8c 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -15780,6 +15780,11 @@ virDomainMemorySourceDefParseXML(xmlNodePtr node, _("path is required for model 'nvdimm'")); goto cleanup; } + + if (virDomainParseMemory("./alignsize", "./alignsize/@unit", ctxt, + &def->alignsize, false, false) < 0) + goto cleanup; + break; =20 case VIR_DOMAIN_MEMORY_MODEL_NONE: @@ -22735,13 +22740,22 @@ virDomainMemoryDefCheckABIStability(virDomainMemo= ryDefPtr src, return false; } =20 - if (src->model =3D=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM && - src->labelsize !=3D dst->labelsize) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Target NVDIMM label size '%llu' doesn't match " - "source NVDIMM label size '%llu'"), - src->labelsize, dst->labelsize); - return false; + if (src->model =3D=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) { + if (src->labelsize !=3D dst->labelsize) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target NVDIMM label size '%llu' doesn't matc= h " + "source NVDIMM label size '%llu'"), + src->labelsize, dst->labelsize); + return false; + } + + if (src->alignsize !=3D dst->alignsize) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target NVDIMM alignment '%llu' doesn't match= " + "source NVDIMM alignment '%llu'"), + src->alignsize, dst->alignsize); + return false; + } } =20 return virDomainDeviceInfoCheckABIStability(&src->info, &dst->info); @@ -26278,6 +26292,10 @@ virDomainMemorySourceDefFormat(virBufferPtr buf, =20 case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: virBufferEscapeString(buf, "%s\n", def->nvdimmPath); + + if (def->alignsize) + virBufferAsprintf(buf, "%llu\n", + def->alignsize); break; =20 case VIR_DOMAIN_MEMORY_MODEL_NONE: diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 5814997..848bd94 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2147,6 +2147,7 @@ struct _virDomainMemoryDef { virBitmapPtr sourceNodes; unsigned long long pagesize; /* kibibytes */ char *nvdimmPath; + unsigned long long alignsize; /* kibibytes; valid only for NVDIMM */ =20 /* target */ int model; /* virDomainMemoryModel */ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml b/tests= /qemuxml2argvdata/memory-hotplug-nvdimm-align.xml new file mode 100644 index 0000000..a8c5198 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml @@ -0,0 +1,58 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1099511627776 + 1267710 + 1267710 + 2 + + hvm + + + + + + + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + +
+ + +
+ + + + + +
+ + + + /tmp/nvdimm + 2048 + + + 523264 + 0 + +
+ + + diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml b/tes= ts/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml new file mode 120000 index 0000000..9fc6001 --- /dev/null +++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-align.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/memory-hotplug-nvdimm-align.xml \ No newline at end of file diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 1062dee..5161f4a 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1116,6 +1116,7 @@ mymain(void) DO_TEST("memory-hotplug-nvdimm", NONE); DO_TEST("memory-hotplug-nvdimm-access", NONE); DO_TEST("memory-hotplug-nvdimm-label", NONE); + DO_TEST("memory-hotplug-nvdimm-align", NONE); DO_TEST("net-udp", NONE); =20 DO_TEST("video-virtio-gpu-device", NONE); --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038800337888.2374214556099; Mon, 17 Dec 2018 01:26:40 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 304301E33A; Mon, 17 Dec 2018 09:26:38 +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 E84B860920; Mon, 17 Dec 2018 09:26:37 +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 9A4FA181B9E7; Mon, 17 Dec 2018 09:26:37 +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 wBH9QQev018763 for ; Mon, 17 Dec 2018 04:26:26 -0500 Received: by smtp.corp.redhat.com (Postfix) id 32CF75C23E; Mon, 17 Dec 2018 09:26:26 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 285FF5C21C for ; Mon, 17 Dec 2018 09:26:23 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C44EA86674 for ; Mon, 17 Dec 2018 09:26:21 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:21 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:20 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099731" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:12 +0800 Message-Id: <1545038781-18468-3-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:21 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:21 +0000 (UTC) for IP:'192.55.52.136' DOMAIN:'mga12.intel.com' HELO:'mga12.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.302 (RCVD_IN_DNSWL_MED, SPF_HELO_PASS, SPF_PASS) 192.55.52.136 mga12.intel.com 192.55.52.136 mga12.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 02/11] nvdimm: introduce 'pmem' element into xml for NVDIMM memory X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 17 Dec 2018 09:26:38 +0000 (UTC) Content-Type: text/plain; charset="utf-8" The 'pmem' option allows users to specify whether the backend storage of memory-backend-file is a real persistent memory: ... /dev/dax0.0 4094 0 ... Signed-off-by: Luyao Zhong --- docs/formatdomain.html.in | 12 +++++ docs/schemas/domaincommon.rng | 5 ++ src/conf/domain_conf.c | 13 +++++ src/conf/domain_conf.h | 1 + .../memory-hotplug-nvdimm-pmem.xml | 58 ++++++++++++++++++= ++++ .../memory-hotplug-nvdimm-unarmed.xml | 58 ++++++++++++++++++= ++++ tests/qemuxml2xmltest.c | 1 + 7 files changed, 148 insertions(+) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 74e02a4..0f50da6 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -8323,6 +8323,7 @@ qemu-kvm -net nic,model=3D? /dev/null <source> <path>/tmp/nvdimm</path> <alignsize unit=3D'KiB'>2048</alignsize> + <pmem/> </source> <target> <size unit=3D'KiB'>524288</size> @@ -8423,6 +8424,17 @@ qemu-kvm -net nic,model=3D? /dev/null Since 5.0.0

+ +
pmem
+
+

+ This element can be used to specify whether the backend stor= age + of memory-backend-file is a real persistent memory. If the + backend is a real persistence memory and pmem i= s set, + QEMU will guarantee the persistence of its own writes to the + vNVDIMM backend. Since 5.0.0 +

+
=20 diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 395a7ea..734589e 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -5393,6 +5393,11 @@ + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7e59d8c..9edaf6d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -15785,6 +15785,9 @@ virDomainMemorySourceDefParseXML(xmlNodePtr node, &def->alignsize, false, false) < 0) goto cleanup; =20 + if (virXPathBoolean("boolean(./pmem)", ctxt)) + def->nvdimmPmem =3D true; + break; =20 case VIR_DOMAIN_MEMORY_MODEL_NONE: @@ -22756,6 +22759,13 @@ virDomainMemoryDefCheckABIStability(virDomainMemor= yDefPtr src, src->alignsize, dst->alignsize); return false; } + + if (src->nvdimmPmem !=3D dst->nvdimmPmem) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Target NVDIMM pmem flag doesn't match " + "source NVDIMM pmem flag")); + return false; + } } =20 return virDomainDeviceInfoCheckABIStability(&src->info, &dst->info); @@ -26296,6 +26306,9 @@ virDomainMemorySourceDefFormat(virBufferPtr buf, if (def->alignsize) virBufferAsprintf(buf, "%llu\n", def->alignsize); + + if (def->nvdimmPmem) + virBufferAddLit(buf, "\n"); break; =20 case VIR_DOMAIN_MEMORY_MODEL_NONE: diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 848bd94..a63afdc 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2148,6 +2148,7 @@ struct _virDomainMemoryDef { unsigned long long pagesize; /* kibibytes */ char *nvdimmPath; unsigned long long alignsize; /* kibibytes; valid only for NVDIMM */ + bool nvdimmPmem; /* valid only for NVDIMM */ =20 /* target */ int model; /* virDomainMemoryModel */ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml b/tests/= qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml new file mode 100644 index 0000000..060d75c --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml @@ -0,0 +1,58 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1099511627776 + 1267710 + 1267710 + 2 + + hvm + + + + + + + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + +
+ + +
+ + + + + +
+ + + + /tmp/nvdimm + + + + 523264 + 0 + +
+ + + diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml b/tes= ts/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml new file mode 100644 index 0000000..7ddbb01 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml @@ -0,0 +1,58 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1099511627776 + 1267710 + 1267710 + 2 + + hvm + + + + + + + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + +
+ + +
+ + + + + +
+ + + + /tmp/nvdimm + + + 523264 + 0 + + +
+ + + diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 5161f4a..ef3ece8 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1117,6 +1117,7 @@ mymain(void) DO_TEST("memory-hotplug-nvdimm-access", NONE); DO_TEST("memory-hotplug-nvdimm-label", NONE); DO_TEST("memory-hotplug-nvdimm-align", NONE); + DO_TEST("memory-hotplug-nvdimm-pmem", NONE); DO_TEST("net-udp", NONE); =20 DO_TEST("video-virtio-gpu-device", NONE); --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038815283291.8342837129869; Mon, 17 Dec 2018 01:26:55 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5552E85363; Mon, 17 Dec 2018 09:26:53 +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 D8BE61000049; Mon, 17 Dec 2018 09:26:52 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 88DCC181B9EA; Mon, 17 Dec 2018 09:26:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9QoUK018790 for ; Mon, 17 Dec 2018 04:26:50 -0500 Received: by smtp.corp.redhat.com (Postfix) id C41625C260; Mon, 17 Dec 2018 09:26:50 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B5B225C23E for ; Mon, 17 Dec 2018 09:26:47 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B06CA89AD9 for ; Mon, 17 Dec 2018 09:26:45 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:45 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:44 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099801" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:13 +0800 Message-Id: <1545038781-18468-4-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:45 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:45 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 03/11] nvdimm: introduce 'unarmed' element into xml for NVDIMM memory 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:26:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" The 'unarmed' option allows users to mark vNVDIMM read-only: ... /dev/dax0.0 4094 0 ... Signed-off-by: Luyao Zhong --- docs/formatdomain.html.in | 45 ++++++++++++++++--= ---- docs/schemas/domaincommon.rng | 5 +++ src/conf/domain_conf.c | 12 ++++++ src/conf/domain_conf.h | 1 + .../memory-hotplug-nvdimm-pmem.xml | 1 + .../memory-hotplug-nvdimm-unarmed.xml | 1 + tests/qemuxml2xmltest.c | 1 + 7 files changed, 54 insertions(+), 12 deletions(-) create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.= xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 0f50da6..a8cf220 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -8331,6 +8331,7 @@ qemu-kvm -net nic,model=3D? /dev/null <label> <size unit=3D'KiB'>128</size> </label> + <unarmed/> </target> </memory> </devices> @@ -8454,19 +8455,39 @@ qemu-kvm -net nic,model=3D? /dev/null NUMA nodes configured.

- For NVDIMM type devices one can optionally use - label and its subelement size - to configure the size of namespaces label storage - within the NVDIMM module. The size element - has usual meaning described - here. - For QEMU domains the following restrictions apply: + Besides, the following optional elements can be provided as well= for + NVDIMM type devices:

-
    -
  1. the minimum label size is 128KiB,
  2. -
  3. the remaining size (total-size - label-size) has to be align= ed to - 4KiB
  4. -
+ +
+
label
+
+

+ For NVDIMM type devices one can optionally use + label and its subelement size + to configure the size of namespaces label storage + within the NVDIMM module. The size element + has usual meaning described + here. + For QEMU domains the following restrictions apply: +

+
    +
  1. the minimum label size is 128KiB,
  2. +
  3. the remaining size (total-size - label-size) will be ali= gned to + 4KiB as default.
  4. +
+
+ +
unarmed
+
+

+ The unarmed element can be used to mark vNVDIMM= read-only. + Currently, only real NVDIMM device backend can guarantee the= guest write + persistence, so please set unarmed when using o= ther types + of backends. Since 5.0.0 +

+
+
=20 diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 734589e..de098a5 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -5422,6 +5422,11 @@ + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9edaf6d..ef7156d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -15844,6 +15844,9 @@ virDomainMemoryTargetDefParseXML(xmlNodePtr node, _("label size must be smaller than NVDIMM size"= )); goto cleanup; } + + if (virXPathBoolean("boolean(./unarmed)", ctxt)) + def->nvdimmUnarmed =3D true; } =20 ret =3D 0; @@ -22766,6 +22769,13 @@ virDomainMemoryDefCheckABIStability(virDomainMemor= yDefPtr src, "source NVDIMM pmem flag")); return false; } + + if (src->nvdimmUnarmed !=3D dst->nvdimmUnarmed) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Target NVDIMM unarmed flag doesn't match " + "source NVDIMM unarmed flag")); + return false; + } } =20 return virDomainDeviceInfoCheckABIStability(&src->info, &dst->info); @@ -26344,6 +26354,8 @@ virDomainMemoryTargetDefFormat(virBufferPtr buf, virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); } + if (def->nvdimmUnarmed) + virBufferAddLit(buf, "\n"); =20 virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index a63afdc..8538d89 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2155,6 +2155,7 @@ struct _virDomainMemoryDef { int targetNode; unsigned long long size; /* kibibytes */ unsigned long long labelsize; /* kibibytes; valid only for NVDIMM */ + bool nvdimmUnarmed; /* valid only for NVDIMM */ =20 virDomainDeviceInfo info; }; diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml b/test= s/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml new file mode 120000 index 0000000..3e57c1e --- /dev/null +++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml \ No newline at end of file diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml b/t= ests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml new file mode 120000 index 0000000..1793347 --- /dev/null +++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-unarmed.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.xml \ No newline at end of file diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index ef3ece8..493ce1d 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1118,6 +1118,7 @@ mymain(void) DO_TEST("memory-hotplug-nvdimm-label", NONE); DO_TEST("memory-hotplug-nvdimm-align", NONE); DO_TEST("memory-hotplug-nvdimm-pmem", NONE); + DO_TEST("memory-hotplug-nvdimm-unarmed", NONE); DO_TEST("net-udp", NONE); =20 DO_TEST("video-virtio-gpu-device", NONE); --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038816898254.26053299555429; Mon, 17 Dec 2018 01:26:56 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1241380F7D; Mon, 17 Dec 2018 09:26:55 +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 CC3AD5D6A6; Mon, 17 Dec 2018 09:26:54 +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 4DEA0181B9F6; Mon, 17 Dec 2018 09:26:54 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9Qq3S018802 for ; Mon, 17 Dec 2018 04:26:52 -0500 Received: by smtp.corp.redhat.com (Postfix) id DF56926E58; Mon, 17 Dec 2018 09:26:52 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D84432636A for ; Mon, 17 Dec 2018 09:26:49 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 86B8186673 for ; Mon, 17 Dec 2018 09:26:47 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:47 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:46 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099815" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:14 +0800 Message-Id: <1545038781-18468-5-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:47 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:47 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 04/11] qemu_capabilities: introduce QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Mon, 17 Dec 2018 09:26:55 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This capability tracks if memory-backend-file has align attribute or not. Signed-off-by: Luyao Zhong --- src/qemu/qemu_capabilities.c | 4 +++- src/qemu/qemu_capabilities.h | 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.riscv32.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.riscv64.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 + 13 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index bf98ff7..db368b7 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -514,7 +514,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "memory-backend-memfd.hugetlb", "iothread.poll-max-ns", "machine.pseries.cap-nested-hv", - "egl-headless.rendernode" + "egl-headless.rendernode", + "memory-backend-file.align", ); =20 =20 @@ -1365,6 +1366,7 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDevicePr= ops[] =3D { =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFi= le[] =3D { { "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD }, + { "align", QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMe= mfd[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 1ed7639..9df4a87 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -499,6 +499,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_IOTHREAD_POLLING, /* -object iothread.poll-max-ns */ QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-neste= d-hv */ QEMU_CAPS_EGL_HEADLESS_RENDERNODE, /* -display egl-headless,rendernode= =3D */ + QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN, /* -object memory-backend-file,ali= gn=3D */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.12.0.aarch64.xml index 8dd90f5..186a6cc 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -165,6 +165,7 @@ + 2011090 0 345725 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.ppc64.xml index e646103..c47ebd7 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -163,6 +163,7 @@ + 2011090 0 426509 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index b18bd74..49249f5 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -132,6 +132,7 @@ + 2012000 0 375102 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index ac97e16..54c4a65 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -206,6 +206,7 @@ + 2011090 0 414371 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.ppc64.xml index f11d860..24a3c2b 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml @@ -163,6 +163,7 @@ + 2012050 0 444946 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemu= capabilitiesdata/caps_3.0.0.riscv32.xml index 552b319..1b5d8e6 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml @@ -103,6 +103,7 @@ + 3000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_3.0.0.riscv64.xml index 4f9832d..3c76f63 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml @@ -103,6 +103,7 @@ + 3000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.s390x.xml index 1c4177c..8569de6 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml @@ -134,6 +134,7 @@ + 3000000 0 388416 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index b2d98a6..15df8a5 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -208,6 +208,7 @@ + 3000000 0 425972 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.1.0.ppc64.xml index b06b173..48f4fdf 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -166,6 +166,7 @@ + 3000091 0 437731 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index 6c9c0c6..6be80ce 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -209,6 +209,7 @@ + 3000092 0 440395 --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 154503881731166.96197352565241; Mon, 17 Dec 2018 01:26:57 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 62B2520276; Mon, 17 Dec 2018 09:26:55 +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 28E795D717; Mon, 17 Dec 2018 09:26:55 +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 C153F3F603; Mon, 17 Dec 2018 09:26:54 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9Qrg7018809 for ; Mon, 17 Dec 2018 04:26:53 -0500 Received: by smtp.corp.redhat.com (Postfix) id 4A9466012E; Mon, 17 Dec 2018 09:26:53 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3EB1D6012D for ; Mon, 17 Dec 2018 09:26:50 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2C53587622 for ; Mon, 17 Dec 2018 09:26:49 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:48 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:48 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099820" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:15 +0800 Message-Id: <1545038781-18468-6-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:49 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:49 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 05/11] qemu_capabilities: introduce QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 17 Dec 2018 09:26:56 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This capability tracks if memory-backend-file has pmem attribute or not. Signed-off-by: Luyao Zhong --- src/qemu/qemu_capabilities.c | 4 ++++ src/qemu/qemu_capabilities.h | 3 +++ tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + 4 files changed, 9 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index db368b7..e5ae4b6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -516,6 +516,9 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "machine.pseries.cap-nested-hv", "egl-headless.rendernode", "memory-backend-file.align", + + /* 325 */ + "memory-backend-file.pmem", ); =20 =20 @@ -1367,6 +1370,7 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDevicePr= ops[] =3D { static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFi= le[] =3D { { "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD }, { "align", QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN }, + { "pmem", QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMe= mfd[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 9df4a87..84c5404 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -501,6 +501,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_EGL_HEADLESS_RENDERNODE, /* -display egl-headless,rendernode= =3D */ QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN, /* -object memory-backend-file,ali= gn=3D */ =20 + /* 325 */ + QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM, /* -object memory-backend-file,pmem= =3D */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; =20 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.1.0.ppc64.xml index 48f4fdf..175233a 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -167,6 +167,7 @@ + 3000091 0 437731 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index 6be80ce..faafbcd 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -210,6 +210,7 @@ + 3000092 0 440395 --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038824039466.8610572926202; Mon, 17 Dec 2018 01:27:04 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C8E3D3D47A; Mon, 17 Dec 2018 09:27: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 8057417D69; Mon, 17 Dec 2018 09:27: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 106E03F606; Mon, 17 Dec 2018 09:27:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9QwTE018846 for ; Mon, 17 Dec 2018 04:26:58 -0500 Received: by smtp.corp.redhat.com (Postfix) id E863D2B1B8; Mon, 17 Dec 2018 09:26:58 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D709167142 for ; Mon, 17 Dec 2018 09:26:54 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E0A0387633 for ; Mon, 17 Dec 2018 09:26:51 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:51 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:50 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099831" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:16 +0800 Message-Id: <1545038781-18468-7-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:52 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:52 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 06/11] qemu_capabilities: introduce QEMU_CAPS_DEVICE_NVDIMM_UNARMED 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 17 Dec 2018 09:27:02 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This capability tracks if nvdimm has unarmed attribute or not. Signed-off-by: Luyao Zhong --- src/qemu/qemu_capabilities.c | 8 ++ src/qemu/qemu_capabilities.h | 1 + .../caps_2.10.0.x86_64.replies | 62 ++++++++----- tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +- .../caps_2.11.0.x86_64.replies | 62 ++++++++----- tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 2 +- .../caps_2.12.0.x86_64.replies | 78 ++++++++++------ tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 46 ++++++--- tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 46 ++++++--- tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 46 ++++++--- tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 62 ++++++++----- tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +- .../qemucapabilitiesdata/caps_3.0.0.x86_64.replies | 103 +++++++++++++++--= ---- tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 3 +- .../qemucapabilitiesdata/caps_3.1.0.x86_64.replies | 102 ++++++++++++++---= --- tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 3 +- 20 files changed, 429 insertions(+), 207 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e5ae4b6..541cf22 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -519,6 +519,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, =20 /* 325 */ "memory-backend-file.pmem", + "nvdimm.unarmed", ); =20 =20 @@ -1242,6 +1243,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevi= cePropsMCH[] =3D { { "extended-tseg-mbytes", QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES }, }; =20 +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsNVDIMM[] =3D { + { "unarmed", QEMU_CAPS_DEVICE_NVDIMM_UNARMED }, +}; + /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] =3D { { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUS= TER_DEBUG_LEVEL}, @@ -1365,6 +1370,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDevicePr= ops[] =3D { { "mch", virQEMUCapsDevicePropsMCH, ARRAY_CARDINALITY(virQEMUCapsDevicePropsMCH), QEMU_CAPS_DEVICE_MCH }, + { "nvdimm", virQEMUCapsDevicePropsNVDIMM, + ARRAY_CARDINALITY(virQEMUCapsDevicePropsNVDIMM), + QEMU_CAPS_DEVICE_NVDIMM }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFi= le[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 84c5404..6d5ed8a 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -503,6 +503,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ =20 /* 325 */ QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM, /* -object memory-backend-file,pmem= =3D */ + QEMU_CAPS_DEVICE_NVDIMM_UNARMED, /* -device nvdimm,unarmed=3D */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies b/tests/= qemucapabilitiesdata/caps_2.10.0.x86_64.replies index 0f38573..783a40c 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies @@ -4552,13 +4552,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "pc-0.12", "cpu-max": 255 @@ -4742,12 +4760,12 @@ "alias": "q35" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -5082,36 +5100,36 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ "passthrough" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -6390,12 +6408,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -6445,12 +6463,12 @@ "capability": "return-path" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -16173,7 +16191,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -16184,7 +16202,7 @@ "name": "host" } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -16363,7 +16381,7 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -16544,7 +16562,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -16787,7 +16805,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -16801,7 +16819,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -16980,7 +16998,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -17161,7 +17179,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -17404,7 +17422,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.10.0.x86_64.xml index a8d787f..8ced5f3 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -195,7 +195,7 @@ 2010000 0 - 364386 + 364616 (v2.10.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.replies b/tests/= qemucapabilitiesdata/caps_2.11.0.x86_64.replies index c9a9a70..18a2628 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.replies @@ -4579,13 +4579,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "pc-0.12", "cpu-max": 255 @@ -4769,12 +4787,12 @@ "cpu-max": 288 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -5088,24 +5106,24 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5113,12 +5131,12 @@ "passthrough", "emulator" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -6413,12 +6431,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -6476,12 +6494,12 @@ "capability": "x-multifd" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -16349,7 +16367,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -16360,7 +16378,7 @@ "name": "host" } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -16540,7 +16558,7 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -16722,7 +16740,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -16967,7 +16985,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -16981,7 +16999,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -17161,7 +17179,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -17343,7 +17361,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -17588,7 +17606,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.11.0.x86_64.xml index 4ba2a82..0a9eeec 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -201,7 +201,7 @@ 2011000 0 - 368875 + 369105 (v2.11.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/= qemucapabilitiesdata/caps_2.12.0.x86_64.replies index 675b85b..7ba3efa 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -4752,11 +4752,29 @@ } =20 { + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4810,7 +4828,7 @@ "type": "string" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4818,7 +4836,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4868,7 +4886,7 @@ "type": "string" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4876,11 +4894,11 @@ "arguments": { "typename": "spapr-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { - "id": "libvirt-37", + "id": "libvirt-38", "error": { "class": "DeviceNotFound", "desc": "Class 'spapr-machine' not found" @@ -4889,7 +4907,7 @@ =20 { "execute": "query-machines", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5088,12 +5106,12 @@ "cpu-max": 255 } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5607,12 +5625,12 @@ "migration-safe": true } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-models", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5620,12 +5638,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-types", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -5633,12 +5651,12 @@ "passthrough", "emulator" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-command-line-options", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -6925,12 +6943,12 @@ "option": "drive" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -6992,12 +7010,12 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -18365,7 +18383,7 @@ "meta-type": "object" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -18376,7 +18394,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -18566,7 +18584,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -18758,7 +18776,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19013,7 +19031,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19027,7 +19045,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -19217,7 +19235,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -19409,7 +19427,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -19664,12 +19682,12 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { "execute": "query-sev-capabilities", - "id": "libvirt-49" + "id": "libvirt-50" } =20 { @@ -19679,7 +19697,7 @@ "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA= ", "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAA= OAAA" }, - "id": "libvirt-49" + "id": "libvirt-50" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 54c4a65..b35206e 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -209,7 +209,7 @@ 2011090 0 - 414371 + 414601 v2.12.0-rc0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.6.0.x86_64.replies index 428903d..3ae433d 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies @@ -3454,13 +3454,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "name": "pc-0.12", "cpu-max": 255 }, @@ -3568,12 +3586,12 @@ "cpu-max": 255 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -3663,36 +3681,36 @@ "name": "qemu64" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ "passthrough" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -4786,12 +4804,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -4825,12 +4843,12 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -12835,7 +12853,7 @@ "meta-type": "array" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.6.0.x86_64.xml index 30a8e01..b711da5 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -165,7 +165,7 @@ 2006000 0 - 228991 + 229221 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.7.0.x86_64.replies index c764174..8eda09d 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies @@ -3640,13 +3640,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "pc-0.12", "cpu-max": 255 @@ -3790,12 +3808,12 @@ "cpu-max": 255 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -3888,36 +3906,36 @@ "name": "qemu64" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ "passthrough" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5015,12 +5033,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5054,12 +5072,12 @@ "capability": "postcopy-ram" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -13415,7 +13433,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.7.0.x86_64.xml index eda68e5..443de40 100644 --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml @@ -170,7 +170,7 @@ 2007000 0 - 240497 + 240727 (v2.7.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.8.0.x86_64.replies index 33db454..ab48387 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies @@ -3782,13 +3782,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "pc-0.12", "cpu-max": 255 @@ -3952,12 +3970,12 @@ "cpu-max": 255 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4163,36 +4181,36 @@ "static": false } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ "passthrough" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5315,12 +5333,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5358,12 +5376,12 @@ "capability": "x-colo" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -14133,7 +14151,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.8.0.x86_64.xml index 627eb44..174678f 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml @@ -173,7 +173,7 @@ 2008000 0 - 257152 + 257382 (v2.8.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_2.9.0.x86_64.replies index 1057028..3b5bcdb 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies @@ -4096,13 +4096,31 @@ } =20 { - "execute": "query-machines", + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, "id": "libvirt-35" } =20 { "return": [ { + "name": "memdev", + "type": "link" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "query-machines", + "id": "libvirt-36" +} + +{ + "return": [ + { "hotpluggable-cpus": true, "name": "pc-0.12", "cpu-max": 255 @@ -4276,12 +4294,12 @@ "cpu-max": 255 } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4563,36 +4581,36 @@ "migration-safe": true } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { "execute": "query-tpm-models", - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "return": [ "tpm-tis" ], - "id": "libvirt-37" + "id": "libvirt-38" } =20 { "execute": "query-tpm-types", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "return": [ "passthrough" ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-command-line-options", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5841,12 +5859,12 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5888,12 +5906,12 @@ "capability": "release-ram" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -15179,7 +15197,7 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -15190,7 +15208,7 @@ "name": "host" } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -15369,7 +15387,7 @@ } } }, - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -15550,7 +15568,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -15791,7 +15809,7 @@ } } }, - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -15805,7 +15823,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -15984,7 +16002,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -16165,7 +16183,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -16406,7 +16424,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 3c26b38..7f9e88f 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -189,7 +189,7 @@ 2009000 0 - 340375 + 340605 (v2.9.0) x86_64 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_3.0.0.x86_64.replies index f5bbe5c..16f021c 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies @@ -4868,11 +4868,54 @@ } =20 { + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "slot", + "type": "int32" + }, + { + "name": "node", + "type": "uint32" + }, + { + "name": "size", + "type": "uint64" + }, + { + "name": "unarmed", + "type": "bool" + }, + { + "name": "label-size", + "type": "int" + }, + { + "name": "memdev", + "type": "link" + }, + { + "name": "addr", + "type": "uint64" + } + ], + "id": "libvirt-35" +} + + +{ "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4922,7 +4965,7 @@ "type": "string" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4930,7 +4973,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4980,7 +5023,7 @@ "type": "string" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -4988,11 +5031,11 @@ "arguments": { "typename": "spapr-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { - "id": "libvirt-37", + "id": "libvirt-38", "error": { "class": "DeviceNotFound", "desc": "Class 'spapr-machine' not found" @@ -5001,7 +5044,7 @@ =20 { "execute": "query-machines", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5210,12 +5253,12 @@ "cpu-max": 255 } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5652,12 +5695,12 @@ "migration-safe": true } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-models", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5665,12 +5708,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-types", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -5678,12 +5721,12 @@ "passthrough", "emulator" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-command-line-options", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -6982,12 +7025,12 @@ "option": "drive" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -7057,12 +7100,12 @@ "capability": "late-block-activate" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -18942,7 +18985,7 @@ "meta-type": "object" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -18953,7 +18996,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19146,7 +19189,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19341,7 +19384,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19604,7 +19647,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19618,7 +19661,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -19811,7 +19854,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20006,7 +20049,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -20269,16 +20312,16 @@ } } }, - "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 feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index 15df8a5..77d1f27 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -209,9 +209,10 @@ + 3000000 0 - 425972 + 426554 v3.0.0 x86_64 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_3.1.0.x86_64.replies index 5acae22..8c537cc 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies @@ -4914,11 +4914,53 @@ } =20 { + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "slot", + "type": "int32" + }, + { + "name": "node", + "type": "uint32" + }, + { + "name": "size", + "type": "uint64" + }, + { + "name": "unarmed", + "type": "bool" + }, + { + "name": "label-size", + "type": "int" + }, + { + "name": "memdev", + "type": "link" + }, + { + "name": "addr", + "type": "uint64" + } + ], + "id": "libvirt-35" +} + +{ "execute": "qom-list-properties", "arguments": { "typename": "memory-backend-file" }, - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4979,7 +5021,7 @@ "type": "bool" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -4987,7 +5029,7 @@ "arguments": { "typename": "memory-backend-memfd" }, - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -5047,7 +5089,7 @@ "type": "bool" } ], - "id": "libvirt-36" + "id": "libvirt-37" } =20 { @@ -5055,11 +5097,11 @@ "arguments": { "typename": "spapr-machine" }, - "id": "libvirt-37" + "id": "libvirt-38" } =20 { - "id": "libvirt-37", + "id": "libvirt-38", "error": { "class": "DeviceNotFound", "desc": "Class 'spapr-machine' not found" @@ -5068,7 +5110,7 @@ =20 { "execute": "query-machines", - "id": "libvirt-38" + "id": "libvirt-39" } =20 { @@ -5287,12 +5329,12 @@ "cpu-max": 255 } ], - "id": "libvirt-38" + "id": "libvirt-39" } =20 { "execute": "query-cpu-definitions", - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -5811,12 +5853,12 @@ "migration-safe": true } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { "execute": "query-tpm-models", - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5824,12 +5866,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { "execute": "query-tpm-types", - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -5837,12 +5879,12 @@ "passthrough", "emulator" ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { "execute": "query-command-line-options", - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -7116,12 +7158,12 @@ "option": "drive" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { "execute": "query-migrate-capabilities", - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -7191,12 +7233,12 @@ "capability": "late-block-activate" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { "execute": "query-qmp-schema", - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -19381,7 +19423,7 @@ "meta-type": "object" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -19392,7 +19434,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19594,7 +19636,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19798,7 +19840,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -20073,7 +20115,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -20087,7 +20129,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20289,7 +20331,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20493,7 +20535,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -20768,16 +20810,16 @@ } } }, - "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 feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index faafbcd..58395cf 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -211,9 +211,10 @@ + 3000092 0 - 440395 + 440976 v3.1.0-rc2-48-g039d4e3df0 x86_64 --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038822903332.3296847668753; Mon, 17 Dec 2018 01:27:02 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 32EA99B351; Mon, 17 Dec 2018 09:27:00 +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 CA99E17D83; Mon, 17 Dec 2018 09:26:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 720CE3F606; Mon, 17 Dec 2018 09:26:59 +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 wBH9Quxt018825 for ; Mon, 17 Dec 2018 04:26:56 -0500 Received: by smtp.corp.redhat.com (Postfix) id 42B2D5C21C; Mon, 17 Dec 2018 09:26:56 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 348715C1B5 for ; Mon, 17 Dec 2018 09:26:56 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ABAB087628 for ; Mon, 17 Dec 2018 09:26:54 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:54 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:53 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099837" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:17 +0800 Message-Id: <1545038781-18468-8-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:54 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:54 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 07/11] nvdimm: use DO_TEST_CAPS_LATEST to do nvdimm qemuxml2argvdata test 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 17 Dec 2018 09:27:01 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Depracate DO_TEST to do nvdimm qemuxml2argvdata tests, because DO_TEST_CAPS_LATEST is a better choice. the DO_TEST need to specify all qemu capabilities and is not easy for scaling. Signed-off-by: Luyao Zhong --- .../memory-hotplug-nvdimm-access.args | 31 ------------------- ...memory-hotplug-nvdimm-access.x86_64-latest.args | 36 ++++++++++++++++++= ++++ .../memory-hotplug-nvdimm-label.args | 31 ------------------- .../memory-hotplug-nvdimm-label.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvdata/memory-hotplug-nvdimm.args | 31 ------------------- .../memory-hotplug-nvdimm.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvtest.c | 12 ++------ 7 files changed, 111 insertions(+), 102 deletions(-) delete mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86= _64-latest.args delete mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_= 64-latest.args delete mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm.args create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-lat= est.args diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.args b/tes= ts/qemuxml2argvdata/memory-hotplug-nvdimm-access.args deleted file mode 100644 index eecd8ca..0000000 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.args +++ /dev/null @@ -1,31 +0,0 @@ -LC_ALL=3DC \ -PATH=3D/bin \ -HOME=3D/home/test \ -USER=3Dtest \ -LOGNAME=3Dtest \ -QEMU_AUDIO_DRV=3Dnone \ -/usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ --S \ --machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ --m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ --smp 2,sockets=3D2,cores=3D1,threads=3D1 \ --numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ --object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ -share=3Dno,size=3D536870912 \ --device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ --uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ -server,nowait \ --mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ --rtc base=3Dutc \ --no-shutdown \ --no-acpi \ --usb \ --drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ --device ide-drive,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-= 0,\ -bootindex=3D1 \ --device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-lat= est.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-lates= t.args new file mode 100644 index 0000000..f11de69 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +share=3Dno,size=3D536870912 \ +-device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.args b/test= s/qemuxml2argvdata/memory-hotplug-nvdimm-label.args deleted file mode 100644 index 199c57d..0000000 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.args +++ /dev/null @@ -1,31 +0,0 @@ -LC_ALL=3DC \ -PATH=3D/bin \ -HOME=3D/home/test \ -USER=3Dtest \ -LOGNAME=3Dtest \ -QEMU_AUDIO_DRV=3Dnone \ -/usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ --S \ --machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ --m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ --smp 2,sockets=3D2,cores=3D1,threads=3D1 \ --numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ --object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ -share=3Dno,size=3D536870912 \ --device nvdimm,node=3D0,label-size=3D131072,memdev=3Dmemnvdimm0,id=3Dnvdim= m0,slot=3D0 \ --uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ -server,nowait \ --mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ --rtc base=3Dutc \ --no-shutdown \ --no-acpi \ --usb \ --drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ --device ide-drive,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-= 0,\ -bootindex=3D1 \ --device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-late= st.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.= args new file mode 100644 index 0000000..6c224b9 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +share=3Dno,size=3D536870912 \ +-device nvdimm,node=3D0,label-size=3D131072,memdev=3Dmemnvdimm0,id=3Dnvdim= m0,slot=3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.args b/tests/qemu= xml2argvdata/memory-hotplug-nvdimm.args deleted file mode 100644 index f695a2b..0000000 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.args +++ /dev/null @@ -1,31 +0,0 @@ -LC_ALL=3DC \ -PATH=3D/bin \ -HOME=3D/home/test \ -USER=3Dtest \ -LOGNAME=3Dtest \ -QEMU_AUDIO_DRV=3Dnone \ -/usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ --S \ --machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ --m size=3D1048576k,slots=3D16,maxmem=3D1099511627776k \ --smp 2,sockets=3D2,cores=3D1,threads=3D1 \ --numa node,nodeid=3D0,cpus=3D0-1,mem=3D1024 \ --object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ -size=3D536870912 \ --device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ --uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ -server,nowait \ --mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ --rtc base=3Dutc \ --no-shutdown \ --no-acpi \ --usb \ --drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ --device ide-drive,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-= 0,\ -bootindex=3D1 \ --device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.arg= s b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args new file mode 100644 index 0000000..6309250 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D1048576k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D1024 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +size=3D536870912 \ +-device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 287e9d4..09bd887 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2755,15 +2755,9 @@ mymain(void) DO_TEST("memory-hotplug-ppc64-nonuma", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE= _PC_DIMM, QEMU_CAPS_NUMA, QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE); - DO_TEST("memory-hotplug-nvdimm", - QEMU_CAPS_DEVICE_NVDIMM, - QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_= MEMORY_FILE); - DO_TEST("memory-hotplug-nvdimm-access", - QEMU_CAPS_DEVICE_NVDIMM, - QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_= MEMORY_FILE); - DO_TEST("memory-hotplug-nvdimm-label", - QEMU_CAPS_DEVICE_NVDIMM, - QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_= MEMORY_FILE); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm"); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-access"); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-label"); =20 DO_TEST("machine-aeskeywrap-on-caps", QEMU_CAPS_AES_KEY_WRAP, --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 154503882914211.44258928554973; Mon, 17 Dec 2018 01:27:09 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7B51B86674; Mon, 17 Dec 2018 09:27:06 +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 F2618105958F; Mon, 17 Dec 2018 09:27:05 +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 819FA181BA1A; Mon, 17 Dec 2018 09:27:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9Qvi2018833 for ; Mon, 17 Dec 2018 04:26:57 -0500 Received: by smtp.corp.redhat.com (Postfix) id 4EE996012D; Mon, 17 Dec 2018 09:26:57 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 44FAB60123 for ; Mon, 17 Dec 2018 09:26:57 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 350E68762F for ; Mon, 17 Dec 2018 09:26:56 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:55 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:55 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099850" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:18 +0800 Message-Id: <1545038781-18468-9-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:56 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:26:56 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 08/11] nvdimm: qemu command-line generating for align property 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 17 Dec 2018 09:27:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add align property into QEMU command line. Signed-off-by: Luyao Zhong --- src/qemu/qemu_command.c | 14 +++++++++ .../memory-hotplug-nvdimm-align.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvtest.c | 1 + 3 files changed, 51 insertions(+) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_= 64-latest.args diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 66a4a35..eeb49de 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3398,6 +3398,20 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backend= Props, if (virJSONValueObjectAdd(props, "U:size", mem->size * 1024, NULL) < 0) goto cleanup; =20 + if (mem->alignsize) { + if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_A= LIGN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("align property is not available " + "with this QEMU binary")); + goto cleanup; + } + if (virJSONValueObjectAdd(props, + "U:align", + mem->alignsize * 1024, + NULL) < 0) + goto cleanup; + } + if (mem->sourceNodes) { nodemask =3D mem->sourceNodes; } else { diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-late= st.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.= args new file mode 100644 index 0000000..7017719 --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +share=3Dno,size=3D536870912,align=3D2097152 \ +-device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 09bd887..f0e9e8f 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2758,6 +2758,7 @@ mymain(void) DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-access"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-label"); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-align"); =20 DO_TEST("machine-aeskeywrap-on-caps", QEMU_CAPS_AES_KEY_WRAP, --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038823671684.2730655786964; Mon, 17 Dec 2018 01:27:03 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 11C5C58E4A; Mon, 17 Dec 2018 09:27: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 B7D8C17CFC; Mon, 17 Dec 2018 09:27:00 +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 422BF3F606; Mon, 17 Dec 2018 09:27:00 +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 wBH9QxDw018851 for ; Mon, 17 Dec 2018 04:26:59 -0500 Received: by smtp.corp.redhat.com (Postfix) id 2E1605C260; Mon, 17 Dec 2018 09:26:59 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1EC075C25C for ; Mon, 17 Dec 2018 09:26:59 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 28B3D81DFE for ; Mon, 17 Dec 2018 09:26:58 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:57 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:56 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099864" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:19 +0800 Message-Id: <1545038781-18468-10-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:26:58 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:26:58 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 09/11] nvdimm: qemu command-line generating for pmem property 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 17 Dec 2018 09:27:02 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add pmem property into QEMU command line. Signed-off-by: Luyao Zhong --- src/qemu/qemu_command.c | 14 +++++++++ .../memory-hotplug-nvdimm-pmem.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvtest.c | 1 + 3 files changed, 51 insertions(+) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_6= 4-latest.args diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index eeb49de..6a06161 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3412,6 +3412,20 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backend= Props, goto cleanup; } =20 + if (mem->nvdimmPmem) { + if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_P= MEM)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("pmem property is not available " + "with this QEMU binary")); + goto cleanup; + } + if (virJSONValueObjectAdd(props, + "s:pmem", + mem->nvdimmPmem ? "on" : "off", + NULL) < 0) + goto cleanup; + } + if (mem->sourceNodes) { nodemask =3D mem->sourceNodes; } else { diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-lates= t.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.ar= gs new file mode 100644 index 0000000..9d0ecfc --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +share=3Dno,size=3D536870912,pmem=3Don \ +-device nvdimm,node=3D0,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot=3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index f0e9e8f..b1a0c0b 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2759,6 +2759,7 @@ mymain(void) DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-access"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-label"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-align"); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-pmem"); =20 DO_TEST("machine-aeskeywrap-on-caps", QEMU_CAPS_AES_KEY_WRAP, --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038833283340.08799103050285; Mon, 17 Dec 2018 01:27:13 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6F45F7AE95; Mon, 17 Dec 2018 09:27:11 +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 399D8105958F; Mon, 17 Dec 2018 09:27:11 +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 CFE32184B54B; Mon, 17 Dec 2018 09:27:10 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9R6qw018903 for ; Mon, 17 Dec 2018 04:27:06 -0500 Received: by smtp.corp.redhat.com (Postfix) id 62A352C8EA; Mon, 17 Dec 2018 09:27:06 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9D3B466064 for ; Mon, 17 Dec 2018 09:27:00 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7B5897F6CB for ; Mon, 17 Dec 2018 09:26:59 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:26:59 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:58 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099873" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:20 +0800 Message-Id: <1545038781-18468-11-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:26:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:26:59 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 10/11] nvdimm: qemu command-line generating for unarmed property 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.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:27:12 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add unarmed property into QEMU command line. Signed-off-by: Luyao Zhong --- src/qemu/qemu_command.c | 16 ++++++++-- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_hotplug.c | 2 +- ...emory-hotplug-nvdimm-unarmed.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvtest.c | 1 + 5 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.x8= 6_64-latest.args diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6a06161..c60b097 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3567,7 +3567,8 @@ qemuBuildMemoryDimmBackendStr(virBufferPtr buf, =20 =20 char * -qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem) +qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, + qemuDomainObjPrivatePtr priv) { virBuffer buf =3D VIR_BUFFER_INITIALIZER; const char *device; @@ -3595,6 +3596,17 @@ qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem) if (mem->labelsize) virBufferAsprintf(&buf, "label-size=3D%llu,", mem->labelsize *= 1024); =20 + if (mem->nvdimmUnarmed) { + if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_NVDIMM_UN= ARMED)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("unarmed property is not available " + "with this QEMU binary")); + return NULL; + } + virBufferAsprintf(&buf, "unarmed=3D%s,", + mem->nvdimmUnarmed ? "on" : "off"); + } + virBufferAsprintf(&buf, "memdev=3Dmem%s,id=3D%s", mem->info.alias, mem->info.alias); =20 @@ -7894,7 +7906,7 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, virCommandAddArg(cmd, "-object"); virCommandAddArgBuffer(cmd, &buf); =20 - if (!(dimmStr =3D qemuBuildMemoryDeviceStr(def->mems[i]))) + if (!(dimmStr =3D qemuBuildMemoryDeviceStr(def->mems[i], priv))) return -1; =20 virCommandAddArgList(cmd, "-device", dimmStr, NULL); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 4647260..1a4f1f5 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -128,7 +128,8 @@ int qemuBuildMemoryBackendProps(virJSONValuePtr *backen= dProps, virDomainMemoryDefPtr mem, bool force); =20 -char *qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem); +char *qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, + qemuDomainObjPrivatePtr priv); =20 /* Current, best practice */ char *qemuBuildPCIHostdevDevStr(const virDomainDef *def, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 8da0233..a1c3ca9 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2563,7 +2563,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver, if (virAsprintf(&objalias, "mem%s", mem->info.alias) < 0) goto cleanup; =20 - if (!(devstr =3D qemuBuildMemoryDeviceStr(mem))) + if (!(devstr =3D qemuBuildMemoryDeviceStr(mem, priv))) goto cleanup; =20 if (qemuBuildMemoryBackendProps(&props, objalias, cfg, diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.x86_64-la= test.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.x86_64-lat= est.args new file mode 100644 index 0000000..783d16b --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-unarmed.x86_64-latest.ar= gs @@ -0,0 +1,36 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/home/test \ +USER=3Dtest \ +LOGNAME=3Dtest \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object secret,id=3DmasterKey0,format=3Draw,\ +file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,nvdimm=3Don \ +-m size=3D219136k,slots=3D16,maxmem=3D1099511627776k \ +-realtime mlock=3Doff \ +-smp 2,sockets=3D2,cores=3D1,threads=3D1 \ +-numa node,nodeid=3D0,cpus=3D0-1,mem=3D214 \ +-object memory-backend-file,id=3Dmemnvdimm0,prealloc=3Dyes,mem-path=3D/tmp= /nvdimm,\ +share=3Dno,size=3D536870912 \ +-device nvdimm,node=3D0,unarmed=3Don,memdev=3Dmemnvdimm0,id=3Dnvdimm0,slot= =3D0 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \ +-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 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-0 \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ +resourcecontrol=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index b1a0c0b..bd30c25 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2760,6 +2760,7 @@ mymain(void) DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-label"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-align"); DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-pmem"); + DO_TEST_CAPS_LATEST("memory-hotplug-nvdimm-unarmed"); =20 DO_TEST("machine-aeskeywrap-on-caps", QEMU_CAPS_AES_KEY_WRAP, --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri May 3 08:26:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1545038831318830.8369361044312; Mon, 17 Dec 2018 01:27:11 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0FA8680F8F; Mon, 17 Dec 2018 09:27:09 +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 C807D5D75D; Mon, 17 Dec 2018 09:27:08 +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 596123F60B; Mon, 17 Dec 2018 09:27:08 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBH9R1GO018881 for ; Mon, 17 Dec 2018 04:27:01 -0500 Received: by smtp.corp.redhat.com (Postfix) id E20FC2636A; Mon, 17 Dec 2018 09:27:01 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D57AE1A906 for ; Mon, 17 Dec 2018 09:27:01 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E4F4C7F410 for ; Mon, 17 Dec 2018 09:27:00 +0000 (UTC) Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2018 01:27:00 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2018 01:26:59 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,364,1539673200"; d="scan'208";a="102099876" From: Luyao Zhong To: libvir-list@redhat.com Date: Mon, 17 Dec 2018 17:26:21 +0800 Message-Id: <1545038781-18468-12-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> References: <1545038781-18468-1-git-send-email-luyao.zhong@intel.com> X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 216 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:27:01 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 17 Dec 2018 09:27:01 +0000 (UTC) for IP:'192.55.52.151' DOMAIN:'mga17.intel.com' HELO:'mga17.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.151 mga17.intel.com 192.55.52.151 mga17.intel.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v4 11/11] nvdimm: update news.xml X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Mon, 17 Dec 2018 09:27:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" add more configure options for NVDIMM Signed-off-by: Luyao Zhong --- docs/news.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/news.xml b/docs/news.xml index 5bdbd34..dde98a1 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -65,6 +65,15 @@ qemu: Add support for ARMv6l guests + + + NVDIMM: support more configurations + + + Introduce more configuration options, including 'alignsize', 'pm= em', + 'unarmed'. + +
--=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list