From nobody Fri Mar 29 10:20:06 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 1545297285483703.5461830816869; Thu, 20 Dec 2018 01:14:45 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7EB44A0490; Thu, 20 Dec 2018 09:14:43 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 440EA68D58; Thu, 20 Dec 2018 09:14:43 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id EF4B7181B9EB; Thu, 20 Dec 2018 09:14:42 +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 wBK9Efc7030327 for ; Thu, 20 Dec 2018 04:14:41 -0500 Received: by smtp.corp.redhat.com (Postfix) id A180F5D738; Thu, 20 Dec 2018 09:14:41 +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 998A85D6B3 for ; Thu, 20 Dec 2018 09:14:34 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 A5A5789ACA for ; Thu, 20 Dec 2018 09:14:33 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:14:33 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:14:32 -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,376,1539673200"; d="scan'208";a="131518375" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:40 +0800 Message-Id: <1545297290-25463-2-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:14:33 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:14:33 +0000 (UTC) for IP:'192.55.52.120' DOMAIN:'mga04.intel.com' HELO:'mga04.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 192.55.52.120 mga04.intel.com 192.55.52.120 mga04.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 v5 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.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 20 Dec 2018 09:14:44 +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 Reviewed-by: John Ferlan --- 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 a18d063..515e656 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 76b49aa..21006c3 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 Mar 29 10:20:06 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 1545297309801713.6751378937396; Thu, 20 Dec 2018 01:15: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 C438676540; Thu, 20 Dec 2018 09:15: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 853881019624; Thu, 20 Dec 2018 09:15:06 +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 19DCE181A968; Thu, 20 Dec 2018 09:15:06 +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 wBK9EfFJ030332 for ; Thu, 20 Dec 2018 04:14:41 -0500 Received: by smtp.corp.redhat.com (Postfix) id B666028DE7; Thu, 20 Dec 2018 09:14:41 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AE32028D3B for ; Thu, 20 Dec 2018 09:14:41 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 A328C2D7F3 for ; Thu, 20 Dec 2018 09:14:40 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:14:40 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:14:39 -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,376,1539673200"; d="scan'208";a="131518387" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:41 +0800 Message-Id: <1545297290-25463-3-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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.30]); Thu, 20 Dec 2018 09:14:40 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 20 Dec 2018 09:14:40 +0000 (UTC) for IP:'134.134.136.65' DOMAIN:'mga03.intel.com' HELO:'mga03.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -5.001 (RCVD_IN_DNSWL_HI, SPF_PASS) 134.134.136.65 mga03.intel.com 134.134.136.65 mga03.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.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]); Thu, 20 Dec 2018 09:15:07 +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 Reviewed-by: John Ferlan --- 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-pmem.xml | 1 + tests/qemuxml2xmltest.c | 1 + 7 files changed, 91 insertions(+) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-pmem.xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 515e656..0781f24 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 21006c3..a7b7164 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/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/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 Mar 29 10:20:06 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 1545297307511509.3846359992857; Thu, 20 Dec 2018 01:15:07 -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 CB86076524; Thu, 20 Dec 2018 09:15:04 +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 6F35118223; Thu, 20 Dec 2018 09:15:04 +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 D7AABC584; Thu, 20 Dec 2018 09:15:03 +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 wBK9EsNT030365 for ; Thu, 20 Dec 2018 04:14:54 -0500 Received: by smtp.corp.redhat.com (Postfix) id 8841C604DD; Thu, 20 Dec 2018 09:14:54 +0000 (UTC) Received: from mx1.redhat.com (ext-mx07.extmail.prod.ext.phx2.redhat.com [10.5.110.31]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7D97B60559 for ; Thu, 20 Dec 2018 09:14:52 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 60376C070E39 for ; Thu, 20 Dec 2018 09:14:51 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:14:50 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:14:49 -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,376,1539673200"; d="scan'208";a="131518402" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:42 +0800 Message-Id: <1545297290-25463-4-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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.31]); Thu, 20 Dec 2018 09:14:51 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 20 Dec 2018 09:14:51 +0000 (UTC) for IP:'134.134.136.24' DOMAIN:'mga09.intel.com' HELO:'mga09.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -5.001 (RCVD_IN_DNSWL_HI, SPF_PASS) 134.134.136.24 mga09.intel.com 134.134.136.24 mga09.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.31 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 03/11] nvdimm: introduce 'readonly' 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.26]); Thu, 20 Dec 2018 09:15:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" The 'readonly' option allows users to mark vNVDIMM read-only: ... /dev/dax0.0 4094 0 ... Signed-off-by: Luyao Zhong Reviewed-by: John Ferlan --- 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-readonly.xml | 58 ++++++++++++++++++= ++++ .../memory-hotplug-nvdimm-readonly.xml | 1 + tests/qemuxml2xmltest.c | 1 + 7 files changed, 111 insertions(+), 12 deletions(-) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x= ml create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-readonly= .xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 0781f24..2ca7a46 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> + <readonly/> </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. +
+
+ +
readonly
+
+

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

