From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051381410649.5947758439213; Fri, 11 May 2018 08:09:41 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8491232D7457; Fri, 11 May 2018 15:09:39 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5617D2010CF0; Fri, 11 May 2018 15:09:39 +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 B042F1801245; Fri, 11 May 2018 15:09:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9Qe2008511 for ; Fri, 11 May 2018 11:09:26 -0400 Received: by smtp.corp.redhat.com (Postfix) id 797AD83B6B; Fri, 11 May 2018 15:09:26 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0090783B69; Fri, 11 May 2018 15:09:25 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:12 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 1/7] qemuMonitorJSONGetDeviceProps: Separate props processing 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: , Content-Type: text/plain; charset="utf-8" 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.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Fri, 11 May 2018 15:09:40 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 The code that processes list of device properties is going to be reused. Therefore put it into a separate function. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_monitor_json.c | 81 +++++++++++++++++++++++++---------------= ---- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index e0ea553c41..ce7bc9e8e3 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6051,6 +6051,51 @@ int qemuMonitorJSONSetObjectProperty(qemuMonitorPtr = mon, #undef MAKE_SET_CMD =20 =20 +static int +qemuMonitorJSONParsePropsList(virJSONValuePtr cmd, + virJSONValuePtr reply, + char ***props) +{ + virJSONValuePtr data; + char **proplist =3D NULL; + size_t n =3D 0; + size_t i; + int ret =3D -1; + + if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) + goto cleanup; + + data =3D virJSONValueObjectGetArray(reply, "return"); + n =3D virJSONValueArraySize(data); + + /* null-terminated list */ + if (VIR_ALLOC_N(proplist, n + 1) < 0) + goto cleanup; + + for (i =3D 0; i < n; i++) { + virJSONValuePtr child =3D virJSONValueArrayGet(data, i); + const char *tmp; + + if (!(tmp =3D virJSONValueObjectGetString(child, "name"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("reply data was missing 'name'")); + goto cleanup; + } + + if (VIR_STRDUP(proplist[i], tmp) < 0) + goto cleanup; + } + + ret =3D n; + *props =3D proplist; + proplist =3D NULL; + + cleanup: + virStringListFree(proplist); + return ret; +} + + int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, const char *device, char ***props) @@ -6058,10 +6103,6 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, int ret =3D -1; virJSONValuePtr cmd; virJSONValuePtr reply =3D NULL; - virJSONValuePtr data; - char **proplist =3D NULL; - size_t n =3D 0; - size_t i; =20 *props =3D NULL; =20 @@ -6078,38 +6119,10 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mo= n, goto cleanup; } =20 - if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) - goto cleanup; - - data =3D virJSONValueObjectGetArray(reply, "return"); - n =3D virJSONValueArraySize(data); - - /* null-terminated list */ - if (VIR_ALLOC_N(proplist, n + 1) < 0) - goto cleanup; - - for (i =3D 0; i < n; i++) { - virJSONValuePtr child =3D virJSONValueArrayGet(data, i); - const char *tmp; - - if (!(tmp =3D virJSONValueObjectGetString(child, "name"))) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("device-list-properties reply data was missin= g 'name'")); - goto cleanup; - } - - if (VIR_STRDUP(proplist[i], tmp) < 0) - goto cleanup; - } - - ret =3D n; - *props =3D proplist; - proplist =3D NULL; - + ret =3D qemuMonitorJSONParsePropsList(cmd, reply, props); cleanup: - virStringListFree(proplist); - virJSONValueFree(cmd); virJSONValueFree(reply); + virJSONValueFree(cmd); return ret; } =20 --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051372183422.4534472364512; Fri, 11 May 2018 08:09:32 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 636E13003C46; Fri, 11 May 2018 15:09:30 +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 2FA5A30001EB; Fri, 11 May 2018 15:09:30 +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 DD4074BB79; Fri, 11 May 2018 15:09:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9Rga008520 for ; Fri, 11 May 2018 11:09:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id 382F683B6C; Fri, 11 May 2018 15:09:27 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id B396783B69; Fri, 11 May 2018 15:09:26 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:13 +0200 Message-Id: <0cb855d436dce03866918f431c649291f478421f.1526051215.git.mprivozn@redhat.com> In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 2/7] qemu_monitor: Introduce qemuMonitorGetObjectProps 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: , Content-Type: text/plain; charset="utf-8" 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.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Fri, 11 May 2018 15:09:30 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Now that we've gotten rid of misleading names we can introduce qemuMonitorGetObjectProps() function which queries -object properties. Again, some parts of code can be reused. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_monitor.c | 13 +++++++++++++ src/qemu/qemu_monitor.h | 3 +++ src/qemu/qemu_monitor_json.c | 32 ++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 4 ++++ 4 files changed, 52 insertions(+) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 39187915b0..3d7ca3ccfc 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3932,6 +3932,19 @@ qemuMonitorGetDeviceProps(qemuMonitorPtr mon, } =20 =20 +int +qemuMonitorGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) +{ + VIR_DEBUG("object=3D%s props=3D%p", object, props); + + QEMU_CHECK_MONITOR_JSON(mon); + + return qemuMonitorJSONGetObjectProps(mon, object, props); +} + + char * qemuMonitorGetTargetArch(qemuMonitorPtr mon) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index a93844f77b..33dc521e83 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1048,6 +1048,9 @@ int qemuMonitorGetObjectTypes(qemuMonitorPtr mon, int qemuMonitorGetDeviceProps(qemuMonitorPtr mon, const char *device, char ***props); +int qemuMonitorGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props); char *qemuMonitorGetTargetArch(qemuMonitorPtr mon); =20 int qemuMonitorNBDServerStart(qemuMonitorPtr mon, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index ce7bc9e8e3..e2e0004e4d 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6127,6 +6127,38 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, } =20 =20 +int +qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) +{ + int ret =3D -1; + virJSONValuePtr cmd; + virJSONValuePtr reply =3D NULL; + + *props =3D NULL; + + if (!(cmd =3D qemuMonitorJSONMakeCommand("qom-list-properties", + "s:typename", object, + NULL))) + return -1; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) { + ret =3D 0; + goto cleanup; + } + + ret =3D qemuMonitorJSONParsePropsList(cmd, reply, props); + cleanup: + virJSONValueFree(reply); + virJSONValueFree(cmd); + return ret; +} + + char * qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon) { diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index ed5f29b20a..e86b58f7ea 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -445,6 +445,10 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, const char *device, char ***props) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); +int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, + const char *object, + char ***props) + ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); char *qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon); =20 int qemuMonitorJSONNBDServerStart(qemuMonitorPtr mon, --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051381996641.3302924221396; Fri, 11 May 2018 08:09:41 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 98F737F7C6; Fri, 11 May 2018 15:09:39 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4D46A5E7D2; Fri, 11 May 2018 15:09:39 +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 8D3F6180474F; Fri, 11 May 2018 15:09:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9SwP008527 for ; Fri, 11 May 2018 11:09:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id EAF9D83B69; Fri, 11 May 2018 15:09:27 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 723CA83B79; Fri, 11 May 2018 15:09:27 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:14 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 3/7] qemu_capabilities: Introduce QEMU_CAPS_QOM_LIST_PROPERTIES 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 11 May 2018 15:09:40 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 This capability tracks if qemu has "qom-list-properties" monitor command. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 4 ++++ src/qemu/qemu_capabilities.h | 3 +++ 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 + 6 files changed, 11 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 64f536b1b0..16a8aa92ab 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -476,6 +476,9 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "nbd-tls", "tpm-crb", "pr-manager-helper", + + /* 295 */ + "qom-list-properties", ); =20 =20 @@ -984,6 +987,7 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] =3D= { { "query-cpu-definitions", QEMU_CAPS_QUERY_CPU_DEFINITIONS }, { "query-named-block-nodes", QEMU_CAPS_QUERY_NAMED_BLOCK_NODES }, { "query-cpus-fast", QEMU_CAPS_QUERY_CPUS_FAST }, + { "qom-list-properties", QEMU_CAPS_QOM_LIST_PROPERTIES }, }; =20 struct virQEMUCapsStringFlags virQEMUCapsMigration[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 6e3e2e0003..4a25fbb6f2 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -461,6 +461,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_DEVICE_TPM_CRB, /* -device tpm-crb */ QEMU_CAPS_PR_MANAGER_HELPER, /* -object pr-manager-helper */ =20 + /* 295 */ + QEMU_CAPS_QOM_LIST_PROPERTIES, /* qom-list-properties monitor command = */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; =20 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.12.0.aarch64.xml index 6fbb105df7..9aa913c9ec 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -159,6 +159,7 @@ + 2011090 0 342346 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.ppc64.xml index b03bf59d30..5bee534353 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -156,6 +156,7 @@ + 2011090 0 419215 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index 81a4acf966..3dc65d77ae 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -121,6 +121,7 @@ + 2011090 0 0 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 0dce649e90..66fc7782b8 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -197,6 +197,7 @@ + 2011090 0 390060 --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051386517263.5548497253134; Fri, 11 May 2018 08:09:46 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6176F820EE; Fri, 11 May 2018 15:09:44 +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 0DB895FCAF; Fri, 11 May 2018 15:09:44 +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 B07D64A467; Fri, 11 May 2018 15:09:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9Txj008538 for ; Fri, 11 May 2018 11:09:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id 2D31A83B69; Fri, 11 May 2018 15:09:29 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3159B83B6B; Fri, 11 May 2018 15:09:28 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:15 +0200 Message-Id: <45b11779ca17c62a608b4048b94f09865c6010a7.1526051215.git.mprivozn@redhat.com> In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 4/7] qemu_capabilities: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 11 May 2018 15:09:45 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 This capability tracks if memory-backend-file has discard-data attribute or not. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 18 + src/qemu/qemu_capabilities.h | 1 + .../caps_2.12.0.aarch64.replies | 416 +- tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 3 +- .../qemucapabilitiesdata/caps_2.12.0.ppc64.replies | 4454 ++++++++++------= ---- tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 3 +- .../qemucapabilitiesdata/caps_2.12.0.s390x.replies | 78 +- tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 + .../caps_2.12.0.x86_64.replies | 804 ++-- tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +- 10 files changed, 3010 insertions(+), 2771 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 16a8aa92ab..2e2190e80f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -479,6 +479,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, =20 /* 295 */ "qom-list-properties", + "memory-backend-file.discard-data", ); =20 =20 @@ -1375,6 +1376,15 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceP= rops[] =3D { QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW }, }; =20 +static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFi= le[] =3D { + { "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD }, +}; + +static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] =3D { + { "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile, + ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendFile), + QEMU_CAPS_OBJECT_MEMORY_FILE }, +}; =20 static void virQEMUCapsProcessStringFlags(virQEMUCapsPtr qemuCaps, @@ -2132,6 +2142,14 @@ virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps, qemuMonitorGetDeviceProps) < 0) return -1; =20 + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QOM_LIST_PROPERTIES) && + virQEMUCapsProbeQMPGenericProps(qemuCaps, + mon, + virQEMUCapsObjectProps, + ARRAY_CARDINALITY(virQEMUCapsObjec= tProps), + qemuMonitorGetObjectProps) < 0) + return -1; + return 0; } =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 4a25fbb6f2..adac3b63cf 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -463,6 +463,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ =20 /* 295 */ QEMU_CAPS_QOM_LIST_PROPERTIES, /* qom-list-properties monitor command = */ + QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD, /* -object memory-backend-file,d= iscard-data */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies b/tests= /qemucapabilitiesdata/caps_2.12.0.aarch64.replies index 3512d88b67..3ca0ea13fa 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies @@ -5275,6 +5275,60 @@ "id": "libvirt-35" } =20 +{ + "return": [ + { + "name": "policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "share", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "host-nodes", + "type": "int" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + }, + { + "name": "type", + "type": "string" + } + ], + "id": "libvirt-36" +} + { "return": [ { @@ -5569,198 +5623,198 @@ "cpu-max": 1 } ], - "id": "libvirt-36" -} - -{ - "return": [ - { - "name": "pxa262", - "typename": "pxa262-arm-cpu", - "static": false - }, - { - "name": "pxa270-a0", - "typename": "pxa270-a0-arm-cpu", - "static": false - }, - { - "name": "arm1136", - "typename": "arm1136-arm-cpu", - "static": false - }, - { - "name": "cortex-a15", - "typename": "cortex-a15-arm-cpu", - "static": false - }, - { - "name": "pxa260", - "typename": "pxa260-arm-cpu", - "static": false - }, - { - "name": "arm1136-r2", - "typename": "arm1136-r2-arm-cpu", - "static": false - }, - { - "name": "pxa261", - "typename": "pxa261-arm-cpu", - "static": false - }, - { - "name": "pxa255", - "typename": "pxa255-arm-cpu", - "static": false - }, - { - "name": "cortex-m33", - "typename": "cortex-m33-arm-cpu", - "static": false - }, - { - "name": "arm926", - "typename": "arm926-arm-cpu", - "static": false - }, - { - "name": "arm11mpcore", - "typename": "arm11mpcore-arm-cpu", - "static": false - }, - { - "name": "pxa250", - "typename": "pxa250-arm-cpu", - "static": false - }, - { - "name": "ti925t", - "typename": "ti925t-arm-cpu", - "static": false - }, - { - "name": "cortex-a57", - "typename": "cortex-a57-arm-cpu", - "static": false - }, - { - "name": "sa1110", - "typename": "sa1110-arm-cpu", - "static": false - }, - { - "name": "host", - "typename": "host-arm-cpu", - "static": false - }, - { - "name": "arm1176", - "typename": "arm1176-arm-cpu", - "static": false - }, - { - "name": "cortex-a53", - "typename": "cortex-a53-arm-cpu", - "static": false - }, - { - "name": "sa1100", - "typename": "sa1100-arm-cpu", - "static": false - }, - { - "name": "pxa270-c5", - "typename": "pxa270-c5-arm-cpu", - "static": false - }, - { - "name": "cortex-a9", - "typename": "cortex-a9-arm-cpu", - "static": false - }, - { - "name": "cortex-a8", - "typename": "cortex-a8-arm-cpu", - "static": false - }, - { - "name": "cortex-a7", - "typename": "cortex-a7-arm-cpu", - "static": false - }, - { - "name": "pxa270-c0", - "typename": "pxa270-c0-arm-cpu", - "static": false - }, - { - "name": "arm1026", - "typename": "arm1026-arm-cpu", - "static": false - }, - { - "name": "pxa270-b1", - "typename": "pxa270-b1-arm-cpu", - "static": false - }, - { - "name": "cortex-m3", - "typename": "cortex-m3-arm-cpu", - "static": false - }, - { - "name": "max", - "typename": "max-arm-cpu", - "static": false - }, - { - "name": "cortex-m4", - "typename": "cortex-m4-arm-cpu", - "static": false - }, - { - "name": "pxa270-b0", - "typename": "pxa270-b0-arm-cpu", - "static": false - }, - { - "name": "arm946", - "typename": "arm946-arm-cpu", - "static": false - }, - { - "name": "cortex-r5", - "typename": "cortex-r5-arm-cpu", - "static": false - }, - { - "name": "pxa270-a1", - "typename": "pxa270-a1-arm-cpu", - "static": false - }, - { - "name": "pxa270", - "typename": "pxa270-arm-cpu", - "static": false - } - ], "id": "libvirt-37" } =20 { "return": [ + { + "name": "pxa262", + "typename": "pxa262-arm-cpu", + "static": false + }, + { + "name": "pxa270-a0", + "typename": "pxa270-a0-arm-cpu", + "static": false + }, + { + "name": "arm1136", + "typename": "arm1136-arm-cpu", + "static": false + }, + { + "name": "cortex-a15", + "typename": "cortex-a15-arm-cpu", + "static": false + }, + { + "name": "pxa260", + "typename": "pxa260-arm-cpu", + "static": false + }, + { + "name": "arm1136-r2", + "typename": "arm1136-r2-arm-cpu", + "static": false + }, + { + "name": "pxa261", + "typename": "pxa261-arm-cpu", + "static": false + }, + { + "name": "pxa255", + "typename": "pxa255-arm-cpu", + "static": false + }, + { + "name": "cortex-m33", + "typename": "cortex-m33-arm-cpu", + "static": false + }, + { + "name": "arm926", + "typename": "arm926-arm-cpu", + "static": false + }, + { + "name": "arm11mpcore", + "typename": "arm11mpcore-arm-cpu", + "static": false + }, + { + "name": "pxa250", + "typename": "pxa250-arm-cpu", + "static": false + }, + { + "name": "ti925t", + "typename": "ti925t-arm-cpu", + "static": false + }, + { + "name": "cortex-a57", + "typename": "cortex-a57-arm-cpu", + "static": false + }, + { + "name": "sa1110", + "typename": "sa1110-arm-cpu", + "static": false + }, + { + "name": "host", + "typename": "host-arm-cpu", + "static": false + }, + { + "name": "arm1176", + "typename": "arm1176-arm-cpu", + "static": false + }, + { + "name": "cortex-a53", + "typename": "cortex-a53-arm-cpu", + "static": false + }, + { + "name": "sa1100", + "typename": "sa1100-arm-cpu", + "static": false + }, + { + "name": "pxa270-c5", + "typename": "pxa270-c5-arm-cpu", + "static": false + }, + { + "name": "cortex-a9", + "typename": "cortex-a9-arm-cpu", + "static": false + }, + { + "name": "cortex-a8", + "typename": "cortex-a8-arm-cpu", + "static": false + }, + { + "name": "cortex-a7", + "typename": "cortex-a7-arm-cpu", + "static": false + }, + { + "name": "pxa270-c0", + "typename": "pxa270-c0-arm-cpu", + "static": false + }, + { + "name": "arm1026", + "typename": "arm1026-arm-cpu", + "static": false + }, + { + "name": "pxa270-b1", + "typename": "pxa270-b1-arm-cpu", + "static": false + }, + { + "name": "cortex-m3", + "typename": "cortex-m3-arm-cpu", + "static": false + }, + { + "name": "max", + "typename": "max-arm-cpu", + "static": false + }, + { + "name": "cortex-m4", + "typename": "cortex-m4-arm-cpu", + "static": false + }, + { + "name": "pxa270-b0", + "typename": "pxa270-b0-arm-cpu", + "static": false + }, + { + "name": "arm946", + "typename": "arm946-arm-cpu", + "static": false + }, + { + "name": "cortex-r5", + "typename": "cortex-r5-arm-cpu", + "static": false + }, + { + "name": "pxa270-a1", + "typename": "pxa270-a1-arm-cpu", + "static": false + }, + { + "name": "pxa270", + "typename": "pxa270-arm-cpu", + "static": false + } ], "id": "libvirt-38" } =20 { "return": [ - "emulator" ], "id": "libvirt-39" } =20 +{ + "return": [ + "emulator" + ], + "id": "libvirt-40" +} + { "return": [ { @@ -6919,7 +6973,7 @@ "option": "drive" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -6981,7 +7035,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -18349,7 +18403,7 @@ "meta-type": "object" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -18365,7 +18419,7 @@ "kernel": false } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qem= ucapabilitiesdata/caps_2.12.0.aarch64.xml index 9aa913c9ec..362f6f20b5 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml @@ -160,9 +160,10 @@ + 2011090 0 - 342346 + 343099 v2.12.0-rc0 aarch64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies b/tests/q= emucapabilitiesdata/caps_2.12.0.ppc64.replies index 2166b34973..1e93cd6dca 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies @@ -5322,6 +5322,60 @@ "id": "libvirt-36" } =20 +{ + "return": [ + { + "name": "policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "share", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "host-nodes", + "type": "int" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + }, + { + "name": "type", + "type": "string" + } + ], + "id": "libvirt-37" +} + { "return": [ { @@ -5457,2218 +5511,2218 @@ "cpu-max": 1 } ], - "id": "libvirt-37" -} - -{ - "return": [ - { - "name": "default", - "typename": "604-powerpc64-cpu", - "static": false - }, - { - "name": "ppc", - "typename": "604-powerpc64-cpu", - "static": false - }, - { - "name": "ppc32", - "typename": "604-powerpc64-cpu", - "static": false - }, - { - "name": "ppc64", - "typename": "970fx_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "970mp", - "typename": "970mp_v1.1-powerpc64-cpu", - "static": false - }, - { - "name": "970fx", - "typename": "970fx_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "970", - "typename": "970_v2.2-powerpc64-cpu", - "static": false - }, - { - "name": "power9", - "typename": "power9_v2.0-powerpc64-cpu", - "static": false - }, - { - "name": "power8nvl", - "typename": "power8nvl_v1.0-powerpc64-cpu", - "static": false - }, - { - "name": "power8", - "typename": "host-powerpc64-cpu", - "static": false - }, - { - "name": "power8e", - "typename": "power8e_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "power7+", - "typename": "power7+_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "power7", - "typename": "power7_v2.3-powerpc64-cpu", - "static": false - }, - { - "name": "power5gs", - "typename": "power5+_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "power5+", - "typename": "power5+_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "apollo7pm", - "typename": "7457a_v1.0-powerpc64-cpu", - "static": false - }, - { - "name": "7457a", - "typename": "7457a_v1.2-powerpc64-cpu", - "static": false - }, - { - "name": "7447a", - "typename": "7447a_v1.2-powerpc64-cpu", - "static": false - }, - { - "name": "apollo7", - "typename": "7457_v1.2-powerpc64-cpu", - "static": false - }, - { - "name": "7457", - "typename": "7457_v1.2-powerpc64-cpu", - "static": false - }, - { - "name": "7447", - "typename": "7447_v1.1-powerpc64-cpu", - "static": false - }, - { - "name": "apollo6", - "typename": "7455_v3.2-powerpc64-cpu", - "static": false - }, - { - "name": "7455", - "typename": "7455_v3.2-powerpc64-cpu", - "static": false - }, - { - "name": "7445", - "typename": "7445_v3.2-powerpc64-cpu", - "static": false - }, - { - "name": "7451", - "typename": "7451_v2.3-powerpc64-cpu", - "static": false - }, - { - "name": "7441", - "typename": "7441_v2.3-powerpc64-cpu", - "static": false - }, - { - "name": "vger", - "typename": "7450_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "7450", - "typename": "7450_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "7448", - "typename": "7448_v2.1-powerpc64-cpu", - "static": false - }, - { - "name": "nitro", - "typename": "7410_v1.4-powerpc64-cpu", - "static": false - }, - { - "name": "7410", - "typename": "7410_v1.4-powerpc64-cpu", - "static": false - }, - { - "name": "g4", - "typename": "7400_v2.9-powerpc64-cpu", - "static": false - }, - { - "name": "max", - "typename": "7400_v2.9-powerpc64-cpu", - "static": false - }, - { - "name": "7400", - "typename": "7400_v2.9-powerpc64-cpu", - "static": false - }, - { - "name": "goldfinger", - "typename": "755_v2.8-powerpc64-cpu", - "static": false - }, - { - "name": "755", - "typename": "755_v2.8-powerpc64-cpu", - "static": false - }, - { - "name": "745", - "typename": "745_v2.8-powerpc64-cpu", - "static": false - }, - { - "name": "lonestar", - "typename": "750l_v3.2-powerpc64-cpu", - "static": false - }, - { - "name": "750l", - "typename": "750l_v3.2-powerpc64-cpu", - "static": false - }, - { - "name": "750gx", - "typename": "750gx_v1.2-powerpc64-cpu", - "static": false - }, - { - "name": "750fx", - "typename": "750fx_v2.3-powerpc64-cpu", - "static": false - }, - { - "name": "750cxe", - "typename": "750cxe_v3.1b-powerpc64-cpu", - "static": false - }, - { - "name": "750cx", - "typename": "750cx_v2.2-powerpc64-cpu", - "static": false - }, - { - "name": "750cl", - "typename": "750cl_v2.0-powerpc64-cpu", - "static": false - }, - { - "name": "conan/doyle", - "typename": "750p-powerpc64-cpu", - "static": false - }, - { - "name": "g3", - "typename": "750_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "typhoon", - "typename": "750_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "750", - "typename": "750_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "arthur", - "typename": "740_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "740", - "typename": "740_v3.1-powerpc64-cpu", - "static": false - }, - { - "name": "mach5", - "typename": "604r-powerpc64-cpu", - "static": false - }, - { - "name": "sirocco", - "typename": "604e_v2.4-powerpc64-cpu", - "static": false - }, - { - "name": "604e", - "typename": "604e_v2.4-powerpc64-cpu", - "static": false - }, - { - "name": "goldeneye", - "typename": "603e7t-powerpc64-cpu", - "static": false - }, - { - "name": "603r", - "typename": "603e7t-powerpc64-cpu", - "static": false - }, - { - "name": "vaillant", - "typename": "603e7v-powerpc64-cpu", - "static": false - }, - { - "name": "stretch", - "typename": "603e_v4.1-powerpc64-cpu", - "static": false - }, - { - "name": "603e", - "typename": "603e_v4.1-powerpc64-cpu", - "static": false - }, - { - "name": "vanilla", - "typename": "603-powerpc64-cpu", - "static": false - }, - { - "name": "601v", - "typename": "601_v2-powerpc64-cpu", - "static": false - }, - { - "name": "601", - "typename": "601_v2-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8560", - "typename": "mpc8560_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8555e", - "typename": "mpc8555e_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8555", - "typename": "mpc8555_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8548e", - "typename": "mpc8548e_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8548", - "typename": "mpc8548_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8547e", - "typename": "mpc8547e_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8545e", - "typename": "mpc8545e_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8545", - "typename": "mpc8545_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8544e", - "typename": "mpc8544e_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8544", - "typename": "mpc8544_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8543e", - "typename": "mpc8543e_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8543", - "typename": "mpc8543_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8541e", - "typename": "mpc8541e_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8541", - "typename": "mpc8541_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8540", - "typename": "mpc8540_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8533e", - "typename": "mpc8533e_v11-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8533", - "typename": "mpc8533_v11-powerpc64-cpu", - "static": false - }, - { - "name": "e500v2", - "typename": "e500v2_v22-powerpc64-cpu", - "static": false - }, - { - "name": "e500v1", - "typename": "e500_v20-powerpc64-cpu", - "static": false - }, - { - "name": "e500", - "typename": "e500v2_v22-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8347ea", - "typename": "mpc8347eat-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8347e", - "typename": "mpc8347et-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8347a", - "typename": "mpc8347at-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8347", - "typename": "mpc8347t-powerpc64-cpu", - "static": false - }, - { - "name": "e300", - "typename": "e300c3-powerpc64-cpu", - "static": false - }, - { - "name": "e200", - "typename": "e200z6-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8280", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8275", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8272", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8271", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8270", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8266_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8266_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8266", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8265_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8265_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8265", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8264_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8264_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8264", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8260_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8260_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8260", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8255_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8255_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8255", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8250_hip4", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8250_hip3", - "typename": "g2hip3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8250", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8248", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8247", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8245", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8241", - "typename": "g2hip4-powerpc64-cpu", - "static": false - }, - { - "name": "powerquicc-ii", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc82xx", - "typename": "g2legp3-powerpc64-cpu", - "static": false - }, - { - "name": "mpc5200b", - "typename": "mpc5200b_v21-powerpc64-cpu", - "static": false - }, - { - "name": "mpc5200", - "typename": "mpc5200_v12-powerpc64-cpu", - "static": false - }, - { - "name": "mpc52xx", - "typename": "mpc5200_v12-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8240", - "typename": "603-powerpc64-cpu", - "static": false - }, - { - "name": "460ex", - "typename": "460exb-powerpc64-cpu", - "static": false - }, - { - "name": "440ep", - "typename": "440epb-powerpc64-cpu", - "static": false - }, - { - "name": "x2vp50", - "typename": "x2vp20-powerpc64-cpu", - "static": false - }, - { - "name": "x2vp7", - "typename": "x2vp4-powerpc64-cpu", - "static": false - }, - { - "name": "405gpe", - "typename": "405crc-powerpc64-cpu", - "static": false - }, - { - "name": "405gp", - "typename": "405gpd-powerpc64-cpu", - "static": false - }, - { - "name": "405cr", - "typename": "405crc-powerpc64-cpu", - "static": false - }, - { - "name": "405", - "typename": "405d4-powerpc64-cpu", - "static": false - }, - { - "name": "403", - "typename": "403gc-powerpc64-cpu", - "static": false - }, - { - "name": "mpc8547e_v21", - "typename": "", - "static": false - }, - { - "name": "750cl_v1.0", - "typename": "", - "static": false - }, - { - "name": "7457a_v1.1", - "typename": "", - "static": false - }, - { - "name": "g2gp", - "typename": "", - "static": false - }, - { - "name": "750cxe_v2.1", - "typename": "", - "static": false - }, - { - "name": "755_v2.7", - "typename": "", - "static": false - }, - { - "name": "750_v2.1", - "typename": "", - "static": false - }, - { - "name": "755_v2.2", - "typename": "", - "static": false - }, - { - "name": "745_v2.0", - "typename": "", - "static": false - }, - { - "name": "mpc8377", - "typename": "", - "static": false - }, - { - "name": "7455_v1.0", - "typename": "", - "static": false - }, - { - "name": "mpc8545_v21", - "typename": "", - "static": false - }, - { - "name": "mpc8548_v11", - "typename": "", - "static": false - }, - { - "name": "405d4", - "typename": "", - "static": false - }, - { - "name": "g2le", - "typename": "", - "static": false - }, - { - "name": "g2hip3", - "typename": "", - "static": false - }, - { - "name": "750e", - "typename": "", - "static": false - }, - { - "name": "mpc8572", - "typename": "", - "static": false - }, - { - "name": "970fx_v2.0", - "typename": "", - "static": false - }, - { - "name": "750fx_v2.0", - "typename": "", - "static": false - }, - { - "name": "603p", - "typename": "", - "static": false - }, - { - "name": "405gpb", - "typename": "", - "static": false - }, - { - "name": "7400_v2.7", - "typename": "", - "static": false - }, - { - "name": "mpc8544e_v10", - "typename": "", - "static": false - }, - { - "name": "e500v2_v10", - "typename": "", - "static": false - }, - { - "name": "e500mc", - "typename": "", - "static": false - }, - { - "name": "603e7v1", - "typename": "", - "static": false - }, - { - "name": "970mp_v1.0", - "typename": "", - "static": false - }, - { - "name": "740e", - "typename": "", - "static": false - }, - { - "name": "405crc", - "typename": "", - "static": false - }, - { - "name": "403ga", - "typename": "", - "static": false - }, - { - "name": "7447a_v1.0", - "typename": "", - "static": false - }, - { - "name": "7400_v2.2", - "typename": "", - "static": false - }, - { - "name": "e300c1", - "typename": "", - "static": false - }, - { - "name": "mpc8572e", - "typename": "", - "static": false - }, - { - "name": "e500v2_v21", - "typename": "", - "static": false - }, - { - "name": "970fx_v1.0", - "typename": "", - "static": false - }, - { - "name": "750gx_v1.2", - "typename": "", - "static": false - }, - { - "name": "750fx_v1.0", - "typename": "", - "static": false - }, - { - "name": "7457_v1.1", - "typename": "", - "static": false - }, - { - "name": "970fx_v3.0", - "typename": "", - "static": false - }, - { - "name": "604e_v2.2", - "typename": "", - "static": false - }, - { - "name": "755_v2.6", - "typename": "", - "static": false - }, - { - "name": "401a1", - "typename": "", - "static": false - }, - { - "name": "power9_v1.0", - "typename": "", - "static": false - }, - { - "name": "npe405h", - "typename": "", - "static": false - }, - { - "name": "7410_v1.4", - "typename": "", - "static": false - }, - { - "name": "g2ls", - "typename": "", - "static": false - }, - { - "name": "750_v2.0", - "typename": "", - "static": false - }, - { - "name": "401b2", - "typename": "", - "static": false - }, - { - "name": "mpc8349", - "typename": "", - "static": false - }, - { - "name": "mpc8347ep", - "typename": "", - "static": false - }, - { - "name": "7445_v3.2", - "typename": "", - "static": false - }, - { - "name": "mpc8540_v21", - "typename": "", - "static": false - }, - { - "name": "mpc8543_v11", - "typename": "", - "static": false - }, - { - "name": "403gcx", - "typename": "", - "static": false - }, - { - "name": "745_v2.4", - "typename": "", - "static": false - }, - { - "name": "mpc8548_v21", - "typename": "", - "static": false - }, - { - "name": "750l_v3.2", - "typename": "", - "static": false - }, - { - "name": "750_v1.0", - "typename": "", - "static": false - }, - { - "name": "755_v1.1", - "typename": "", - "static": false - }, - { - "name": "e500_v10", - "typename": "", - "static": false - }, - { - "name": "750cxe_v3.0", - "typename": "", - "static": false - }, - { - "name": "mpc8541e_v10", - "typename": "", - "static": false - }, - { - "name": "mpc8347p", - "typename": "", - "static": false - }, - { - "name": "mpc8555e_v10", - "typename": "", - "static": false - }, - { - "name": "power9_v2.0", - "typename": "", - "static": false - }, - { - "name": "power7_v2.3", - "typename": "", - "static": false - }, - { - "name": "603e7v", - "typename": "", - "static": false - }, - { - "name": "mpc8543e_v11", - "typename": "", - "static": false - }, - { - "name": "750_v3.0", - "typename": "", - "static": false - }, - { - "name": "7400_v2.6", - "typename": "", - "static": false - }, - { - "name": "405gpa", - "typename": "", - "static": false - }, - { - "name": "440epx", - "typename": "", - "static": false - }, - { - "name": "750l_v2.2", - "typename": "", - "static": false - }, - { - "name": "e200z6", - "typename": "", - "static": false - }, - { - "name": "mpc8547e_v20", - "typename": "", - "static": false - }, - { - "name": "7457a_v1.0", - "typename": "", - "static": false - }, - { - "name": "mpc8349ea", - "typename": "", - "static": false - }, - { - "name": "e500v2_v20", - "typename": "", - "static": false - }, - { - "name": "power8nvl_v1.0", - "typename": "", - "static": false - }, - { - "name": "mpc8540_v10", - "typename": "", - "static": false - }, - { - "name": "755_v2.1", - "typename": "", - "static": false - }, - { - "name": "745_v2.8", - "typename": "", - "static": false - }, - { - "name": "npe405l", - "typename": "", - "static": false - }, - { - "name": "mpc8343ea", - "typename": "", - "static": false - }, - { - "name": "mpc8545_v20", - "typename": "", - "static": false - }, - { - "name": "mpc8548_v10", - "typename": "", - "static": false - }, - { - "name": "7448_v1.1", - "typename": "", - "static": false - }, - { - "name": "7455_v3.4", - "typename": "", - "static": false - }, - { - "name": "740_v2.2", - "typename": "", - "static": false - }, - { - "name": "7400_v1.1", - "typename": "", - "static": false - }, - { - "name": "mpc8347et", - "typename": "", - "static": false - }, - { - "name": "7441_v2.10", - "typename": "", - "static": false - }, - { - "name": "603e_v1.4", - "typename": "", - "static": false - }, - { - "name": "mpc8543_v10", - "typename": "", - "static": false - }, - { - "name": "401c2", - "typename": "", - "static": false - }, - { - "name": "7451_v2.10", - "typename": "", - "static": false - }, - { - "name": "750cx_v2.2", - "typename": "", - "static": false - }, - { - "name": "mpc8543_v21", - "typename": "", - "static": false - }, - { - "name": "603e7", - "typename": "", - "static": false - }, - { - "name": "7448_v2.1", - "typename": "", - "static": false - }, - { - "name": "7441_v2.3", - "typename": "", - "static": false - }, - { - "name": "405crb", - "typename": "", - "static": false - }, - { - "name": "604", - "typename": "", - "static": false - }, - { - "name": "7400_v2.1", - "typename": "", - "static": false - }, - { - "name": "440-xilinx-w-dfpu", - "typename": "", - "static": false - }, - { - "name": "7445_v2.1", - "typename": "", - "static": false - }, - { - "name": "cobra", - "typename": "", - "static": false - }, - { - "name": "e500_v20", - "typename": "", - "static": false - }, - { - "name": "mpc8541_v11", - "typename": "", - "static": false - }, - { - "name": "750gx_v1.1", - "typename": "", - "static": false - }, - { - "name": "750cxe_v2.4", - "typename": "", - "static": false - }, - { - "name": "mpc8641d", - "typename": "", - "static": false - }, - { - "name": "mpc8543e_v21", - "typename": "", - "static": false - }, - { - "name": "750l_v2.1", - "typename": "", - "static": false - }, - { - "name": "7457_v1.0", - "typename": "", - "static": false - }, - { - "name": "7450_v1.2", - "typename": "", - "static": false - }, - { - "name": "755_v2.5", - "typename": "", - "static": false - }, - { - "name": "7410_v1.3", - "typename": "", - "static": false - }, - { - "name": "745_v2.3", - "typename": "", - "static": false - }, - { - "name": "755_v2.0", - "typename": "", - "static": false - }, - { - "name": "e500v2_v30", - "typename": "", - "static": false - }, - { - "name": "7455_v3.3", - "typename": "", - "static": false - }, - { - "name": "mpc8540_v20", - "typename": "", - "static": false - }, - { - "name": "405d2", - "typename": "", - "static": false - }, - { - "name": "mpc8560_v21", - "typename": "", - "static": false - }, - { - "name": "mpc8343", - "typename": "", - "static": false - }, - { - "name": "mpc8548_v20", - "typename": "", - "static": false - }, - { - "name": "mpc8347t", - "typename": "", - "static": false - }, - { - "name": "755_v1.0", - "typename": "", - "static": false - }, - { - "name": "603e_v1.3", - "typename": "", - "static": false - }, - { - "name": "host", - "typename": "", - "static": false - }, - { - "name": "mpc8543e_v10", - "typename": "", - "static": false - }, - { - "name": "mpc8347eap", - "typename": "", - "static": false - }, - { - "name": "mpc8548e_v11", - "typename": "", - "static": false - }, - { - "name": "mpc8543_v20", - "typename": "", - "static": false - }, - { - "name": "401d2", - "typename": "", - "static": false - }, - { - "name": "power8_v2.0", - "typename": "", - "static": false - }, - { - "name": "740_v3.1", - "typename": "", - "static": false - }, - { - "name": "e200z5", - "typename": "", - "static": false - }, - { - "name": "405cra", - "typename": "", - "static": false - }, - { - "name": "7400_v2.0", - "typename": "", - "static": false - }, - { - "name": "750cxe_v2.3", - "typename": "", - "static": false - }, - { - "name": "745_v2.7", - "typename": "", - "static": false - }, - { - "name": "mpc8560_v10", - "typename": "", - "static": false - }, - { - "name": "e5500", - "typename": "", - "static": false - }, - { - "name": "mpc8544_v11", - "typename": "", - "static": false - }, - { - "name": "7448_v1.0", - "typename": "", - "static": false - }, - { - "name": "401e2", - "typename": "", - "static": false - }, - { - "name": "740_v2.1", - "typename": "", - "static": false - }, - { - "name": "745_v2.2", - "typename": "", - "static": false - }, - { - "name": "7400_v1.0", - "typename": "", - "static": false - }, - { - "name": "7410_v1.2", - "typename": "", - "static": false - }, - { - "name": "x2vp4", - "typename": "", - "static": false - }, - { - "name": "mpc8347ap", - "typename": "", - "static": false - }, - { - "name": "mpc8533_v11", - "typename": "", - "static": false - }, - { - "name": "mpc5200b_v21", - "typename": "", - "static": false - }, - { - "name": "750fx_v2.3", - "typename": "", - "static": false - }, - { - "name": "601_v2", - "typename": "", - "static": false - }, - { - "name": "g2legp3", - "typename": "", - "static": false - }, - { - "name": "604e_v1.0", - "typename": "", - "static": false - }, - { - "name": "750cx_v2.1", - "typename": "", - "static": false - }, - { - "name": "mpc8610", - "typename": "", - "static": false - }, - { - "name": "g2h4", - "typename": "", - "static": false - }, - { - "name": "750l_v3.0", - "typename": "", - "static": false - }, - { - "name": "mpc8377e", - "typename": "", - "static": false - }, - { - "name": "e300c4", - "typename": "", - "static": false - }, - { - "name": "mpc5200_v12", - "typename": "", - "static": false - }, - { - "name": "7448_v2.0", - "typename": "", - "static": false - }, - { - "name": "7450_v2.1", - "typename": "", - "static": false - }, - { - "name": "750cxe_v3.1b", - "typename": "", - "static": false - }, - { - "name": "g2", - "typename": "", - "static": false - }, - { - "name": "7400_v2.9", - "typename": "", - "static": false - }, - { - "name": "405gpd", - "typename": "", - "static": false - }, - { - "name": "603", - "typename": "", - "static": false - }, - { - "name": "603e7t", - "typename": "", - "static": false - }, - { - "name": "mpc8555_v11", - "typename": "", - "static": false - }, - { - "name": "750gx_v1.0", - "typename": "", - "static": false - }, - { - "name": "mpc8541_v10", - "typename": "", - "static": false - }, - { - "name": "mpc8543e_v20", - "typename": "", - "static": false - }, - { - "name": "750fl", - "typename": "", - "static": false - }, - { - "name": "750l_v2.0", - "typename": "", - "static": false - }, - { - "name": "stb04", - "typename": "", - "static": false - }, - { - "name": "mpc8548e_v21", - "typename": "", - "static": false - }, - { - "name": "x2vp20", - "typename": "", - "static": false - }, - { - "name": "405ez", - "typename": "", - "static": false - }, - { - "name": "e600", - "typename": "", - "static": false - }, - { - "name": "7450_v1.1", - "typename": "", - "static": false - }, - { - "name": "755_v2.4", - "typename": "", - "static": false - }, - { - "name": "mpc8379", - "typename": "", - "static": false - }, - { - "name": "7445_v1.0", - "typename": "", - "static": false - }, - { - "name": "7447_v1.1", - "typename": "", - "static": false - }, - { - "name": "603e_v2.2", - "typename": "", - "static": false - }, - { - "name": "603e_v4", - "typename": "", - "static": false - }, - { - "name": "g2legp", - "typename": "", - "static": false - }, - { - "name": "7455_v3.2", - "typename": "", - "static": false - }, - { - "name": "740_v2.0", - "typename": "", - "static": false - }, - { - "name": "mpc8560_v20", - "typename": "", - "static": false - }, - { - "name": "440-xilinx", - "typename": "", - "static": false - }, - { - "name": "401f2", - "typename": "", - "static": false - }, - { - "name": "mpc8533_v10", - "typename": "", - "static": false - }, - { - "name": "405gpr", - "typename": "", - "static": false - }, - { - "name": "mpc8349a", - "typename": "", - "static": false - }, - { - "name": "stb25", - "typename": "", - "static": false - }, - { - "name": "603e_v1.2", - "typename": "", - "static": false - }, - { - "name": "mpc5200b_v20", - "typename": "", - "static": false - }, - { - "name": "750fx_v2.2", - "typename": "", - "static": false - }, - { - "name": "mpc8347eat", - "typename": "", - "static": false - }, - { - "name": "740_v1.0", - "typename": "", - "static": false - }, - { - "name": "601_v1", - "typename": "", - "static": false - }, - { - "name": "745_v1.1", - "typename": "", - "static": false - }, - { - "name": "750cx_v2.0", - "typename": "", - "static": false - }, - { - "name": "mpc8548e_v10", - "typename": "", - "static": false - }, - { - "name": "7447a_v1.2", - "typename": "", - "static": false - }, - { - "name": "403gc", - "typename": "", - "static": false - }, - { - "name": "e300c3", - "typename": "", - "static": false - }, - { - "name": "mpc5200_v11", - "typename": "", - "static": false - }, - { - "name": "7441_v2.1", - "typename": "", - "static": false - }, - { - "name": "740_v3.0", - "typename": "", - "static": false - }, - { - "name": "mpc8545e_v21", - "typename": "", - "static": false - }, - { - "name": "602", - "typename": "", - "static": false - }, - { - "name": "mpc8378e", - "typename": "", - "static": false - }, - { - "name": "mpc8343a", - "typename": "", - "static": false - }, - { - "name": "460exb", - "typename": "", - "static": false - }, - { - "name": "mpc8555_v10", - "typename": "", - "static": false - }, - { - "name": "mpc8568", - "typename": "", - "static": false - }, - { - "name": "7457a_v1.2", - "typename": "", - "static": false - }, - { - "name": "750cx_v1.0", - "typename": "", - "static": false - }, - { - "name": "750cxe_v2.2", - "typename": "", - "static": false - }, - { - "name": "604e_v2.4", - "typename": "", - "static": false - }, - { - "name": "755_v2.8", - "typename": "", - "static": false - }, - { - "name": "405lp", - "typename": "", - "static": false - }, - { - "name": "745_v2.6", - "typename": "", - "static": false - }, - { - "name": "stb03", - "typename": "", - "static": false - }, - { - "name": "405ep", - "typename": "", - "static": false - }, - { - "name": "mpc8544_v10", - "typename": "", - "static": false - }, - { - "name": "mpc8347at", - "typename": "", - "static": false - }, - { - "name": "750_v2.2", - "typename": "", - "static": false - }, - { - "name": "7450_v1.0", - "typename": "", - "static": false - }, - { - "name": "755_v2.3", - "typename": "", - "static": false - }, - { - "name": "7410_v1.1", - "typename": "", - "static": false - }, - { - "name": "745_v2.1", - "typename": "", - "static": false - }, - { - "name": "750gl", - "typename": "", - "static": false - }, - { - "name": "e6500", - "typename": "", - "static": false - }, - { - "name": "750p", - "typename": "", - "static": false - }, - { - "name": "7445_v3.4", - "typename": "", - "static": false - }, - { - "name": "440epb", - "typename": "", - "static": false - }, - { - "name": "npe4gs3", - "typename": "", - "static": false - }, - { - "name": "603e_v3", - "typename": "", - "static": false - }, - { - "name": "mpc8349e", - "typename": "", - "static": false - }, - { - "name": "970_v2.2", - "typename": "", - "static": false - }, - { - "name": "g2lels", - "typename": "", - "static": false - }, - { - "name": "g2hip4", - "typename": "", - "static": false - }, - { - "name": "740p", - "typename": "", - "static": false - }, - { - "name": "mpc8567e", - "typename": "", - "static": false - }, - { - "name": "mpc8533e_v11", - "typename": "", - "static": false - }, - { - "name": "7451_v2.3", - "typename": "", - "static": false - }, - { - "name": "603e_v1.1", - "typename": "", - "static": false - }, - { - "name": "401g2", - "typename": "", - "static": false - }, - { - "name": "7400_v2.8", - "typename": "", - "static": false - }, - { - "name": "7455_v2.1", - "typename": "", - "static": false - }, - { - "name": "405gpc", - "typename": "", - "static": false - }, - { - "name": "power7+_v2.1", - "typename": "", - "static": false - }, - { - "name": "mpc8544e_v11", - "typename": "", - "static": false - }, - { - "name": "7450_v2.0", - "typename": "", - "static": false - }, - { - "name": "970mp_v1.1", - "typename": "", - "static": false - }, - { - "name": "603e7v2", - "typename": "", - "static": false - }, - { - "name": "604r", - "typename": "", - "static": false - }, - { - "name": "e500v2_v22", - "typename": "", - "static": false - }, - { - "name": "mpc8548e_v20", - "typename": "", - "static": false - }, - { - "name": "mpc8545e_v20", - "typename": "", - "static": false - }, - { - "name": "mpc8378", - "typename": "", - "static": false - }, - { - "name": "mpc8567", - "typename": "", - "static": false - }, - { - "name": "7457_v1.2", - "typename": "", - "static": false - }, - { - "name": "7447_v1.0", - "typename": "", - "static": false - }, - { - "name": "970fx_v3.1", - "typename": "", - "static": false - }, - { - "name": "745_v2.5", - "typename": "", - "static": false - }, - { - "name": "mpc8379e", - "typename": "", - "static": false - }, - { - "name": "mpc8641", - "typename": "", - "static": false - }, - { - "name": "750cxe_v2.4b", - "typename": "", - "static": false - }, - { - "name": "7410_v1.0", - "typename": "", - "static": false - }, - { - "name": "mpc603", - "typename": "", - "static": false - }, - { - "name": "603e_v4.1", - "typename": "", - "static": false - }, - { - "name": "7445_v3.3", - "typename": "", - "static": false - }, - { - "name": "440epa", - "typename": "", - "static": false - }, - { - "name": "970fx_v2.1", - "typename": "", - "static": false - }, - { - "name": "iop480", - "typename": "", - "static": false - }, - { - "name": "750fx_v2.1", - "typename": "", - "static": false - }, - { - "name": "601_v0", - "typename": "", - "static": false - }, - { - "name": "g2legp1", - "typename": "", - "static": false - }, - { - "name": "745_v1.0", - "typename": "", - "static": false - }, - { - "name": "750cl_v2.0", - "typename": "", - "static": false - }, - { - "name": "750cxr", - "typename": "", - "static": false - }, - { - "name": "401", - "typename": "", - "static": false - }, - { - "name": "mpc8541e_v11", - "typename": "", - "static": false - }, - { - "name": "750cxe_v3.1", - "typename": "", - "static": false - }, - { - "name": "mpc8555e_v11", - "typename": "", - "static": false - }, - { - "name": "power5+_v2.1", - "typename": "", - "static": false - }, - { - "name": "7447a_v1.1", - "typename": "", - "static": false - }, - { - "name": "403gb", - "typename": "", - "static": false - }, - { - "name": "e300c2", - "typename": "", - "static": false - }, - { - "name": "npe405h2", - "typename": "", - "static": false - }, - { - "name": "mpc8343e", - "typename": "", - "static": false - }, - { - "name": "mpc8533e_v10", - "typename": "", - "static": false - }, - { - "name": "mpc5200_v10", - "typename": "", - "static": false - }, - { - "name": "750_v3.1", - "typename": "", - "static": false - }, - { - "name": "power8e_v2.1", - "typename": "", - "static": false - }, - { - "name": "mpc8568e", - "typename": "", - "static": false - } - ], "id": "libvirt-38" } =20 { "return": [ + { + "name": "default", + "typename": "604-powerpc64-cpu", + "static": false + }, + { + "name": "ppc", + "typename": "604-powerpc64-cpu", + "static": false + }, + { + "name": "ppc32", + "typename": "604-powerpc64-cpu", + "static": false + }, + { + "name": "ppc64", + "typename": "970fx_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "970mp", + "typename": "970mp_v1.1-powerpc64-cpu", + "static": false + }, + { + "name": "970fx", + "typename": "970fx_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "970", + "typename": "970_v2.2-powerpc64-cpu", + "static": false + }, + { + "name": "power9", + "typename": "power9_v2.0-powerpc64-cpu", + "static": false + }, + { + "name": "power8nvl", + "typename": "power8nvl_v1.0-powerpc64-cpu", + "static": false + }, + { + "name": "power8", + "typename": "host-powerpc64-cpu", + "static": false + }, + { + "name": "power8e", + "typename": "power8e_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "power7+", + "typename": "power7+_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "power7", + "typename": "power7_v2.3-powerpc64-cpu", + "static": false + }, + { + "name": "power5gs", + "typename": "power5+_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "power5+", + "typename": "power5+_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "apollo7pm", + "typename": "7457a_v1.0-powerpc64-cpu", + "static": false + }, + { + "name": "7457a", + "typename": "7457a_v1.2-powerpc64-cpu", + "static": false + }, + { + "name": "7447a", + "typename": "7447a_v1.2-powerpc64-cpu", + "static": false + }, + { + "name": "apollo7", + "typename": "7457_v1.2-powerpc64-cpu", + "static": false + }, + { + "name": "7457", + "typename": "7457_v1.2-powerpc64-cpu", + "static": false + }, + { + "name": "7447", + "typename": "7447_v1.1-powerpc64-cpu", + "static": false + }, + { + "name": "apollo6", + "typename": "7455_v3.2-powerpc64-cpu", + "static": false + }, + { + "name": "7455", + "typename": "7455_v3.2-powerpc64-cpu", + "static": false + }, + { + "name": "7445", + "typename": "7445_v3.2-powerpc64-cpu", + "static": false + }, + { + "name": "7451", + "typename": "7451_v2.3-powerpc64-cpu", + "static": false + }, + { + "name": "7441", + "typename": "7441_v2.3-powerpc64-cpu", + "static": false + }, + { + "name": "vger", + "typename": "7450_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "7450", + "typename": "7450_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "7448", + "typename": "7448_v2.1-powerpc64-cpu", + "static": false + }, + { + "name": "nitro", + "typename": "7410_v1.4-powerpc64-cpu", + "static": false + }, + { + "name": "7410", + "typename": "7410_v1.4-powerpc64-cpu", + "static": false + }, + { + "name": "g4", + "typename": "7400_v2.9-powerpc64-cpu", + "static": false + }, + { + "name": "max", + "typename": "7400_v2.9-powerpc64-cpu", + "static": false + }, + { + "name": "7400", + "typename": "7400_v2.9-powerpc64-cpu", + "static": false + }, + { + "name": "goldfinger", + "typename": "755_v2.8-powerpc64-cpu", + "static": false + }, + { + "name": "755", + "typename": "755_v2.8-powerpc64-cpu", + "static": false + }, + { + "name": "745", + "typename": "745_v2.8-powerpc64-cpu", + "static": false + }, + { + "name": "lonestar", + "typename": "750l_v3.2-powerpc64-cpu", + "static": false + }, + { + "name": "750l", + "typename": "750l_v3.2-powerpc64-cpu", + "static": false + }, + { + "name": "750gx", + "typename": "750gx_v1.2-powerpc64-cpu", + "static": false + }, + { + "name": "750fx", + "typename": "750fx_v2.3-powerpc64-cpu", + "static": false + }, + { + "name": "750cxe", + "typename": "750cxe_v3.1b-powerpc64-cpu", + "static": false + }, + { + "name": "750cx", + "typename": "750cx_v2.2-powerpc64-cpu", + "static": false + }, + { + "name": "750cl", + "typename": "750cl_v2.0-powerpc64-cpu", + "static": false + }, + { + "name": "conan/doyle", + "typename": "750p-powerpc64-cpu", + "static": false + }, + { + "name": "g3", + "typename": "750_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "typhoon", + "typename": "750_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "750", + "typename": "750_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "arthur", + "typename": "740_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "740", + "typename": "740_v3.1-powerpc64-cpu", + "static": false + }, + { + "name": "mach5", + "typename": "604r-powerpc64-cpu", + "static": false + }, + { + "name": "sirocco", + "typename": "604e_v2.4-powerpc64-cpu", + "static": false + }, + { + "name": "604e", + "typename": "604e_v2.4-powerpc64-cpu", + "static": false + }, + { + "name": "goldeneye", + "typename": "603e7t-powerpc64-cpu", + "static": false + }, + { + "name": "603r", + "typename": "603e7t-powerpc64-cpu", + "static": false + }, + { + "name": "vaillant", + "typename": "603e7v-powerpc64-cpu", + "static": false + }, + { + "name": "stretch", + "typename": "603e_v4.1-powerpc64-cpu", + "static": false + }, + { + "name": "603e", + "typename": "603e_v4.1-powerpc64-cpu", + "static": false + }, + { + "name": "vanilla", + "typename": "603-powerpc64-cpu", + "static": false + }, + { + "name": "601v", + "typename": "601_v2-powerpc64-cpu", + "static": false + }, + { + "name": "601", + "typename": "601_v2-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8560", + "typename": "mpc8560_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8555e", + "typename": "mpc8555e_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8555", + "typename": "mpc8555_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8548e", + "typename": "mpc8548e_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8548", + "typename": "mpc8548_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8547e", + "typename": "mpc8547e_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8545e", + "typename": "mpc8545e_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8545", + "typename": "mpc8545_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8544e", + "typename": "mpc8544e_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8544", + "typename": "mpc8544_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8543e", + "typename": "mpc8543e_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8543", + "typename": "mpc8543_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8541e", + "typename": "mpc8541e_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8541", + "typename": "mpc8541_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8540", + "typename": "mpc8540_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8533e", + "typename": "mpc8533e_v11-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8533", + "typename": "mpc8533_v11-powerpc64-cpu", + "static": false + }, + { + "name": "e500v2", + "typename": "e500v2_v22-powerpc64-cpu", + "static": false + }, + { + "name": "e500v1", + "typename": "e500_v20-powerpc64-cpu", + "static": false + }, + { + "name": "e500", + "typename": "e500v2_v22-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8347ea", + "typename": "mpc8347eat-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8347e", + "typename": "mpc8347et-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8347a", + "typename": "mpc8347at-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8347", + "typename": "mpc8347t-powerpc64-cpu", + "static": false + }, + { + "name": "e300", + "typename": "e300c3-powerpc64-cpu", + "static": false + }, + { + "name": "e200", + "typename": "e200z6-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8280", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8275", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8272", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8271", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8270", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8266_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8266_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8266", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8265_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8265_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8265", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8264_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8264_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8264", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8260_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8260_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8260", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8255_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8255_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8255", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8250_hip4", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8250_hip3", + "typename": "g2hip3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8250", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8248", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8247", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8245", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8241", + "typename": "g2hip4-powerpc64-cpu", + "static": false + }, + { + "name": "powerquicc-ii", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc82xx", + "typename": "g2legp3-powerpc64-cpu", + "static": false + }, + { + "name": "mpc5200b", + "typename": "mpc5200b_v21-powerpc64-cpu", + "static": false + }, + { + "name": "mpc5200", + "typename": "mpc5200_v12-powerpc64-cpu", + "static": false + }, + { + "name": "mpc52xx", + "typename": "mpc5200_v12-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8240", + "typename": "603-powerpc64-cpu", + "static": false + }, + { + "name": "460ex", + "typename": "460exb-powerpc64-cpu", + "static": false + }, + { + "name": "440ep", + "typename": "440epb-powerpc64-cpu", + "static": false + }, + { + "name": "x2vp50", + "typename": "x2vp20-powerpc64-cpu", + "static": false + }, + { + "name": "x2vp7", + "typename": "x2vp4-powerpc64-cpu", + "static": false + }, + { + "name": "405gpe", + "typename": "405crc-powerpc64-cpu", + "static": false + }, + { + "name": "405gp", + "typename": "405gpd-powerpc64-cpu", + "static": false + }, + { + "name": "405cr", + "typename": "405crc-powerpc64-cpu", + "static": false + }, + { + "name": "405", + "typename": "405d4-powerpc64-cpu", + "static": false + }, + { + "name": "403", + "typename": "403gc-powerpc64-cpu", + "static": false + }, + { + "name": "mpc8547e_v21", + "typename": "", + "static": false + }, + { + "name": "750cl_v1.0", + "typename": "", + "static": false + }, + { + "name": "7457a_v1.1", + "typename": "", + "static": false + }, + { + "name": "g2gp", + "typename": "", + "static": false + }, + { + "name": "750cxe_v2.1", + "typename": "", + "static": false + }, + { + "name": "755_v2.7", + "typename": "", + "static": false + }, + { + "name": "750_v2.1", + "typename": "", + "static": false + }, + { + "name": "755_v2.2", + "typename": "", + "static": false + }, + { + "name": "745_v2.0", + "typename": "", + "static": false + }, + { + "name": "mpc8377", + "typename": "", + "static": false + }, + { + "name": "7455_v1.0", + "typename": "", + "static": false + }, + { + "name": "mpc8545_v21", + "typename": "", + "static": false + }, + { + "name": "mpc8548_v11", + "typename": "", + "static": false + }, + { + "name": "405d4", + "typename": "", + "static": false + }, + { + "name": "g2le", + "typename": "", + "static": false + }, + { + "name": "g2hip3", + "typename": "", + "static": false + }, + { + "name": "750e", + "typename": "", + "static": false + }, + { + "name": "mpc8572", + "typename": "", + "static": false + }, + { + "name": "970fx_v2.0", + "typename": "", + "static": false + }, + { + "name": "750fx_v2.0", + "typename": "", + "static": false + }, + { + "name": "603p", + "typename": "", + "static": false + }, + { + "name": "405gpb", + "typename": "", + "static": false + }, + { + "name": "7400_v2.7", + "typename": "", + "static": false + }, + { + "name": "mpc8544e_v10", + "typename": "", + "static": false + }, + { + "name": "e500v2_v10", + "typename": "", + "static": false + }, + { + "name": "e500mc", + "typename": "", + "static": false + }, + { + "name": "603e7v1", + "typename": "", + "static": false + }, + { + "name": "970mp_v1.0", + "typename": "", + "static": false + }, + { + "name": "740e", + "typename": "", + "static": false + }, + { + "name": "405crc", + "typename": "", + "static": false + }, + { + "name": "403ga", + "typename": "", + "static": false + }, + { + "name": "7447a_v1.0", + "typename": "", + "static": false + }, + { + "name": "7400_v2.2", + "typename": "", + "static": false + }, + { + "name": "e300c1", + "typename": "", + "static": false + }, + { + "name": "mpc8572e", + "typename": "", + "static": false + }, + { + "name": "e500v2_v21", + "typename": "", + "static": false + }, + { + "name": "970fx_v1.0", + "typename": "", + "static": false + }, + { + "name": "750gx_v1.2", + "typename": "", + "static": false + }, + { + "name": "750fx_v1.0", + "typename": "", + "static": false + }, + { + "name": "7457_v1.1", + "typename": "", + "static": false + }, + { + "name": "970fx_v3.0", + "typename": "", + "static": false + }, + { + "name": "604e_v2.2", + "typename": "", + "static": false + }, + { + "name": "755_v2.6", + "typename": "", + "static": false + }, + { + "name": "401a1", + "typename": "", + "static": false + }, + { + "name": "power9_v1.0", + "typename": "", + "static": false + }, + { + "name": "npe405h", + "typename": "", + "static": false + }, + { + "name": "7410_v1.4", + "typename": "", + "static": false + }, + { + "name": "g2ls", + "typename": "", + "static": false + }, + { + "name": "750_v2.0", + "typename": "", + "static": false + }, + { + "name": "401b2", + "typename": "", + "static": false + }, + { + "name": "mpc8349", + "typename": "", + "static": false + }, + { + "name": "mpc8347ep", + "typename": "", + "static": false + }, + { + "name": "7445_v3.2", + "typename": "", + "static": false + }, + { + "name": "mpc8540_v21", + "typename": "", + "static": false + }, + { + "name": "mpc8543_v11", + "typename": "", + "static": false + }, + { + "name": "403gcx", + "typename": "", + "static": false + }, + { + "name": "745_v2.4", + "typename": "", + "static": false + }, + { + "name": "mpc8548_v21", + "typename": "", + "static": false + }, + { + "name": "750l_v3.2", + "typename": "", + "static": false + }, + { + "name": "750_v1.0", + "typename": "", + "static": false + }, + { + "name": "755_v1.1", + "typename": "", + "static": false + }, + { + "name": "e500_v10", + "typename": "", + "static": false + }, + { + "name": "750cxe_v3.0", + "typename": "", + "static": false + }, + { + "name": "mpc8541e_v10", + "typename": "", + "static": false + }, + { + "name": "mpc8347p", + "typename": "", + "static": false + }, + { + "name": "mpc8555e_v10", + "typename": "", + "static": false + }, + { + "name": "power9_v2.0", + "typename": "", + "static": false + }, + { + "name": "power7_v2.3", + "typename": "", + "static": false + }, + { + "name": "603e7v", + "typename": "", + "static": false + }, + { + "name": "mpc8543e_v11", + "typename": "", + "static": false + }, + { + "name": "750_v3.0", + "typename": "", + "static": false + }, + { + "name": "7400_v2.6", + "typename": "", + "static": false + }, + { + "name": "405gpa", + "typename": "", + "static": false + }, + { + "name": "440epx", + "typename": "", + "static": false + }, + { + "name": "750l_v2.2", + "typename": "", + "static": false + }, + { + "name": "e200z6", + "typename": "", + "static": false + }, + { + "name": "mpc8547e_v20", + "typename": "", + "static": false + }, + { + "name": "7457a_v1.0", + "typename": "", + "static": false + }, + { + "name": "mpc8349ea", + "typename": "", + "static": false + }, + { + "name": "e500v2_v20", + "typename": "", + "static": false + }, + { + "name": "power8nvl_v1.0", + "typename": "", + "static": false + }, + { + "name": "mpc8540_v10", + "typename": "", + "static": false + }, + { + "name": "755_v2.1", + "typename": "", + "static": false + }, + { + "name": "745_v2.8", + "typename": "", + "static": false + }, + { + "name": "npe405l", + "typename": "", + "static": false + }, + { + "name": "mpc8343ea", + "typename": "", + "static": false + }, + { + "name": "mpc8545_v20", + "typename": "", + "static": false + }, + { + "name": "mpc8548_v10", + "typename": "", + "static": false + }, + { + "name": "7448_v1.1", + "typename": "", + "static": false + }, + { + "name": "7455_v3.4", + "typename": "", + "static": false + }, + { + "name": "740_v2.2", + "typename": "", + "static": false + }, + { + "name": "7400_v1.1", + "typename": "", + "static": false + }, + { + "name": "mpc8347et", + "typename": "", + "static": false + }, + { + "name": "7441_v2.10", + "typename": "", + "static": false + }, + { + "name": "603e_v1.4", + "typename": "", + "static": false + }, + { + "name": "mpc8543_v10", + "typename": "", + "static": false + }, + { + "name": "401c2", + "typename": "", + "static": false + }, + { + "name": "7451_v2.10", + "typename": "", + "static": false + }, + { + "name": "750cx_v2.2", + "typename": "", + "static": false + }, + { + "name": "mpc8543_v21", + "typename": "", + "static": false + }, + { + "name": "603e7", + "typename": "", + "static": false + }, + { + "name": "7448_v2.1", + "typename": "", + "static": false + }, + { + "name": "7441_v2.3", + "typename": "", + "static": false + }, + { + "name": "405crb", + "typename": "", + "static": false + }, + { + "name": "604", + "typename": "", + "static": false + }, + { + "name": "7400_v2.1", + "typename": "", + "static": false + }, + { + "name": "440-xilinx-w-dfpu", + "typename": "", + "static": false + }, + { + "name": "7445_v2.1", + "typename": "", + "static": false + }, + { + "name": "cobra", + "typename": "", + "static": false + }, + { + "name": "e500_v20", + "typename": "", + "static": false + }, + { + "name": "mpc8541_v11", + "typename": "", + "static": false + }, + { + "name": "750gx_v1.1", + "typename": "", + "static": false + }, + { + "name": "750cxe_v2.4", + "typename": "", + "static": false + }, + { + "name": "mpc8641d", + "typename": "", + "static": false + }, + { + "name": "mpc8543e_v21", + "typename": "", + "static": false + }, + { + "name": "750l_v2.1", + "typename": "", + "static": false + }, + { + "name": "7457_v1.0", + "typename": "", + "static": false + }, + { + "name": "7450_v1.2", + "typename": "", + "static": false + }, + { + "name": "755_v2.5", + "typename": "", + "static": false + }, + { + "name": "7410_v1.3", + "typename": "", + "static": false + }, + { + "name": "745_v2.3", + "typename": "", + "static": false + }, + { + "name": "755_v2.0", + "typename": "", + "static": false + }, + { + "name": "e500v2_v30", + "typename": "", + "static": false + }, + { + "name": "7455_v3.3", + "typename": "", + "static": false + }, + { + "name": "mpc8540_v20", + "typename": "", + "static": false + }, + { + "name": "405d2", + "typename": "", + "static": false + }, + { + "name": "mpc8560_v21", + "typename": "", + "static": false + }, + { + "name": "mpc8343", + "typename": "", + "static": false + }, + { + "name": "mpc8548_v20", + "typename": "", + "static": false + }, + { + "name": "mpc8347t", + "typename": "", + "static": false + }, + { + "name": "755_v1.0", + "typename": "", + "static": false + }, + { + "name": "603e_v1.3", + "typename": "", + "static": false + }, + { + "name": "host", + "typename": "", + "static": false + }, + { + "name": "mpc8543e_v10", + "typename": "", + "static": false + }, + { + "name": "mpc8347eap", + "typename": "", + "static": false + }, + { + "name": "mpc8548e_v11", + "typename": "", + "static": false + }, + { + "name": "mpc8543_v20", + "typename": "", + "static": false + }, + { + "name": "401d2", + "typename": "", + "static": false + }, + { + "name": "power8_v2.0", + "typename": "", + "static": false + }, + { + "name": "740_v3.1", + "typename": "", + "static": false + }, + { + "name": "e200z5", + "typename": "", + "static": false + }, + { + "name": "405cra", + "typename": "", + "static": false + }, + { + "name": "7400_v2.0", + "typename": "", + "static": false + }, + { + "name": "750cxe_v2.3", + "typename": "", + "static": false + }, + { + "name": "745_v2.7", + "typename": "", + "static": false + }, + { + "name": "mpc8560_v10", + "typename": "", + "static": false + }, + { + "name": "e5500", + "typename": "", + "static": false + }, + { + "name": "mpc8544_v11", + "typename": "", + "static": false + }, + { + "name": "7448_v1.0", + "typename": "", + "static": false + }, + { + "name": "401e2", + "typename": "", + "static": false + }, + { + "name": "740_v2.1", + "typename": "", + "static": false + }, + { + "name": "745_v2.2", + "typename": "", + "static": false + }, + { + "name": "7400_v1.0", + "typename": "", + "static": false + }, + { + "name": "7410_v1.2", + "typename": "", + "static": false + }, + { + "name": "x2vp4", + "typename": "", + "static": false + }, + { + "name": "mpc8347ap", + "typename": "", + "static": false + }, + { + "name": "mpc8533_v11", + "typename": "", + "static": false + }, + { + "name": "mpc5200b_v21", + "typename": "", + "static": false + }, + { + "name": "750fx_v2.3", + "typename": "", + "static": false + }, + { + "name": "601_v2", + "typename": "", + "static": false + }, + { + "name": "g2legp3", + "typename": "", + "static": false + }, + { + "name": "604e_v1.0", + "typename": "", + "static": false + }, + { + "name": "750cx_v2.1", + "typename": "", + "static": false + }, + { + "name": "mpc8610", + "typename": "", + "static": false + }, + { + "name": "g2h4", + "typename": "", + "static": false + }, + { + "name": "750l_v3.0", + "typename": "", + "static": false + }, + { + "name": "mpc8377e", + "typename": "", + "static": false + }, + { + "name": "e300c4", + "typename": "", + "static": false + }, + { + "name": "mpc5200_v12", + "typename": "", + "static": false + }, + { + "name": "7448_v2.0", + "typename": "", + "static": false + }, + { + "name": "7450_v2.1", + "typename": "", + "static": false + }, + { + "name": "750cxe_v3.1b", + "typename": "", + "static": false + }, + { + "name": "g2", + "typename": "", + "static": false + }, + { + "name": "7400_v2.9", + "typename": "", + "static": false + }, + { + "name": "405gpd", + "typename": "", + "static": false + }, + { + "name": "603", + "typename": "", + "static": false + }, + { + "name": "603e7t", + "typename": "", + "static": false + }, + { + "name": "mpc8555_v11", + "typename": "", + "static": false + }, + { + "name": "750gx_v1.0", + "typename": "", + "static": false + }, + { + "name": "mpc8541_v10", + "typename": "", + "static": false + }, + { + "name": "mpc8543e_v20", + "typename": "", + "static": false + }, + { + "name": "750fl", + "typename": "", + "static": false + }, + { + "name": "750l_v2.0", + "typename": "", + "static": false + }, + { + "name": "stb04", + "typename": "", + "static": false + }, + { + "name": "mpc8548e_v21", + "typename": "", + "static": false + }, + { + "name": "x2vp20", + "typename": "", + "static": false + }, + { + "name": "405ez", + "typename": "", + "static": false + }, + { + "name": "e600", + "typename": "", + "static": false + }, + { + "name": "7450_v1.1", + "typename": "", + "static": false + }, + { + "name": "755_v2.4", + "typename": "", + "static": false + }, + { + "name": "mpc8379", + "typename": "", + "static": false + }, + { + "name": "7445_v1.0", + "typename": "", + "static": false + }, + { + "name": "7447_v1.1", + "typename": "", + "static": false + }, + { + "name": "603e_v2.2", + "typename": "", + "static": false + }, + { + "name": "603e_v4", + "typename": "", + "static": false + }, + { + "name": "g2legp", + "typename": "", + "static": false + }, + { + "name": "7455_v3.2", + "typename": "", + "static": false + }, + { + "name": "740_v2.0", + "typename": "", + "static": false + }, + { + "name": "mpc8560_v20", + "typename": "", + "static": false + }, + { + "name": "440-xilinx", + "typename": "", + "static": false + }, + { + "name": "401f2", + "typename": "", + "static": false + }, + { + "name": "mpc8533_v10", + "typename": "", + "static": false + }, + { + "name": "405gpr", + "typename": "", + "static": false + }, + { + "name": "mpc8349a", + "typename": "", + "static": false + }, + { + "name": "stb25", + "typename": "", + "static": false + }, + { + "name": "603e_v1.2", + "typename": "", + "static": false + }, + { + "name": "mpc5200b_v20", + "typename": "", + "static": false + }, + { + "name": "750fx_v2.2", + "typename": "", + "static": false + }, + { + "name": "mpc8347eat", + "typename": "", + "static": false + }, + { + "name": "740_v1.0", + "typename": "", + "static": false + }, + { + "name": "601_v1", + "typename": "", + "static": false + }, + { + "name": "745_v1.1", + "typename": "", + "static": false + }, + { + "name": "750cx_v2.0", + "typename": "", + "static": false + }, + { + "name": "mpc8548e_v10", + "typename": "", + "static": false + }, + { + "name": "7447a_v1.2", + "typename": "", + "static": false + }, + { + "name": "403gc", + "typename": "", + "static": false + }, + { + "name": "e300c3", + "typename": "", + "static": false + }, + { + "name": "mpc5200_v11", + "typename": "", + "static": false + }, + { + "name": "7441_v2.1", + "typename": "", + "static": false + }, + { + "name": "740_v3.0", + "typename": "", + "static": false + }, + { + "name": "mpc8545e_v21", + "typename": "", + "static": false + }, + { + "name": "602", + "typename": "", + "static": false + }, + { + "name": "mpc8378e", + "typename": "", + "static": false + }, + { + "name": "mpc8343a", + "typename": "", + "static": false + }, + { + "name": "460exb", + "typename": "", + "static": false + }, + { + "name": "mpc8555_v10", + "typename": "", + "static": false + }, + { + "name": "mpc8568", + "typename": "", + "static": false + }, + { + "name": "7457a_v1.2", + "typename": "", + "static": false + }, + { + "name": "750cx_v1.0", + "typename": "", + "static": false + }, + { + "name": "750cxe_v2.2", + "typename": "", + "static": false + }, + { + "name": "604e_v2.4", + "typename": "", + "static": false + }, + { + "name": "755_v2.8", + "typename": "", + "static": false + }, + { + "name": "405lp", + "typename": "", + "static": false + }, + { + "name": "745_v2.6", + "typename": "", + "static": false + }, + { + "name": "stb03", + "typename": "", + "static": false + }, + { + "name": "405ep", + "typename": "", + "static": false + }, + { + "name": "mpc8544_v10", + "typename": "", + "static": false + }, + { + "name": "mpc8347at", + "typename": "", + "static": false + }, + { + "name": "750_v2.2", + "typename": "", + "static": false + }, + { + "name": "7450_v1.0", + "typename": "", + "static": false + }, + { + "name": "755_v2.3", + "typename": "", + "static": false + }, + { + "name": "7410_v1.1", + "typename": "", + "static": false + }, + { + "name": "745_v2.1", + "typename": "", + "static": false + }, + { + "name": "750gl", + "typename": "", + "static": false + }, + { + "name": "e6500", + "typename": "", + "static": false + }, + { + "name": "750p", + "typename": "", + "static": false + }, + { + "name": "7445_v3.4", + "typename": "", + "static": false + }, + { + "name": "440epb", + "typename": "", + "static": false + }, + { + "name": "npe4gs3", + "typename": "", + "static": false + }, + { + "name": "603e_v3", + "typename": "", + "static": false + }, + { + "name": "mpc8349e", + "typename": "", + "static": false + }, + { + "name": "970_v2.2", + "typename": "", + "static": false + }, + { + "name": "g2lels", + "typename": "", + "static": false + }, + { + "name": "g2hip4", + "typename": "", + "static": false + }, + { + "name": "740p", + "typename": "", + "static": false + }, + { + "name": "mpc8567e", + "typename": "", + "static": false + }, + { + "name": "mpc8533e_v11", + "typename": "", + "static": false + }, + { + "name": "7451_v2.3", + "typename": "", + "static": false + }, + { + "name": "603e_v1.1", + "typename": "", + "static": false + }, + { + "name": "401g2", + "typename": "", + "static": false + }, + { + "name": "7400_v2.8", + "typename": "", + "static": false + }, + { + "name": "7455_v2.1", + "typename": "", + "static": false + }, + { + "name": "405gpc", + "typename": "", + "static": false + }, + { + "name": "power7+_v2.1", + "typename": "", + "static": false + }, + { + "name": "mpc8544e_v11", + "typename": "", + "static": false + }, + { + "name": "7450_v2.0", + "typename": "", + "static": false + }, + { + "name": "970mp_v1.1", + "typename": "", + "static": false + }, + { + "name": "603e7v2", + "typename": "", + "static": false + }, + { + "name": "604r", + "typename": "", + "static": false + }, + { + "name": "e500v2_v22", + "typename": "", + "static": false + }, + { + "name": "mpc8548e_v20", + "typename": "", + "static": false + }, + { + "name": "mpc8545e_v20", + "typename": "", + "static": false + }, + { + "name": "mpc8378", + "typename": "", + "static": false + }, + { + "name": "mpc8567", + "typename": "", + "static": false + }, + { + "name": "7457_v1.2", + "typename": "", + "static": false + }, + { + "name": "7447_v1.0", + "typename": "", + "static": false + }, + { + "name": "970fx_v3.1", + "typename": "", + "static": false + }, + { + "name": "745_v2.5", + "typename": "", + "static": false + }, + { + "name": "mpc8379e", + "typename": "", + "static": false + }, + { + "name": "mpc8641", + "typename": "", + "static": false + }, + { + "name": "750cxe_v2.4b", + "typename": "", + "static": false + }, + { + "name": "7410_v1.0", + "typename": "", + "static": false + }, + { + "name": "mpc603", + "typename": "", + "static": false + }, + { + "name": "603e_v4.1", + "typename": "", + "static": false + }, + { + "name": "7445_v3.3", + "typename": "", + "static": false + }, + { + "name": "440epa", + "typename": "", + "static": false + }, + { + "name": "970fx_v2.1", + "typename": "", + "static": false + }, + { + "name": "iop480", + "typename": "", + "static": false + }, + { + "name": "750fx_v2.1", + "typename": "", + "static": false + }, + { + "name": "601_v0", + "typename": "", + "static": false + }, + { + "name": "g2legp1", + "typename": "", + "static": false + }, + { + "name": "745_v1.0", + "typename": "", + "static": false + }, + { + "name": "750cl_v2.0", + "typename": "", + "static": false + }, + { + "name": "750cxr", + "typename": "", + "static": false + }, + { + "name": "401", + "typename": "", + "static": false + }, + { + "name": "mpc8541e_v11", + "typename": "", + "static": false + }, + { + "name": "750cxe_v3.1", + "typename": "", + "static": false + }, + { + "name": "mpc8555e_v11", + "typename": "", + "static": false + }, + { + "name": "power5+_v2.1", + "typename": "", + "static": false + }, + { + "name": "7447a_v1.1", + "typename": "", + "static": false + }, + { + "name": "403gb", + "typename": "", + "static": false + }, + { + "name": "e300c2", + "typename": "", + "static": false + }, + { + "name": "npe405h2", + "typename": "", + "static": false + }, + { + "name": "mpc8343e", + "typename": "", + "static": false + }, + { + "name": "mpc8533e_v10", + "typename": "", + "static": false + }, + { + "name": "mpc5200_v10", + "typename": "", + "static": false + }, + { + "name": "750_v3.1", + "typename": "", + "static": false + }, + { + "name": "power8e_v2.1", + "typename": "", + "static": false + }, + { + "name": "mpc8568e", + "typename": "", + "static": false + } ], "id": "libvirt-39" } =20 { "return": [ - "emulator" ], "id": "libvirt-40" } =20 +{ + "return": [ + "emulator" + ], + "id": "libvirt-41" +} + { "return": [ { @@ -8822,7 +8876,7 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -8884,7 +8938,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -20252,7 +20306,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.ppc64.xml index 5bee534353..340d668d29 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml @@ -157,9 +157,10 @@ + 2011090 0 - 419215 + 419968 v2.12.0-rc0 ppc64 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.12.0.s390x.replies index c4e44c6d0f..726a5fb2c8 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies @@ -3614,6 +3614,60 @@ "id": "libvirt-34" } =20 +{ + "return": [ + { + "name": "policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "share", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "host-nodes", + "type": "int" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + }, + { + "name": "type", + "type": "string" + } + ], + "id": "libvirt-35" +} + { "return": [ { @@ -3669,7 +3723,7 @@ "alias": "s390-ccw-virtio" } ], - "id": "libvirt-35" + "id": "libvirt-36" } =20 { @@ -6324,22 +6378,22 @@ "migration-safe": true } ], - "id": "libvirt-36" -} - -{ - "return": [ - ], "id": "libvirt-37" } =20 { "return": [ - "emulator" ], "id": "libvirt-38" } =20 +{ + "return": [ + "emulator" + ], + "id": "libvirt-39" +} + { "return": [ { @@ -7493,7 +7547,7 @@ "option": "drive" } ], - "id": "libvirt-39" + "id": "libvirt-40" } =20 { @@ -7555,7 +7609,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -18923,11 +18977,11 @@ "meta-type": "object" } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { - "id": "libvirt-42", + "id": "libvirt-43", "error": { "class": "GenericError", "desc": "The CPU definition 'max' is unknown." diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemuc= apabilitiesdata/caps_2.12.0.s390x.xml index 3dc65d77ae..255387e349 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml @@ -122,6 +122,7 @@ + 2011090 0 0 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/= qemucapabilitiesdata/caps_2.12.0.x86_64.replies index c086e04afd..c40046beef 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -4605,6 +4605,60 @@ "id": "libvirt-39" } =20 +{ + "return": [ + { + "name": "policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "share", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "host-nodes", + "type": "int" + }, + { + "name": "id", + "type": "string" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + }, + { + "name": "type", + "type": "string" + } + ], + "id": "libvirt-40" +} + { "return": [ { @@ -4801,7 +4855,7 @@ "cpu-max": 255 } ], - "id": "libvirt-40" + "id": "libvirt-41" } =20 { @@ -5315,7 +5369,7 @@ "migration-safe": true } ], - "id": "libvirt-41" + "id": "libvirt-42" } =20 { @@ -5323,7 +5377,7 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-42" + "id": "libvirt-43" } =20 { @@ -5331,7 +5385,7 @@ "passthrough", "emulator" ], - "id": "libvirt-43" + "id": "libvirt-44" } =20 { @@ -6618,7 +6672,7 @@ "option": "drive" } ], - "id": "libvirt-44" + "id": "libvirt-45" } =20 { @@ -6680,7 +6734,7 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -18048,196 +18102,6 @@ "meta-type": "object" } ], - "id": "libvirt-46" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "osxsave": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": false, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": false, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": false, - "xcrypt-en": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": false, - "3dnowext": false, - "npt": false, - "clwb": false, - "lbrv": false, - "adx": false, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": false, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "cx8": true, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 63, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 2, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "xop": false, - "ibpb": false, - "avx": true, - "ospke": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "vaes": false, - "xsaves": false, - "lm": true, - "umip": false, - "pse": true, - "avx2": true, - "sep": true, - "nodeid-msr": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": false, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": false, - "kvm-hint-dedicated": true, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vme": true, - "vmx": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, "id": "libvirt-47" } =20 @@ -18246,9 +18110,6 @@ "model": { "name": "base", "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, @@ -18260,34 +18121,22 @@ "xsavec": false, "intel-pt": false, "osxsave": false, - "tsc-frequency": 0, - "xd": true, - "hv-vendor-id": "", "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, "perfctr-core": false, "mpx": false, "pbe": false, - "decodeassists": false, "avx512cd": false, - "sse4_1": true, + "decodeassists": false, "sse4.1": true, - "sse4-1": true, "family": 6, - "vmware-cpuid-freq": true, "avx512f": false, "msr": true, "mce": true, "mca": true, - "hv-runtime": false, "xcrypt": false, - "thread-id": -1, "min-level": 13, "xgetbv1": false, "cid": false, - "hv-relaxed": false, - "hv-crash": false, "ds": false, "fxsr": true, "xsaveopt": true, @@ -18299,83 +18148,60 @@ "3dnowprefetch": false, "avx512vbmi2": false, "cr8legacy": false, - "cpuid-0xb": true, "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, - "cmp_legacy": false, "cmp-legacy": false, - "node-id": -1, "avx512-4fmaps": false, - "vmcb_clean": false, "vmcb-clean": false, - "3dnowext": false, "hle": false, + "3dnowext": false, "npt": false, - "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": false, "ss": true, "pni": true, - "svm_lock": false, "svm-lock": false, - "pfthreshold": false, "smep": true, "smap": false, + "pfthreshold": false, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, - "hv-stimer": false, - "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pat": true, "pae": true, + "pat": true, "sse": true, "phe-en": false, - "kvm_nopiodelay": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, - "socket-id": -1, "pcommit": false, "syscall": true, - "level": 13, "avx512dq": false, "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, "invtsc": false, - "sse3": true, "sse2": true, "est": false, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "cx8": true, - "kvm_mmu": false, "kvm-mmu": false, - "sse4_2": true, "sse4.2": true, - "sse4-2": true, "pge": true, - "fill-mtrr-mask": true, "avx512bitalg": false, - "nodeid_msr": false, "pdcm": false, - "movbe": true, "model": 63, - "nrip_save": false, + "movbe": true, "nrip-save": false, - "kvm_pv_unhalt": true, "ssse3": true, "sse4a": false, "invpcid": true, @@ -18384,7 +18210,6 @@ "fma": true, "cx16": true, "de": true, - "enforce": false, "stepping": 2, "xsave": true, "clflush": true, @@ -18392,66 +18217,47 @@ "tsc": true, "tce": false, "fpu": true, - "ibs": false, - "ds_cpl": false, "ds-cpl": false, - "host-phys-bits": false, + "ibs": false, "fma4": false, "la57": false, "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmu": false, - "pmm": false, "apic": true, + "pmm": false, "spec-ctrl": false, - "min-xlevel2": 0, "tsc-adjust": true, - "tsc_adjust": true, "kvm-steal-time": true, - "kvm_steal_time": true, "kvmclock": true, - "l3-cache": true, "lwp": false, - "ibpb": false, "xop": false, + "ibpb": false, "avx": true, "ospke": false, - "ace2": false, - "avx512bw": false, "acpi": false, - "hv-vapic": false, + "avx512bw": false, + "ace2": false, "fsgsbase": true, "ht": false, "nx": true, "pclmulqdq": true, "mmxext": false, - "vaes": false, "popcnt": true, + "vaes": false, "xsaves": false, - "tcg-cpuid": true, "lm": true, "umip": false, "pse": true, "avx2": true, "sep": true, - "pclmuldq": true, - "x-hv-max-vps": -1, "nodeid-msr": false, - "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "kvm-pv-unhalt": true, - "bmi2": true, "bmi1": true, - "realized": false, - "tsc_scale": false, + "bmi2": true, + "kvm-pv-unhalt": true, "tsc-scale": false, "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, "clflushopt": false, - "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -18459,24 +18265,18 @@ "3dnow": false, "erms": true, "lahf-lm": true, - "lahf_lm": true, "vpclmulqdq": false, "fxsr-opt": false, - "hv-synic": false, "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": true, "rtm": false, + "kvm-hint-dedicated": true, "lmce": true, - "hv-time": false, "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, "rdrand": true, "rdseed": false, "avx512-4vnniw": false, - "vmx": false, "vme": true, + "vmx": false, "dtes64": false, "mtrr": true, "rdtscp": true, @@ -18484,9 +18284,8 @@ "kvm-pv-tlb-flush": false, "tbm": false, "wdt": false, - "pause_filter": false, - "sha-ni": false, "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "sha-ni": false, "abm": true, "avx512pf": false, "xstore-en": false @@ -18501,6 +18300,9 @@ "model": { "name": "base", "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, @@ -18512,22 +18314,34 @@ "xsavec": false, "intel-pt": false, "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, "perfctr-core": false, "mpx": false, "pbe": false, - "avx512cd": false, "decodeassists": false, + "avx512cd": false, + "sse4_1": true, "sse4.1": true, + "sse4-1": true, "family": 6, + "vmware-cpuid-freq": true, "avx512f": false, "msr": true, "mce": true, "mca": true, + "hv-runtime": false, "xcrypt": false, + "thread-id": -1, "min-level": 13, "xgetbv1": false, "cid": false, + "hv-relaxed": false, + "hv-crash": false, "ds": false, "fxsr": true, "xsaveopt": true, @@ -18539,60 +18353,83 @@ "3dnowprefetch": false, "avx512vbmi2": false, "cr8legacy": false, + "cpuid-0xb": true, "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, + "cmp_legacy": false, "cmp-legacy": false, + "node-id": -1, "avx512-4fmaps": false, + "vmcb_clean": false, "vmcb-clean": false, - "hle": false, "3dnowext": false, + "hle": false, "npt": false, + "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": false, "ss": true, "pni": true, + "svm_lock": false, "svm-lock": false, + "pfthreshold": false, "smep": true, "smap": false, - "pfthreshold": false, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, + "hv-stimer": false, + "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pae": true, "pat": true, + "pae": true, "sse": true, "phe-en": false, + "kvm_nopiodelay": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, + "socket-id": -1, "pcommit": false, "syscall": true, + "level": 13, "avx512dq": false, "svm": false, - "invtsc": true, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, "sse2": true, "est": false, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "cx8": true, + "kvm_mmu": false, "kvm-mmu": false, + "sse4_2": true, "sse4.2": true, + "sse4-2": true, "pge": true, + "fill-mtrr-mask": true, "avx512bitalg": false, + "nodeid_msr": false, "pdcm": false, - "model": 63, "movbe": true, + "model": 63, + "nrip_save": false, "nrip-save": false, + "kvm_pv_unhalt": true, "ssse3": true, "sse4a": false, "invpcid": true, @@ -18601,6 +18438,7 @@ "fma": true, "cx16": true, "de": true, + "enforce": false, "stepping": 2, "xsave": true, "clflush": true, @@ -18608,47 +18446,66 @@ "tsc": true, "tce": false, "fpu": true, - "ds-cpl": false, "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, "fma4": false, "la57": false, "osvw": false, - "apic": true, + "check": true, + "hv-spinlocks": -1, + "pmu": false, "pmm": false, + "apic": true, "spec-ctrl": false, + "min-xlevel2": 0, "tsc-adjust": true, + "tsc_adjust": true, "kvm-steal-time": true, + "kvm_steal_time": true, "kvmclock": true, + "l3-cache": true, "lwp": false, - "xop": false, "ibpb": false, + "xop": false, "avx": true, "ospke": false, - "acpi": false, - "avx512bw": false, "ace2": false, + "avx512bw": false, + "acpi": false, + "hv-vapic": false, "fsgsbase": true, "ht": false, "nx": true, "pclmulqdq": true, "mmxext": false, - "popcnt": true, "vaes": false, + "popcnt": true, "xsaves": false, + "tcg-cpuid": true, "lm": true, "umip": false, "pse": true, "avx2": true, "sep": true, + "pclmuldq": true, + "x-hv-max-vps": -1, "nodeid-msr": false, + "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, "tsc-scale": false, "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, "clflushopt": false, + "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -18656,18 +18513,24 @@ "3dnow": false, "erms": true, "lahf-lm": true, + "lahf_lm": true, "vpclmulqdq": false, "fxsr-opt": false, + "hv-synic": false, "xstore": false, - "rtm": false, + "fxsr_opt": false, "kvm-hint-dedicated": true, + "rtm": false, "lmce": true, + "hv-time": false, "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, "rdrand": true, "rdseed": false, "avx512-4vnniw": false, - "vme": true, "vmx": false, + "vme": true, "dtes64": false, "mtrr": true, "rdtscp": true, @@ -18675,8 +18538,9 @@ "kvm-pv-tlb-flush": false, "tbm": false, "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "pause_filter": false, "sha-ni": false, + "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", "abm": true, "avx512pf": false, "xstore-en": false @@ -18691,9 +18555,6 @@ "model": { "name": "base", "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, "cmov": true, "ia64": false, "aes": true, @@ -18705,34 +18566,22 @@ "xsavec": false, "intel-pt": false, "osxsave": false, - "tsc-frequency": 0, - "xd": true, - "hv-vendor-id": "", "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, "perfctr-core": false, "mpx": false, "pbe": false, - "decodeassists": false, "avx512cd": false, - "sse4_1": true, + "decodeassists": false, "sse4.1": true, - "sse4-1": true, "family": 6, - "vmware-cpuid-freq": true, "avx512f": false, "msr": true, "mce": true, "mca": true, - "hv-runtime": false, "xcrypt": false, - "thread-id": -1, "min-level": 13, "xgetbv1": false, "cid": false, - "hv-relaxed": false, - "hv-crash": false, "ds": false, "fxsr": true, "xsaveopt": true, @@ -18744,83 +18593,60 @@ "3dnowprefetch": false, "avx512vbmi2": false, "cr8legacy": false, - "cpuid-0xb": true, "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, "pn": false, "dca": false, "vendor": "GenuineIntel", "pku": false, "smx": false, - "cmp_legacy": false, "cmp-legacy": false, - "node-id": -1, "avx512-4fmaps": false, - "vmcb_clean": false, "vmcb-clean": false, - "3dnowext": false, "hle": false, + "3dnowext": false, "npt": false, - "memory": "/machine/unattached/system[0]", "clwb": false, "lbrv": false, "adx": false, "ss": true, "pni": true, - "svm_lock": false, "svm-lock": false, - "pfthreshold": false, "smep": true, "smap": false, + "pfthreshold": false, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, - "hv-stimer": false, - "i64": true, "flushbyasid": false, "f16c": true, "ace2-en": false, - "pat": true, "pae": true, + "pat": true, "sse": true, "phe-en": false, - "kvm_nopiodelay": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, "hypervisor": true, - "socket-id": -1, "pcommit": false, "syscall": true, - "level": 13, "avx512dq": false, "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, "invtsc": true, - "sse3": true, "sse2": true, "est": false, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "cx8": true, - "kvm_mmu": false, "kvm-mmu": false, - "sse4_2": true, "sse4.2": true, - "sse4-2": true, "pge": true, - "fill-mtrr-mask": true, "avx512bitalg": false, - "nodeid_msr": false, "pdcm": false, - "movbe": true, "model": 63, - "nrip_save": false, + "movbe": true, "nrip-save": false, - "kvm_pv_unhalt": true, "ssse3": true, "sse4a": false, "invpcid": true, @@ -18829,7 +18655,6 @@ "fma": true, "cx16": true, "de": true, - "enforce": false, "stepping": 2, "xsave": true, "clflush": true, @@ -18837,66 +18662,47 @@ "tsc": true, "tce": false, "fpu": true, - "ibs": false, - "ds_cpl": false, "ds-cpl": false, - "host-phys-bits": false, + "ibs": false, "fma4": false, "la57": false, "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmu": false, - "pmm": false, "apic": true, + "pmm": false, "spec-ctrl": false, - "min-xlevel2": 0, "tsc-adjust": true, - "tsc_adjust": true, "kvm-steal-time": true, - "kvm_steal_time": true, "kvmclock": true, - "l3-cache": true, "lwp": false, - "ibpb": false, "xop": false, + "ibpb": false, "avx": true, "ospke": false, - "ace2": false, - "avx512bw": false, "acpi": false, - "hv-vapic": false, + "avx512bw": false, + "ace2": false, "fsgsbase": true, "ht": false, "nx": true, "pclmulqdq": true, "mmxext": false, - "vaes": false, "popcnt": true, + "vaes": false, "xsaves": false, - "tcg-cpuid": true, "lm": true, "umip": false, "pse": true, "avx2": true, "sep": true, - "pclmuldq": true, - "x-hv-max-vps": -1, "nodeid-msr": false, - "kvm": true, "misalignsse": false, "min-xlevel": 2147483656, - "kvm-pv-unhalt": true, - "bmi2": true, "bmi1": true, - "realized": false, - "tsc_scale": false, + "bmi2": true, + "kvm-pv-unhalt": true, "tsc-scale": false, "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, "clflushopt": false, - "kvm-no-smi-migration": false, "monitor": false, "avx512er": false, "pmm-en": false, @@ -18904,24 +18710,18 @@ "3dnow": false, "erms": true, "lahf-lm": true, - "lahf_lm": true, "vpclmulqdq": false, "fxsr-opt": false, - "hv-synic": false, "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": true, "rtm": false, + "kvm-hint-dedicated": true, "lmce": true, - "hv-time": false, "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, "rdrand": true, "rdseed": false, "avx512-4vnniw": false, - "vmx": false, "vme": true, + "vmx": false, "dtes64": false, "mtrr": true, "rdtscp": true, @@ -18929,9 +18729,8 @@ "kvm-pv-tlb-flush": false, "tbm": false, "wdt": false, - "pause_filter": false, - "sha-ni": false, "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "sha-ni": false, "abm": true, "avx512pf": false, "xstore-en": false @@ -18941,6 +18740,261 @@ "id": "libvirt-50" } =20 +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "osxsave": false, + "tsc-frequency": 0, + "xd": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": false, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "vmware-cpuid-freq": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": false, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": false, + "hle": false, + "npt": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": false, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": true, + "sse3": true, + "sse2": true, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "cx8": true, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 63, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": true, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 2, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmu": false, + "pmm": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "ibpb": false, + "xop": false, + "avx": true, + "ospke": false, + "ace2": false, + "avx512bw": false, + "acpi": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "vaes": false, + "popcnt": true, + "xsaves": false, + "tcg-cpuid": true, + "lm": true, + "umip": false, + "pse": true, + "avx2": true, + "sep": true, + "pclmuldq": true, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": false, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": true, + "rtm": false, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vmx": false, + "vme": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "return": { }, diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 66fc7782b8..a70370ba53 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -198,9 +198,10 @@ + 2011090 0 - 390060 + 390813 v2.12.0-rc0 x86_64 --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051374786748.4687471859894; Fri, 11 May 2018 08:09:34 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 611E33003C6F; Fri, 11 May 2018 15:09:33 +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 EF0F32016200; Fri, 11 May 2018 15:09:32 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A51ED4CAA7; Fri, 11 May 2018 15:09:32 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9TuU008543 for ; Fri, 11 May 2018 11:09:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id E011C83B6C; Fri, 11 May 2018 15:09:29 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 678E4728F5; Fri, 11 May 2018 15:09:29 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:16 +0200 Message-Id: <7dd96912564cfa041e55a18ee5e211d664c404ed.1526051215.git.mprivozn@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 5/7] conf: Move virDomainMemtune formatting into a separate function 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.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Fri, 11 May 2018 15:09:34 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" At the same time convert the code to use virXMLFormatElement. Signed-off-by: Michal Privoznik Reviewed-by: J=EF=BF=BDn Tomko --- src/conf/domain_conf.c | 114 +++++++++++++++++++++++++++------------------= ---- 1 file changed, 63 insertions(+), 51 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 5d9148c1b1..6786d81c9b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -26555,6 +26555,67 @@ virDomainIOMMUDefFormat(virBufferPtr buf, } =20 =20 +static int +virDomainMemtuneFormat(virBufferPtr buf, + const virDomainMemtune *mem) +{ + virBuffer childBuf =3D VIR_BUFFER_INITIALIZER; + int ret =3D -1; + + virBufferSetChildIndent(&childBuf, buf); + + if (virMemoryLimitIsSet(mem->hard_limit)) { + virBufferAsprintf(&childBuf, + "%llu\n", + mem->hard_limit); + } + if (virMemoryLimitIsSet(mem->soft_limit)) { + virBufferAsprintf(&childBuf, + "%llu\n", + mem->soft_limit); + } + if (mem->min_guarantee) { + virBufferAsprintf(&childBuf, + "%llu\n", + mem->min_guarantee); + } + if (virMemoryLimitIsSet(mem->swap_hard_limit)) { + virBufferAsprintf(&childBuf, + "%llu\n", + mem->swap_hard_limit); + } + + if (virXMLFormatElement(buf, "memtune", NULL, &childBuf) < 0) + goto cleanup; + + virBufferSetChildIndent(&childBuf, buf); + + if (mem->nhugepages) + virDomainHugepagesFormat(&childBuf, mem->hugepages, mem->nhugepage= s); + if (mem->nosharepages) + virBufferAddLit(&childBuf, "\n"); + if (mem->locked) + virBufferAddLit(&childBuf, "\n"); + if (mem->source) + virBufferAsprintf(&childBuf, "\n", + virDomainMemorySourceTypeToString(mem->source)); + if (mem->access) + virBufferAsprintf(&childBuf, "\n", + virDomainMemoryAccessTypeToString(mem->access)); + if (mem->allocation) + virBufferAsprintf(&childBuf, "\n", + virDomainMemoryAllocationTypeToString(mem->alloc= ation)); + + if (virXMLFormatElement(buf, "memoryBacking", NULL, &childBuf) < 0) + goto cleanup; + + ret =3D 0; + cleanup: + virBufferFreeAndReset(&childBuf); + return ret; +} + + /* This internal version appends to an existing buffer * (possibly with auto-indent), rather than flattening * to string. @@ -26693,57 +26754,8 @@ virDomainDefFormatInternal(virDomainDefPtr def, } virBufferFreeAndReset(&childrenBuf); =20 - /* add memtune only if there are any */ - if (virMemoryLimitIsSet(def->mem.hard_limit) || - virMemoryLimitIsSet(def->mem.soft_limit) || - virMemoryLimitIsSet(def->mem.swap_hard_limit) || - def->mem.min_guarantee) { - virBufferAddLit(buf, "\n"); - virBufferAdjustIndent(buf, 2); - if (virMemoryLimitIsSet(def->mem.hard_limit)) { - virBufferAsprintf(buf, "" - "%llu\n", def->mem.hard_limit); - } - if (virMemoryLimitIsSet(def->mem.soft_limit)) { - virBufferAsprintf(buf, "" - "%llu\n", def->mem.soft_limit); - } - if (def->mem.min_guarantee) { - virBufferAsprintf(buf, "" - "%llu\n", def->mem.min_guara= ntee); - } - if (virMemoryLimitIsSet(def->mem.swap_hard_limit)) { - virBufferAsprintf(buf, "" - "%llu\n", def->mem.swap_ha= rd_limit); - } - virBufferAdjustIndent(buf, -2); - virBufferAddLit(buf, "\n"); - } - - if (def->mem.nhugepages || def->mem.nosharepages || def->mem.locked - || def->mem.source || def->mem.access || def->mem.allocation) - { - virBufferAddLit(buf, "\n"); - virBufferAdjustIndent(buf, 2); - if (def->mem.nhugepages) - virDomainHugepagesFormat(buf, def->mem.hugepages, def->mem.nhu= gepages); - if (def->mem.nosharepages) - virBufferAddLit(buf, "\n"); - if (def->mem.locked) - virBufferAddLit(buf, "\n"); - if (def->mem.source) - virBufferAsprintf(buf, "\n", - virDomainMemorySourceTypeToString(def->mem.source)); - if (def->mem.access) - virBufferAsprintf(buf, "\n", - virDomainMemoryAccessTypeToString(def->mem.access)); - if (def->mem.allocation) - virBufferAsprintf(buf, "\n", - virDomainMemoryAllocationTypeToString(def->mem.allocation)= ); - - virBufferAdjustIndent(buf, -2); - virBufferAddLit(buf, "\n"); - } + if (virDomainMemtuneFormat(buf, &def->mem) < 0) + goto error; =20 if (virDomainCpuDefFormat(buf, def) < 0) goto error; --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051385032668.8821261435883; Fri, 11 May 2018 08:09:45 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AC68C30C54F9; Fri, 11 May 2018 15:09:43 +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 7BAF42015992; Fri, 11 May 2018 15:09: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 353B34CAA7; Fri, 11 May 2018 15:09:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9UqV008551 for ; Fri, 11 May 2018 11:09:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9F11483B6B; Fri, 11 May 2018 15:09:30 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 25F53728F5; Fri, 11 May 2018 15:09:30 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:17 +0200 Message-Id: <331424013ed60549476eefa5fabc7df2226b7369.1526051215.git.mprivozn@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 6/7] conf: Introduce memoryBacking/discard 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.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Fri, 11 May 2018 15:09:44 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" QEMU has possibility to call madvise(.., MADV_REMOVE) in some cases. Expose this feature to users by new element/attribute discard. Signed-off-by: Michal Privoznik Reviewed-by: J=EF=BF=BDn Tomko --- docs/formatdomain.html.in | 34 +++++++++++++++++++++++= -- docs/schemas/cputypes.rng | 5 ++++ docs/schemas/domaincommon.rng | 10 ++++++++ src/conf/domain_conf.c | 36 +++++++++++++++++++++++= +++- src/conf/domain_conf.h | 3 +++ src/conf/numa_conf.c | 27 ++++++++++++++++++++ src/conf/numa_conf.h | 3 +++ src/libvirt_private.syms | 1 + tests/qemuxml2argvdata/hugepages-pages.xml | 3 ++- tests/qemuxml2argvdata/hugepages-pages3.xml | 4 +-- tests/qemuxml2argvdata/hugepages-pages7.xml | 4 +-- tests/qemuxml2xmloutdata/hugepages-pages.xml | 3 ++- tests/qemuxml2xmloutdata/hugepages-pages3.xml | 4 +-- 13 files changed, 126 insertions(+), 11 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 072f9a0fdc..80172c18d0 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1016,6 +1016,7 @@ <source type=3D"file|anonymous"/> <access mode=3D"shared|private"/> <allocation mode=3D"immediate|ondemand"/> + <discard/> </memoryBacking> ... </domain> @@ -1070,6 +1071,14 @@ numa node by memAccess
allocation
Specify when allocate the memory
+
discard
+
When set and supported by hypervisor the memory + content is discarded just before guest shuts down (or + when DIMM module is unplugged). Please note that this is + just an optimization and is not guaranteed to work in + all cases (e.g. when hypervisor crashes). + Since 4.4.0 (QEMU/KVM only) +
=20 =20 @@ -1608,7 +1617,7 @@ <cpu> ... <numa> - <cell id=3D'0' cpus=3D'0-3' memory=3D'512000' unit=3D'KiB'/> + <cell id=3D'0' cpus=3D'0-3' memory=3D'512000' unit=3D'KiB' discard= =3D'yes'/> <cell id=3D'1' cpus=3D'4-7' memory=3D'512000' unit=3D'KiB' memAcces= s=3D'shared'/> </numa> ... @@ -1634,6 +1643,13 @@ memAccess can control whether the memory is to be mapped as "shared" or "private". This is valid only for hugepages-backed memory and nvdimm modules. + + Each cell element can have an optional + discard attribute which fine tunes the discard + feature for given numa node as described under + Memory Backing. + Accepted values are yes and no. + Since 4.4.0

=20

@@ -7883,7 +7899,7 @@ qemu-kvm -net nic,model=3D? /dev/null

 ...
 <devices>
-  <memory model=3D'dimm' access=3D'private'>
+  <memory model=3D'dimm' access=3D'private' discard=3D'yes'>
     <target>
       <size unit=3D'KiB'>524287</size>
       <node>0</node>
@@ -7937,6 +7953,20 @@ qemu-kvm -net nic,model=3D? /dev/null
         

=20 +
discard
+
+

+ An optional attribute discard + (since 4.4.0) that provides + capability to fine tune discard of data on per module + basis. Accepted values are yes and + no. The feature is described here: + Memory Backing. + This attribute is allowed only for + model=3D'dimm'. +

+
+
source

diff --git a/docs/schemas/cputypes.rng b/docs/schemas/cputypes.rng index c45b6dfb28..1f1e0e36d5 100644 --- a/docs/schemas/cputypes.rng +++ b/docs/schemas/cputypes.rng @@ -129,6 +129,11 @@ + + + + + diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 8c446ca418..13af5b74a4 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -633,6 +633,11 @@ + + + + + @@ -5124,6 +5129,11 @@ + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6786d81c9b..86229db654 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5516,6 +5516,20 @@ virDomainVideoDefValidate(const virDomainVideoDef *v= ideo) } =20 =20 +static int +virDomainMemoryDefValidate(const virDomainMemoryDef *mem) +{ + if (mem->model =3D=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM && + mem->discard =3D=3D VIR_TRISTATE_BOOL_YES) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("discard is not supported for nvdimms")); + return -1; + } + + return 0; +} + + static int virDomainDeviceDefValidateInternal(const virDomainDeviceDef *dev, const virDomainDef *def) @@ -5548,6 +5562,9 @@ virDomainDeviceDefValidateInternal(const virDomainDev= iceDef *dev, case VIR_DOMAIN_DEVICE_VIDEO: return virDomainVideoDefValidate(dev->data.video); =20 + case VIR_DOMAIN_DEVICE_MEMORY: + return virDomainMemoryDefValidate(dev->data.memory); + case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_FS: case VIR_DOMAIN_DEVICE_INPUT: @@ -5560,7 +5577,6 @@ virDomainDeviceDefValidateInternal(const virDomainDev= iceDef *dev, case VIR_DOMAIN_DEVICE_SHMEM: case VIR_DOMAIN_DEVICE_TPM: case VIR_DOMAIN_DEVICE_PANIC: - case VIR_DOMAIN_DEVICE_MEMORY: case VIR_DOMAIN_DEVICE_IOMMU: case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_LAST: @@ -15673,6 +15689,16 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr x= mlopt, } VIR_FREE(tmp); =20 + if ((tmp =3D virXMLPropString(memdevNode, "discard"))) { + if ((val =3D virTristateBoolTypeFromString(tmp)) <=3D 0) { + virReportError(VIR_ERR_XML_ERROR, + _("invalid discard value '%s'"), tmp); + goto error; + } + + def->discard =3D val; + } + /* source */ if ((node =3D virXPathNode("./source", ctxt)) && virDomainMemorySourceDefParseXML(node, ctxt, def) < 0) @@ -18999,6 +19025,9 @@ virDomainDefParseXML(xmlDocPtr xml, if (virXPathBoolean("boolean(./memoryBacking/locked)", ctxt)) def->mem.locked =3D true; =20 + if (virXPathBoolean("boolean(./memoryBacking/discard)", ctxt)) + def->mem.discard =3D VIR_TRISTATE_BOOL_YES; + /* Extract blkio cgroup tunables */ if (virXPathUInt("string(./blkiotune/weight)", ctxt, &def->blkio.weight) < 0) @@ -25259,6 +25288,9 @@ virDomainMemoryDefFormat(virBufferPtr buf, if (def->access) virBufferAsprintf(buf, " access=3D'%s'", virDomainMemoryAccessTypeToString(def->access)); + if (def->discard) + virBufferAsprintf(buf, " discard=3D'%s'", + virTristateBoolTypeToString(def->discard)); virBufferAddLit(buf, ">\n"); virBufferAdjustIndent(buf, 2); =20 @@ -26605,6 +26637,8 @@ virDomainMemtuneFormat(virBufferPtr buf, if (mem->allocation) virBufferAsprintf(&childBuf, "\n", virDomainMemoryAllocationTypeToString(mem->alloc= ation)); + if (mem->discard) + virBufferAddLit(&childBuf, "\n"); =20 if (virXMLFormatElement(buf, "memoryBacking", NULL, &childBuf) < 0) goto cleanup; diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 15d228ba9e..07d04fb2f9 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2105,6 +2105,7 @@ typedef enum { =20 struct _virDomainMemoryDef { virDomainMemoryAccess access; + virTristateBool discard; =20 /* source */ virBitmapPtr sourceNodes; @@ -2267,6 +2268,8 @@ struct _virDomainMemtune { int source; /* enum virDomainMemorySource */ int access; /* enum virDomainMemoryAccess */ int allocation; /* enum virDomainMemoryAllocation */ + + virTristateBool discard; }; =20 typedef struct _virDomainPowerManagement virDomainPowerManagement; diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 9307dd93d3..bf42946a99 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -77,6 +77,7 @@ struct _virDomainNuma { virBitmapPtr nodeset; /* host memory nodes where this guest node= resides */ virDomainNumatuneMemMode mode; /* memory mode selection */ virDomainMemoryAccess memAccess; /* shared memory access configura= tion */ + int discard; /* discard-data for memory-backend-file, virTristateB= ool */ =20 struct _virDomainNumaDistance { unsigned int value; /* locality value for node i->j or j->i */ @@ -947,6 +948,18 @@ virDomainNumaDefCPUParseXML(virDomainNumaPtr def, VIR_FREE(tmp); } =20 + if ((tmp =3D virXMLPropString(nodes[i], "discard"))) { + if ((rc =3D virTristateBoolTypeFromString(tmp)) <=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Invalid 'discard' attribute value '%s'"), + tmp); + goto cleanup; + } + + def->mem_nodes[cur_cell].discard =3D rc; + VIR_FREE(tmp); + } + /* Parse NUMA distances info */ if (virDomainNumaDefNodeDistanceParseXML(def, ctxt, cur_cell) < 0) goto cleanup; @@ -967,6 +980,7 @@ virDomainNumaDefCPUFormatXML(virBufferPtr buf, virDomainNumaPtr def) { virDomainMemoryAccess memAccess; + int discard; char *cpustr; size_t ncells =3D virDomainNumaGetNodeCount(def); size_t i; @@ -980,6 +994,7 @@ virDomainNumaDefCPUFormatXML(virBufferPtr buf, int ndistances; =20 memAccess =3D virDomainNumaGetNodeMemoryAccessMode(def, i); + discard =3D virDomainNumaGetNodeDiscard(def, i); =20 if (!(cpustr =3D virBitmapFormat(virDomainNumaGetNodeCpumask(def, = i)))) return -1; @@ -994,6 +1009,10 @@ virDomainNumaDefCPUFormatXML(virBufferPtr buf, virBufferAsprintf(buf, " memAccess=3D'%s'", virDomainMemoryAccessTypeToString(memAccess)= ); =20 + if (discard) + virBufferAsprintf(buf, " discard=3D'%s'", + virTristateBoolTypeToString(discard)); + ndistances =3D def->mem_nodes[i].ndistances; if (ndistances =3D=3D 0) { virBufferAddLit(buf, "/>\n"); @@ -1304,6 +1323,14 @@ virDomainNumaGetNodeMemoryAccessMode(virDomainNumaPt= r numa, } =20 =20 +virTristateBool +virDomainNumaGetNodeDiscard(virDomainNumaPtr numa, + size_t node) +{ + return numa->mem_nodes[node].discard; +} + + unsigned long long virDomainNumaGetNodeMemorySize(virDomainNumaPtr numa, size_t node) diff --git a/src/conf/numa_conf.h b/src/conf/numa_conf.h index 7947fdb219..85269be565 100644 --- a/src/conf/numa_conf.h +++ b/src/conf/numa_conf.h @@ -102,6 +102,9 @@ virBitmapPtr virDomainNumaGetNodeCpumask(virDomainNumaP= tr numa, virDomainMemoryAccess virDomainNumaGetNodeMemoryAccessMode(virDomainNumaPt= r numa, size_t node) ATTRIBUTE_NONNULL(1); +virTristateBool virDomainNumaGetNodeDiscard(virDomainNumaPtr numa, + size_t node) + ATTRIBUTE_NONNULL(1); unsigned long long virDomainNumaGetNodeMemorySize(virDomainNumaPtr numa, size_t node) ATTRIBUTE_NONNULL(1); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5fea1bca41..d28a751ebd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -750,6 +750,7 @@ virDomainNumaGetMaxCPUID; virDomainNumaGetMemorySize; virDomainNumaGetNodeCount; virDomainNumaGetNodeCpumask; +virDomainNumaGetNodeDiscard; virDomainNumaGetNodeDistance; virDomainNumaGetNodeMemoryAccessMode; virDomainNumaGetNodeMemorySize; diff --git a/tests/qemuxml2argvdata/hugepages-pages.xml b/tests/qemuxml2arg= vdata/hugepages-pages.xml index f9270782d4..cba83e754c 100644 --- a/tests/qemuxml2argvdata/hugepages-pages.xml +++ b/tests/qemuxml2argvdata/hugepages-pages.xml @@ -8,6 +8,7 @@ + 4 @@ -21,7 +22,7 @@ - + diff --git a/tests/qemuxml2argvdata/hugepages-pages3.xml b/tests/qemuxml2ar= gvdata/hugepages-pages3.xml index 3d3b3f3cc3..147acc4c95 100644 --- a/tests/qemuxml2argvdata/hugepages-pages3.xml +++ b/tests/qemuxml2argvdata/hugepages-pages3.xml @@ -15,8 +15,8 @@ - - + + diff --git a/tests/qemuxml2argvdata/hugepages-pages7.xml b/tests/qemuxml2ar= gvdata/hugepages-pages7.xml index d75cf5afa3..28c72f85a7 100644 --- a/tests/qemuxml2argvdata/hugepages-pages7.xml +++ b/tests/qemuxml2argvdata/hugepages-pages7.xml @@ -43,7 +43,7 @@

- + 1-3 1048576 @@ -54,7 +54,7 @@
- + 524287 0 diff --git a/tests/qemuxml2xmloutdata/hugepages-pages.xml b/tests/qemuxml2x= mloutdata/hugepages-pages.xml index 498610a217..292454588e 100644 --- a/tests/qemuxml2xmloutdata/hugepages-pages.xml +++ b/tests/qemuxml2xmloutdata/hugepages-pages.xml @@ -8,6 +8,7 @@ + 4 @@ -21,7 +22,7 @@ - + diff --git a/tests/qemuxml2xmloutdata/hugepages-pages3.xml b/tests/qemuxml2= xmloutdata/hugepages-pages3.xml index be21c3eddd..90e6efa5ea 100644 --- a/tests/qemuxml2xmloutdata/hugepages-pages3.xml +++ b/tests/qemuxml2xmloutdata/hugepages-pages3.xml @@ -15,8 +15,8 @@ - - + + --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu Apr 25 19:52:34 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=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526051390006746.0211665634216; Fri, 11 May 2018 08:09:50 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8210216B; Fri, 11 May 2018 15:09:48 +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 51CC530012DA; Fri, 11 May 2018 15:09:48 +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 0EAB43FCFC; Fri, 11 May 2018 15:09:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4BF9V13008566 for ; Fri, 11 May 2018 11:09:31 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5DDE0728F5; Fri, 11 May 2018 15:09:31 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id D944783B79; Fri, 11 May 2018 15:09:30 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Fri, 11 May 2018 17:09:18 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: jtomko@redhat.com Subject: [libvirt] [PATCH v5 7/7] qemu: Implement memoryBacking/discard 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.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 11 May 2018 15:09:49 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" https://bugzilla.redhat.com/show_bug.cgi?id=3D1480668 QEMU has this new feature memory-backend-file.discard-data=3Dyes which is a nifty optimization. Basically, when qemu is quitting or on memory hotplug it calls munmap() and close() on the file that is backing the memory. However, this does not mean kernel won't stop touching that part of memory. It still might. With this feature enabled we tell kernel: "we don't need this memory nor data stored in it". This makes kernel drop the memory immediately without trying to sync memory with the mapped file. Unfortunately, this cannot be turned on by default because we can't be sure when users really don't care about what happens to data after qemu dies. So it has to be opt-in. As usual, there are three places where one can configure memory attributes. This patch adds the feature to all of them. Signed-off-by: Michal Privoznik Reviewed-by: J=EF=BF=BDn Tomko --- src/qemu/qemu_command.c | 27 ++++++++++++++++++++++++= --- tests/qemuxml2argvdata/hugepages-pages.args | 12 ++++++------ tests/qemuxml2argvdata/hugepages-pages3.args | 3 ++- tests/qemuxml2argvdata/hugepages-pages7.args | 3 ++- tests/qemuxml2argvtest.c | 9 ++++++--- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 81a9811d14..11ad77f145 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3029,6 +3029,7 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendPro= ps, unsigned long long pagesize =3D mem->pagesize; bool needHugepage =3D !!pagesize; bool useHugepage =3D !!pagesize; + int discard =3D mem->discard; =20 /* The difference between @needHugepage and @useHugepage is that the l= atter * is true whenever huge page is defined for the current memory cell. @@ -3039,8 +3040,7 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendPro= ps, *backendProps =3D NULL; *backendType =3D NULL; =20 - if (memAccess =3D=3D VIR_DOMAIN_MEMORY_ACCESS_DEFAULT && - mem->targetNode >=3D 0) { + if (mem->targetNode >=3D 0) { /* memory devices could provide a invalid guest node */ if (mem->targetNode >=3D virDomainNumaGetNodeCount(def->numa)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -3050,12 +3050,19 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendP= rops, return -1; } =20 - memAccess =3D virDomainNumaGetNodeMemoryAccessMode(def->numa, mem-= >targetNode); + if (memAccess =3D=3D VIR_DOMAIN_MEMORY_ACCESS_DEFAULT) + memAccess =3D virDomainNumaGetNodeMemoryAccessMode(def->numa, = mem->targetNode); + + if (discard =3D=3D VIR_TRISTATE_BOOL_ABSENT) + discard =3D virDomainNumaGetNodeDiscard(def->numa, mem->target= Node); } =20 if (memAccess =3D=3D VIR_DOMAIN_MEMORY_ACCESS_DEFAULT) memAccess =3D def->mem.access; =20 + if (discard =3D=3D VIR_TRISTATE_BOOL_ABSENT) + discard =3D def->mem.discard; + if (virDomainNumatuneGetMode(def->numa, mem->targetNode, &mode) < 0 && virDomainNumatuneGetMode(def->numa, -1, &mode) < 0) mode =3D VIR_DOMAIN_NUMATUNE_MEM_STRICT; @@ -3143,6 +3150,20 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendPr= ops, NULL) < 0) goto cleanup; =20 + if (!mem->nvdimmPath && + discard =3D=3D VIR_TRISTATE_BOOL_YES) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DIS= CARD)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("this QEMU doesn't support memory discard= ")); + goto cleanup; + } + + if (virJSONValueObjectAdd(props, + "B:discard-data", true, + NULL) < 0) + goto cleanup; + } + switch (memAccess) { case VIR_DOMAIN_MEMORY_ACCESS_SHARED: if (virJSONValueObjectAdd(props, "b:share", true, NULL) < 0) diff --git a/tests/qemuxml2argvdata/hugepages-pages.args b/tests/qemuxml2ar= gvdata/hugepages-pages.args index 7ece0272a0..b52cd581d5 100644 --- a/tests/qemuxml2argvdata/hugepages-pages.args +++ b/tests/qemuxml2argvdata/hugepages-pages.args @@ -11,20 +11,20 @@ QEMU_AUDIO_DRV=3Dnone \ -m 4096 \ -smp 4,sockets=3D4,cores=3D1,threads=3D1 \ -object memory-backend-file,id=3Dram-node0,prealloc=3Dyes,\ -mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,size=3D1073741824,\ -host-nodes=3D0-3,policy=3Dbind \ +mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,discard-data=3Dyes,\ +size=3D1073741824,host-nodes=3D0-3,policy=3Dbind \ -numa node,nodeid=3D0,cpus=3D0,memdev=3Dram-node0 \ -object memory-backend-file,id=3Dram-node1,prealloc=3Dyes,\ mem-path=3D/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,size=3D1073741824,\ host-nodes=3D0-3,policy=3Dbind \ -numa node,nodeid=3D1,cpus=3D1,memdev=3Dram-node1 \ -object memory-backend-file,id=3Dram-node2,prealloc=3Dyes,\ -mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,size=3D1073741824,\ -host-nodes=3D0-3,policy=3Dbind \ +mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,discard-data=3Dyes,\ +size=3D1073741824,host-nodes=3D0-3,policy=3Dbind \ -numa node,nodeid=3D2,cpus=3D2,memdev=3Dram-node2 \ -object memory-backend-file,id=3Dram-node3,prealloc=3Dyes,\ -mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,size=3D1073741824,\ -host-nodes=3D3,policy=3Dbind \ +mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,discard-data=3Dyes,\ +size=3D1073741824,host-nodes=3D3,policy=3Dbind \ -numa node,nodeid=3D3,cpus=3D3,memdev=3Dram-node3 \ -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ -display none \ diff --git a/tests/qemuxml2argvdata/hugepages-pages3.args b/tests/qemuxml2a= rgvdata/hugepages-pages3.args index 2fc701ca22..d55265cdd8 100644 --- a/tests/qemuxml2argvdata/hugepages-pages3.args +++ b/tests/qemuxml2argvdata/hugepages-pages3.args @@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=3Dnone \ -object memory-backend-ram,id=3Dram-node0,size=3D268435456 \ -numa node,nodeid=3D0,cpus=3D0,memdev=3Dram-node0 \ -object memory-backend-file,id=3Dram-node1,prealloc=3Dyes,\ -mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-SomeDummyHugepagesGu,size=3D80= 5306368 \ +mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-SomeDummyHugepagesGu,\ +discard-data=3Dyes,size=3D805306368 \ -numa node,nodeid=3D1,cpus=3D1,memdev=3Dram-node1 \ -uuid ef1bdff4-27f3-4e85-a807-5fb4d58463cc \ -display none \ diff --git a/tests/qemuxml2argvdata/hugepages-pages7.args b/tests/qemuxml2a= rgvdata/hugepages-pages7.args index 1cb598d692..02a98026eb 100644 --- a/tests/qemuxml2argvdata/hugepages-pages7.args +++ b/tests/qemuxml2argvdata/hugepages-pages7.args @@ -18,7 +18,8 @@ mem-path=3D/dev/hugepages1G/libvirt/qemu/-1-fedora,size= =3D1073741824,\ host-nodes=3D1-3,policy=3Dbind \ -device pc-dimm,node=3D0,memdev=3Dmemdimm0,id=3Ddimm0,slot=3D0 \ -object memory-backend-file,id=3Dmemdimm1,prealloc=3Dyes,\ -mem-path=3D/dev/hugepages2M/libvirt/qemu/-1-fedora,share=3Dno,size=3D53687= 0912 \ +mem-path=3D/dev/hugepages2M/libvirt/qemu/-1-fedora,discard-data=3Dyes,shar= e=3Dno,\ +size=3D536870912 \ -device pc-dimm,node=3D0,memdev=3Dmemdimm1,id=3Ddimm1,slot=3D1 \ -uuid 63840878-0deb-4095-97e6-fc444d9bc9fa \ -display none \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 756ca7a77f..d4d64b0d21 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -919,11 +919,13 @@ mymain(void) QEMU_CAPS_OBJECT_MEMORY_FILE); DO_TEST("hugepages-pages", QEMU_CAPS_OBJECT_MEMORY_RAM, - QEMU_CAPS_OBJECT_MEMORY_FILE); + QEMU_CAPS_OBJECT_MEMORY_FILE, + QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD); DO_TEST("hugepages-pages2", QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE); DO_TEST("hugepages-pages3", QEMU_CAPS_OBJECT_MEMORY_RAM, - QEMU_CAPS_OBJECT_MEMORY_FILE); + QEMU_CAPS_OBJECT_MEMORY_FILE, + QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD); DO_TEST("hugepages-shared", QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE); @@ -933,7 +935,8 @@ mymain(void) DO_TEST("hugepages-pages5", NONE); DO_TEST("hugepages-pages6", NONE); DO_TEST("hugepages-pages7", - QEMU_CAPS_DEVICE_PC_DIMM, QEMU_CAPS_OBJECT_MEMORY_FILE); + QEMU_CAPS_DEVICE_PC_DIMM, QEMU_CAPS_OBJECT_MEMORY_FILE, + QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD); DO_TEST("hugepages-memaccess", QEMU_CAPS_OBJECT_MEMORY_FILE, QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_DEVICE_PC_DIMM, QEMU_CAPS_NUMA); --=20 2.16.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list