+
+
=20 diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index a7b7164..6518aff 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..222bb8c 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(./readonly)", ctxt)) + def->readonly =3D true; } =20 ret =3D 0; @@ -22766,6 +22769,13 @@ virDomainMemoryDefCheckABIStability(virDomainMemor= yDefPtr src, "source NVDIMM pmem flag")); return false; } + + if (src->readonly !=3D dst->readonly) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Target NVDIMM readonly flag doesn't match " + "source NVDIMM readonly 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->readonly) + 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..fae1306 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 readonly; /* valid only for NVDIMM */ =20 virDomainDeviceInfo info; }; diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml b/te= sts/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml new file mode 100644 index 0000000..170992c --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.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/qemuxml2xmloutdata/memory-hotplug-nvdimm-readonly.xml b/= tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-readonly.xml new file mode 120000 index 0000000..10be844 --- /dev/null +++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-readonly.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml \ No newline at end of file diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index ef3ece8..82e2c0e 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-readonly", 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 Mar 29 10:20:06 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 1545297331800487.5158238929424; Thu, 20 Dec 2018 01:15:31 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C27C2C059B9E; Thu, 20 Dec 2018 09:15:29 +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 7F8086889C; Thu, 20 Dec 2018 09:15:29 +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 35341181B9E9; Thu, 20 Dec 2018 09:15:29 +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 wBK9FEkn030414 for ; Thu, 20 Dec 2018 04:15:14 -0500 Received: by smtp.corp.redhat.com (Postfix) id 3C08E68D58; Thu, 20 Dec 2018 09:15:14 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 30CE068D4C for ; Thu, 20 Dec 2018 09:15:05 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 318CA85546 for ; Thu, 20 Dec 2018 09:15:04 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:03 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15:01 -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,376,1539673200"; d="scan'208";a="131518447" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:43 +0800 Message-Id: <1545297290-25463-5-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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.28]); Thu, 20 Dec 2018 09:15:04 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 20 Dec 2018 09:15:04 +0000 (UTC) for IP:'134.134.136.65' DOMAIN:'mga03.intel.com' HELO:'mga03.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -5.001 (RCVD_IN_DNSWL_HI, SPF_PASS) 134.134.136.65 mga03.intel.com 134.134.136.65 mga03.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 20 Dec 2018 09:15:30 +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 Reviewed-by: John Ferlan --- 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 Mar 29 10:20:06 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 1545297318355442.3148599714807; Thu, 20 Dec 2018 01:15:18 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5E637C0669DB; Thu, 20 Dec 2018 09:15:16 +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 1911F60576; Thu, 20 Dec 2018 09:15:16 +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 997993F7CD; Thu, 20 Dec 2018 09:15:15 +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 wBK9FEJs030415 for ; Thu, 20 Dec 2018 04:15:14 -0500 Received: by smtp.corp.redhat.com (Postfix) id 3CB1B68D5A; Thu, 20 Dec 2018 09:15:14 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2EA3C68D48 for ; Thu, 20 Dec 2018 09:15:06 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 AD9328BD23 for ; Thu, 20 Dec 2018 09:15:05 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:05 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15:04 -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,376,1539673200"; d="scan'208";a="131518479" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:44 +0800 Message-Id: <1545297290-25463-6-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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.28]); Thu, 20 Dec 2018 09:15:06 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 20 Dec 2018 09:15:06 +0000 (UTC) for IP:'134.134.136.65' DOMAIN:'mga03.intel.com' HELO:'mga03.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -5.001 (RCVD_IN_DNSWL_HI, SPF_PASS) 134.134.136.65 mga03.intel.com 134.134.136.65 mga03.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 20 Dec 2018 09:15:17 +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 Reviewed-by: John Ferlan --- 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 Mar 29 10:20:06 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 1545297363381897.9389064811638; Thu, 20 Dec 2018 01:16:03 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EC427753EF; Thu, 20 Dec 2018 09:15: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 A8B7F620C9; Thu, 20 Dec 2018 09:15: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 57B7E3F7D0; Thu, 20 Dec 2018 09:15:55 +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 wBK9Fsxu030546 for ; Thu, 20 Dec 2018 04:15:54 -0500 Received: by smtp.corp.redhat.com (Postfix) id B4C4F68D4C; Thu, 20 Dec 2018 09:15:54 +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 A70816889C for ; Thu, 20 Dec 2018 09:15:52 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 DF32C89AC9 for ; Thu, 20 Dec 2018 09:15:50 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:50 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15:49 -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,376,1539673200"; d="scan'208";a="131518650" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:45 +0800 Message-Id: <1545297290-25463-7-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:15:51 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:15:51 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.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 v5 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.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 20 Dec 2018 09:16: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 Reviewed-by: John Ferlan --- 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 Mar 29 10:20:06 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 1545297381264392.91627061687086; Thu, 20 Dec 2018 01:16:21 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7677EB4CA; Thu, 20 Dec 2018 09:16:19 +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 320EC68D27; Thu, 20 Dec 2018 09:16:19 +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 C73121832E8F; Thu, 20 Dec 2018 09:16:18 +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 wBK9FvhM030561 for ; Thu, 20 Dec 2018 04:15:57 -0500 Received: by smtp.corp.redhat.com (Postfix) id 9F0F317DC7; Thu, 20 Dec 2018 09:15: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 9545D17AAA for ; Thu, 20 Dec 2018 09:15:54 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 3ADCB89AD0 for ; Thu, 20 Dec 2018 09:15:53 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:52 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15:52 -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,376,1539673200"; d="scan'208";a="131518660" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:46 +0800 Message-Id: <1545297290-25463-8-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:15:53 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:15:53 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 20 Dec 2018 09:16:20 +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 Reviewed-by: John Ferlan --- .../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 5812e85..d419827 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 Mar 29 10:20:06 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 1545297361218745.0442856128112; Thu, 20 Dec 2018 01:16:01 -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 E09397F41D; Thu, 20 Dec 2018 09:15:58 +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 A0F9E1019624; Thu, 20 Dec 2018 09:15:58 +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 52A2D181B9F6; Thu, 20 Dec 2018 09:15:58 +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 wBK9FvZj030562 for ; Thu, 20 Dec 2018 04:15:57 -0500 Received: by smtp.corp.redhat.com (Postfix) id 9F9A317F26; Thu, 20 Dec 2018 09:15: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 949F817AA8 for ; Thu, 20 Dec 2018 09:15:56 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 BDA9889ACA for ; Thu, 20 Dec 2018 09:15:55 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:55 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15:54 -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,376,1539673200"; d="scan'208";a="131518666" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:47 +0800 Message-Id: <1545297290-25463-9-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:15:56 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:15:56 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.25]); Thu, 20 Dec 2018 09:15:59 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add align property into QEMU command line: -object memory-backend-file,...[,align=3Dxxx] Signed-off-by: Luyao Zhong Reviewed-by: John Ferlan --- 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 d419827..5d26781 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 Mar 29 10:20:06 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 1545297404563679.8871883843823; Thu, 20 Dec 2018 01:16:44 -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 A3D7E83F3E; Thu, 20 Dec 2018 09:16:42 +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 6D6E91019624; Thu, 20 Dec 2018 09:16:42 +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 19A10181B9EB; Thu, 20 Dec 2018 09:16:42 +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 wBK9G0pH030589 for ; Thu, 20 Dec 2018 04:16:00 -0500 Received: by smtp.corp.redhat.com (Postfix) id 18A6E68D48; Thu, 20 Dec 2018 09:16:00 +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 0AB3268D27 for ; Thu, 20 Dec 2018 09:16:00 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 2027A89AD0 for ; Thu, 20 Dec 2018 09:15:59 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:15:58 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:15: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,376,1539673200"; d="scan'208";a="131518675" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:48 +0800 Message-Id: <1545297290-25463-10-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:15:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:15:59 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.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 v5 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.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]); Thu, 20 Dec 2018 09:16:43 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add pmem property into QEMU command line: -object memory-backend-file,...[,pmem=3Don/off] Signed-off-by: Luyao Zhong Reviewed-by: John Ferlan --- 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 5d26781..a55b5ff 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 Mar 29 10:20:06 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 1545297428076610.4610673660873; Thu, 20 Dec 2018 01:17:08 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0E95B7F6B3; Thu, 20 Dec 2018 09:17: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 CCBDB604FF; Thu, 20 Dec 2018 09:17: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 707C1181B9F6; Thu, 20 Dec 2018 09:17:05 +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 wBK9G2CD030598 for ; Thu, 20 Dec 2018 04:16:02 -0500 Received: by smtp.corp.redhat.com (Postfix) id 3C48368D27; Thu, 20 Dec 2018 09:16:02 +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 32CB36889C for ; Thu, 20 Dec 2018 09:16:02 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 21D2B89AE0 for ; Thu, 20 Dec 2018 09:16:01 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:16:00 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:16:00 -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,376,1539673200"; d="scan'208";a="131518682" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:49 +0800 Message-Id: <1545297290-25463-11-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:16:01 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:16:01 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.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 v5 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.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 20 Dec 2018 09:17:06 +0000 (UTC) Content-Type: text/plain; charset="utf-8" According to the result parsing from xml, add unarmed property into QEMU command line: -device nvdimm,...[,unarmed=3Don/off] Signed-off-by: Luyao Zhong Reviewed-by: John Ferlan --- src/qemu/qemu_command.c | 16 ++++++++-- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_hotplug.c | 2 +- ...mory-hotplug-nvdimm-readonly.x86_64-latest.args | 36 ++++++++++++++++++= ++++ tests/qemuxml2argvtest.c | 1 + 5 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x= 86_64-latest.args diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6a06161..1de3d07 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->readonly) { + if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_NVDIMM_UN= ARMED)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Set readonly for nvdimm, but the correspondi= ng unarmed" + "property is not available with this QEMU bin= ary")); + return NULL; + } + virBufferAsprintf(&buf, "unarmed=3D%s,", + mem->readonly ? "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-readonly.x86_64-l= atest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-l= atest.args new file mode 100644 index 0000000..783d16b --- /dev/null +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.a= rgs @@ -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 a55b5ff..2cb8860 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-readonly"); =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 Mar 29 10:20:06 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 1545297451589767.2743365114509; Thu, 20 Dec 2018 01:17:31 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7A707C050E19; Thu, 20 Dec 2018 09:17:29 +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 2753A4538; Thu, 20 Dec 2018 09:17:29 +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 D033D3F600; Thu, 20 Dec 2018 09:17:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id wBK9GEM9030643 for ; Thu, 20 Dec 2018 04:16:14 -0500 Received: by smtp.corp.redhat.com (Postfix) id 0EE66101F94C; Thu, 20 Dec 2018 09:16:14 +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 039351019624 for ; Thu, 20 Dec 2018 09:16:09 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 B0EF889ACA for ; Thu, 20 Dec 2018 09:16:03 +0000 (UTC) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 01:16:03 -0800 Received: from zly-optiplex-9020.bj.intel.com ([10.238.135.151]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 01:16:02 -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,376,1539673200"; d="scan'208";a="131518700" From: Luyao Zhong To: libvir-list@redhat.com Date: Thu, 20 Dec 2018 17:14:50 +0800 Message-Id: <1545297290-25463-12-git-send-email-luyao.zhong@intel.com> In-Reply-To: <1545297290-25463-1-git-send-email-luyao.zhong@intel.com> References: <1545297290-25463-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]); Thu, 20 Dec 2018 09:16:03 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 20 Dec 2018 09:16:03 +0000 (UTC) for IP:'134.134.136.20' DOMAIN:'mga02.intel.com' HELO:'mga02.intel.com' FROM:'luyao.zhong@intel.com' RCPT:'' X-RedHat-Spam-Score: -2.301 (RCVD_IN_DNSWL_MED, SPF_PASS) 134.134.136.20 mga02.intel.com 134.134.136.20 mga02.intel.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v5 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.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 20 Dec 2018 09:17:30 +0000 (UTC) Content-Type: text/plain; charset="utf-8" add more configure options for NVDIMM Signed-off-by: Luyao Zhong Reviewed-by: John Ferlan --- docs/news.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/news.xml b/docs/news.xml index e9b6bb7..2076cd5 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -79,6 +79,15 @@ qemu: Add support for ARMv6l guests + + + NVDIMM: support more configurations + + + Introduce more configuration options, including 'alignsize', 'pm= em', + 'readonly'. + +
--=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list