Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 19 participants
- 40177 discussions
07 Mar '18
In certain cases a xml contains paths that do not yet exist, but
are valid as qemu will create them later on - for example
vhostuser mode=server sockets.
In any such cases so far the check to virFileExists failed and due to
that the paths stayed non-resolved in regard to symlinks.
But for apparmor those non-resolved rules are non functional as they
are evaluated after resolving any symlinks.
Therefore for non-existent files and partially non-existent paths
resolve as much as possible to get valid rules.
Example:
<interface type='vhostuser'>
<model type='virtio'/>
<source type='unix'
path='/var/run/symlinknet'
mode='server'/>
</interface>
Got rendered as:
"/var/run/symlinknet" rw,
But correct with "/var/run" being a symlink to "/run" is:
"/run/symlinknet" rw,
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
src/security/virt-aa-helper.c | 45 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 38 insertions(+), 7 deletions(-)
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index ff0068c..91bc339 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -41,6 +41,7 @@
#include "viralloc.h"
#include "vircommand.h"
#include "virlog.h"
+#include "dirname.h"
#include "driver.h"
#include "security_driver.h"
@@ -752,6 +753,9 @@ vah_add_path(virBufferPtr buf, const char *path, const char *perms, bool recursi
bool explicit_deny_rule = true;
char *sub = NULL;
char *perms_new = NULL;
+ char *pathdir = NULL;
+ char *pathtmp = NULL;
+ char *pathreal = NULL;
if (path == NULL)
return rc;
@@ -766,14 +770,38 @@ vah_add_path(virBufferPtr buf, const char *path, const char *perms, bool recursi
return 0;
}
- if (virFileExists(path)) {
- if ((tmp = realpath(path, NULL)) == NULL) {
- vah_error(NULL, 0, path);
- vah_error(NULL, 0, _("could not find realpath for disk"));
- return rc;
+ /* files might be created by qemu later on and not exist right now.
+ * But realpath needs a valid path to work on, therefore:
+ * 1. walk the path to find longest valid path
+ * 2. get the realpath of that valid path
+ * 3. re-combine the realpath with the remaining suffix
+ * Note: A totally non existent path is used as-is
+ */
+ if ((pathdir = mdir_name(path)) == NULL)
+ goto cleanup;
+ while (!virFileExists(pathdir)) {
+ if (VIR_STRDUP_QUIET(pathtmp, pathdir) < 0)
+ goto cleanup;
+ VIR_FREE(pathdir);
+ if ((pathdir = mdir_name(pathtmp)) == NULL)
+ goto cleanup;
+ VIR_FREE(pathtmp);
+ }
+
+ if (strlen(pathdir) == 1) {
+ /* nothing of the path does exist yet */
+ if (VIR_STRDUP_QUIET(tmp, path) < 0)
+ goto cleanup;
+ } else {
+ if (VIR_STRDUP_QUIET(pathtmp, path+strlen(pathdir)) < 0)
+ goto cleanup;
+ if ((pathreal = realpath(pathdir, NULL)) == NULL) {
+ vah_error(NULL, 0, pathdir);
+ vah_error(NULL, 0, _("could not find realpath"));
+ goto cleanup;
}
- } else if (VIR_STRDUP_QUIET(tmp, path) < 0) {
- return rc;
+ if (virAsprintfQuiet(&tmp, "%s%s", pathreal, pathtmp) < 0)
+ goto cleanup;
}
if (VIR_STRDUP_QUIET(perms_new, perms) < 0)
@@ -814,6 +842,9 @@ vah_add_path(virBufferPtr buf, const char *path, const char *perms, bool recursi
}
cleanup:
+ VIR_FREE(pathdir);
+ VIR_FREE(pathtmp);
+ VIR_FREE(pathreal);
VIR_FREE(perms_new);
VIR_FREE(tmp);
--
2.7.4
2
3
[libvirt] [PATCH] util: mdev: Treat the 'name' sysfs attribute as optional
by Erik Skultety 07 Mar '18
by Erik Skultety 07 Mar '18
07 Mar '18
When commit 3545cbef moved the sysfs attribute reading logic from
_udev.c module to virmdev.c, it had to replace our udev read wrappers
with the ones available from virfile.c. The problem is that the original
logic worked correctly with udev read wrappers which don't return an
error code for a missing attribute, virfile.c readers however - not so
much. Therefore add another parameter to the macro, so we can again
accept the fact that optional attributes may be missing.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
src/util/virmdev.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/util/virmdev.c b/src/util/virmdev.c
index 124933506..688f2efb5 100644
--- a/src/util/virmdev.c
+++ b/src/util/virmdev.c
@@ -505,10 +505,13 @@ virMediatedDeviceTypeReadAttrs(const char *sysfspath,
int ret = -1;
virMediatedDeviceTypePtr tmp = NULL;
-#define MDEV_GET_SYSFS_ATTR(attr, dst, cb) \
+#define MDEV_GET_SYSFS_ATTR(attr, dst, cb, optional) \
do { \
- if (cb(dst, "%s/%s", sysfspath, attr) < 0) \
- goto cleanup; \
+ errno = 0; \
+ if (cb(dst, "%s/%s", sysfspath, attr) < 0) { \
+ if (errno != ENOENT || !optional) \
+ goto cleanup; \
+ } \
} while (0)
if (VIR_ALLOC(tmp) < 0)
@@ -517,10 +520,12 @@ virMediatedDeviceTypeReadAttrs(const char *sysfspath,
if (VIR_STRDUP(tmp->id, last_component(sysfspath)) < 0)
goto cleanup;
- MDEV_GET_SYSFS_ATTR("name", &tmp->name, virFileReadValueString);
- MDEV_GET_SYSFS_ATTR("device_api", &tmp->device_api, virFileReadValueString);
+ /* @name sysfs attribute is optional, so getting ENOENT is fine */
+ MDEV_GET_SYSFS_ATTR("name", &tmp->name, virFileReadValueString, true);
+ MDEV_GET_SYSFS_ATTR("device_api", &tmp->device_api,
+ virFileReadValueString, false);
MDEV_GET_SYSFS_ATTR("available_instances", &tmp->available_instances,
- virFileReadValueUint);
+ virFileReadValueUint, false);
#undef MDEV_GET_SYSFS_ATTR
--
2.13.6
2
4
07 Mar '18
Applies cleanly on top of 328b8dbe8bee9939c7108fdec4fda05fd02511f6.
Changes from [v4]:
* patch 1/12 is new;
* use virReportEnumRangeError(), as suggested by laine.
Changes from [v3]:
* don't introduce new test cases that won't be able to provide
full test coverage anyway, as suggested by laine.
Changes from [v2]:
* replace the old implementation bit by bit using a clever trick
suggested by pkrempa;
* don't move QEMU capability validation;
* add a default: label to all switch statements as recommended
by danpb.
Changes from [v1]:
* error out instead of silently accept invalid options;
* shave quite a lot of yaks.
[v4] https://www.redhat.com/archives/libvir-list/2018-February/msg01232.html
[v3] https://www.redhat.com/archives/libvir-list/2018-February/msg00996.html
[v2] https://www.redhat.com/archives/libvir-list/2018-February/msg00813.html
[v1] https://www.redhat.com/archives/libvir-list/2018-February/msg00244.html
Andrea Bolognani (12):
conf: Assign explicit value to
VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE
qemu: Create new qemuDomainDeviceDefValidateControllerPCI()
qemu: Validate PCI controller options (modelName)
qemu: Validate PCI controller options (index)
qemu: Validate PCI controller options (targetIndex)
qemu: Validate PCI controller options (pcihole64)
qemu: Validate PCI controller options (busNr)
qemu: Validate PCI controller options (numaNode)
qemu: Validate PCI controller options (chassisNr)
qemu: Validate PCI controller options (chassis and port)
qemu: Validate PCI controllers (QEMU capabilities)
qemu: Remove old qemuDomainDeviceDefValidateControllerPCI()
src/conf/domain_conf.h | 2 +-
src/qemu/qemu_domain.c | 571 ++++++++++++++++++-------
tests/qemuxml2argvdata/pcie-expander-bus.xml | 3 -
tests/qemuxml2xmloutdata/pcie-expander-bus.xml | 4 +-
4 files changed, 418 insertions(+), 162 deletions(-)
--
2.14.3
2
28
[libvirt] [PATCH] qemu: Fix memory leak in qemuConnectGetAllDomainStats error path
by John Ferlan 07 Mar '18
by John Ferlan 07 Mar '18
07 Mar '18
If we return -1 on VIR_ALLOC_N failure, we leaked @vms, so
goto cleanup instead.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 9e715e7a0..e13544f83 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20348,7 +20348,7 @@ qemuConnectGetAllDomainStats(virConnectPtr conn,
}
if (VIR_ALLOC_N(tmpstats, nvms + 1) < 0)
- return -1;
+ goto cleanup;
if (qemuDomainGetStatsNeedMonitor(stats))
privflags |= QEMU_DOMAIN_STATS_HAVE_JOB;
--
2.13.6
2
1
07 Mar '18
LXC containers can also provide some statistics. Allow users to fetch
them using the existing API.
---
src/lxc/lxc_driver.c | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 203 insertions(+)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index a16dbcc96..c357df927 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -80,6 +80,7 @@
#include "viraccessapichecklxc.h"
#include "virhostdev.h"
#include "netdev_bandwidth_conf.h"
+#include "domain_stats.h"
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -5483,6 +5484,207 @@ lxcDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
return ret;
}
+static int
+lxcDomainGetStatsState(virLXCDriverPtr driver ATTRIBUTE_UNUSED,
+ virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ return virDomainStatsGetState(dom, record, maxparams);
+}
+
+static int
+lxcDomainGetStatsCpu(virLXCDriverPtr driver ATTRIBUTE_UNUSED,
+ virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ virLXCDomainObjPrivatePtr priv = dom->privateData;
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
+}
+
+static int
+lxcDomainGetStatsInterface(virLXCDriverPtr driver ATTRIBUTE_UNUSED,
+ virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ return virDomainStatsGetInterface(dom, record, maxparams);
+}
+
+/* expects a LL, but typed parameter must be ULL */
+#define LXC_ADD_BLOCK_PARAM_LL(record, maxparams, name, value) \
+do { \
+ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
+ "block.cgroup.%s", name); \
+ if (virTypedParamsAddULLong(&(record)->params, \
+ &(record)->nparams, \
+ maxparams, \
+ param_name, \
+ value) < 0) \
+ goto cleanup; \
+} while (0)
+
+static int
+lxcDomainGetStatsBlock(virLXCDriverPtr driver,
+ virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ long long rd_req, rd_bytes, wr_req, wr_bytes;
+
+ int ret = lxcDomainBlockStatsInternal(driver, dom, "",
+ &rd_bytes,
+ &wr_bytes,
+ &rd_req,
+ &wr_req);
+
+ LXC_ADD_BLOCK_PARAM_LL(record, maxparams,
+ "rd.reqs", rd_req);
+ LXC_ADD_BLOCK_PARAM_LL(record, maxparams,
+ "rd.bytes", rd_bytes);
+ LXC_ADD_BLOCK_PARAM_LL(record, maxparams,
+ "wr.reqs", wr_req);
+ LXC_ADD_BLOCK_PARAM_LL(record, maxparams,
+ "wr.bytes", wr_bytes);
+
+ cleanup:
+ return ret;
+}
+
+#undef LXC_ADD_BLOCK_PARAM_ULL
+
+typedef int
+(*lxcDomainGetStatsFunc)(virLXCDriverPtr driver,
+ virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+
+struct lxcDomainGetStatsWorker {
+ lxcDomainGetStatsFunc func;
+ unsigned int stats;
+};
+
+static struct lxcDomainGetStatsWorker lxcDomainGetStatsWorkers[] = {
+ { lxcDomainGetStatsState, VIR_DOMAIN_STATS_STATE },
+ { lxcDomainGetStatsCpu, VIR_DOMAIN_STATS_CPU_TOTAL },
+ { lxcDomainGetStatsInterface, VIR_DOMAIN_STATS_INTERFACE },
+ { lxcDomainGetStatsBlock, VIR_DOMAIN_STATS_BLOCK },
+ { NULL, 0 }
+};
+
+static int
+lxcDomainGetStats(virConnectPtr conn,
+ virDomainObjPtr dom,
+ unsigned int stats,
+ virDomainStatsRecordPtr *record)
+{
+ virLXCDriverPtr driver = conn->privateData;
+ int maxparams = 0;
+ virDomainStatsRecordPtr tmp;
+ size_t i;
+ int ret = -1;
+
+ if (VIR_ALLOC(tmp) < 0)
+ goto cleanup;
+
+ for (i = 0; lxcDomainGetStatsWorkers[i].func; i++) {
+ if (stats & lxcDomainGetStatsWorkers[i].stats) {
+ if (lxcDomainGetStatsWorkers[i].func(driver, dom, tmp, &maxparams) < 0)
+ goto cleanup;
+ }
+ }
+
+ if (!(tmp->dom = virGetDomain(conn, dom->def->name,
+ dom->def->uuid, dom->def->id)))
+ goto cleanup;
+
+ *record = tmp;
+ tmp = NULL;
+ ret = 0;
+
+ cleanup:
+ if (tmp) {
+ virTypedParamsFree(tmp->params, tmp->nparams);
+ VIR_FREE(tmp);
+ }
+
+ return ret;
+}
+
+static int
+lxcConnectGetAllDomainStats(virConnectPtr conn,
+ virDomainPtr *doms,
+ unsigned int ndoms,
+ unsigned int stats,
+ virDomainStatsRecordPtr **retStats,
+ unsigned int flags)
+{
+ virLXCDriverPtr driver = conn->privateData;
+ virDomainObjPtr *vms = NULL;
+ virDomainObjPtr vm;
+ size_t nvms;
+ virDomainStatsRecordPtr *tmpstats = NULL;
+ int nstats = 0;
+ size_t i;
+ int ret = -1;
+ unsigned int lflags = flags & (VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE);
+
+ virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE, -1);
+
+ if (virConnectGetAllDomainStatsEnsureACL(conn) < 0)
+ return -1;
+
+ /* TODO Check stats support */
+
+ if (ndoms) {
+ if (virDomainObjListConvert(driver->domains, conn, doms, ndoms, &vms,
+ &nvms, virConnectGetAllDomainStatsCheckACL,
+ lflags, true) < 0)
+ return -1;
+ } else {
+ if (virDomainObjListCollect(driver->domains, conn, &vms, &nvms,
+ virConnectGetAllDomainStatsCheckACL,
+ lflags) < 0)
+ return -1;
+ }
+
+ if (VIR_ALLOC_N(tmpstats, nvms + 1) < 0)
+ return -1;
+
+ for (i = 0; i < nvms; i++) {
+ virDomainStatsRecordPtr tmp = NULL;
+ vm = vms[i];
+
+ virObjectLock(vm);
+
+ if (lxcDomainGetStats(conn, vm, stats, &tmp) < 0) {
+ virObjectUnlock(vm);
+ goto cleanup;
+ }
+
+ if (tmp)
+ tmpstats[nstats++] = tmp;
+
+ virObjectUnlock(vm);
+ }
+
+ *retStats = tmpstats;
+ tmpstats = NULL;
+
+ ret = nstats;
+
+ cleanup:
+ virDomainStatsRecordListFree(tmpstats);
+ virObjectListFreeCount(vms, nvms);
+
+ return ret;
+}
/* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = {
@@ -5577,6 +5779,7 @@ static virHypervisorDriver lxcHypervisorDriver = {
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */
+ .connectGetAllDomainStats = lxcConnectGetAllDomainStats, /* 4.2.0 */
};
static virConnectDriver lxcConnectDriver = {
--
2.16.1
2
1
07 Mar '18
Some of the qemu functions getting statistics can easily be reused in
other drivers. Create a conf/domain_stats.[ch] pair to host some of
them.
---
src/Makefile.am | 1 +
src/conf/domain_stats.c | 139 +++++++++++++++++++++++++++++++++++++++++
src/conf/domain_stats.h | 64 +++++++++++++++++++
src/libvirt_private.syms | 4 ++
src/qemu/qemu_driver.c | 158 +++--------------------------------------------
src/util/vircgroup.c | 46 ++++++++++++++
src/util/vircgroup.h | 4 ++
7 files changed, 265 insertions(+), 151 deletions(-)
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 3bf2da543..3952a6d2c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -441,6 +441,7 @@ DOMAIN_CONF_SOURCES = \
conf/domain_conf.c conf/domain_conf.h \
conf/domain_audit.c conf/domain_audit.h \
conf/domain_nwfilter.c conf/domain_nwfilter.h \
+ conf/domain_stats.c conf/domain_stats.h \
conf/virsavecookie.c conf/virsavecookie.h \
conf/snapshot_conf.c conf/snapshot_conf.h \
conf/numa_conf.c conf/numa_conf.h \
diff --git a/src/conf/domain_stats.c b/src/conf/domain_stats.c
new file mode 100644
index 000000000..beb3c09d5
--- /dev/null
+++ b/src/conf/domain_stats.c
@@ -0,0 +1,139 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
+ *
+ * Copyright (C) 2006-2016 Red Hat, Inc.
+ * Copyright (C) 2006-2008 Daniel P. Berrange
+ * Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange(a)redhat.com>
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "virlog.h"
+#include "domain_stats.h"
+#include "virtypedparam.h"
+#include "virnetdevtap.h"
+#include "virnetdevopenvswitch.h"
+
+#define VIR_FROM_THIS VIR_FROM_DOMAIN
+
+VIR_LOG_INIT("conf.domain_stats");
+
+int
+virDomainStatsGetState(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ if (virTypedParamsAddInt(&record->params,
+ &record->nparams,
+ maxparams,
+ "state.state",
+ dom->state.state) < 0)
+ return -1;
+
+ if (virTypedParamsAddInt(&record->params,
+ &record->nparams,
+ maxparams,
+ "state.reason",
+ dom->state.reason) < 0)
+ return -1;
+
+ return 0;
+}
+
+#define STATS_ADD_NET_PARAM(record, maxparams, num, name, value) \
+do { \
+ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
+ "net.%zu.%s", num, name); \
+ if (value >= 0 && virTypedParamsAddULLong(&(record)->params, \
+ &(record)->nparams, \
+ maxparams, \
+ param_name, \
+ value) < 0) \
+ return -1; \
+} while (0)
+
+int
+virDomainStatsGetInterface(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ size_t i;
+ struct _virDomainInterfaceStats tmp;
+ int ret = -1;
+
+ if (!virDomainObjIsActive(dom))
+ return 0;
+
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "net", dom->def->nnets);
+
+ /* Check the path is one of the domain's network interfaces. */
+ for (i = 0; i < dom->def->nnets; i++) {
+ virDomainNetDefPtr net = dom->def->nets[i];
+ virDomainNetType actualType;
+
+ if (!net->ifname)
+ continue;
+
+ memset(&tmp, 0, sizeof(tmp));
+
+ actualType = virDomainNetGetActualType(net);
+
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(record, maxparams,
+ "net", "name", i, net->ifname);
+
+ if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
+ if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) {
+ virResetLastError();
+ continue;
+ }
+ } else {
+ if (virNetDevTapInterfaceStats(net->ifname, &tmp,
+ !virDomainNetTypeSharesHostView(net)) < 0) {
+ virResetLastError();
+ continue;
+ }
+ }
+
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.bytes", tmp.rx_bytes);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.pkts", tmp.rx_packets);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.errs", tmp.rx_errs);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.drop", tmp.rx_drop);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.bytes", tmp.tx_bytes);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.pkts", tmp.tx_packets);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.errs", tmp.tx_errs);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.drop", tmp.tx_drop);
+ }
+
+ ret = 0;
+ cleanup:
+ return ret;
+}
+
+#undef STATS_ADD_NET_PARAM
diff --git a/src/conf/domain_stats.h b/src/conf/domain_stats.h
new file mode 100644
index 000000000..42f8cb6d3
--- /dev/null
+++ b/src/conf/domain_stats.h
@@ -0,0 +1,64 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
+ *
+ * Copyright (C) 2006-2016 Red Hat, Inc.
+ * Copyright (C) 2006-2008 Daniel P. Berrange
+ * Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange(a)redhat.com>
+ */
+#ifndef __DOMAIN_STATS_H
+# define __DOMAIN_STATS_H
+
+# include "internal.h"
+# include "domain_conf.h"
+
+
+# define VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, type, count) \
+do { \
+ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, "%s.count", type); \
+ if (virTypedParamsAddUInt(&(record)->params, \
+ &(record)->nparams, \
+ maxparams, \
+ param_name, \
+ count) < 0) \
+ goto cleanup; \
+} while (0)
+
+# define VIR_DOMAIN_STATS_ADD_NAME_PARAM(record, maxparams, type, subtype, num, name) \
+do { \
+ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
+ "%s.%zu.%s", type, num, subtype); \
+ if (virTypedParamsAddString(&(record)->params, \
+ &(record)->nparams, \
+ maxparams, \
+ param_name, \
+ name) < 0) \
+ goto cleanup; \
+} while (0)
+
+int virDomainStatsGetState(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+
+int virDomainStatsGetInterface(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+
+#endif /* __DOMAIN_STATS_H */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 8a62ea159..6fb5b6945 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -644,6 +644,9 @@ virDomainConfNWFilterRegister;
virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
+# conf/domain_stats.h
+virDomainStatsGetInterface;
+virDomainStatsGetState;
# conf/interface_conf.h
virInterfaceDefFormat;
@@ -1500,6 +1503,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats;
+virCgroupGetStatsCpu;
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKill;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 96454c17c..d2e6c0ebe 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -72,6 +72,7 @@
#include "viralloc.h"
#include "viruuid.h"
#include "domain_conf.h"
+#include "domain_stats.h"
#include "domain_audit.h"
#include "node_device_conf.h"
#include "virpci.h"
@@ -19510,21 +19511,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
- if (virTypedParamsAddInt(&record->params,
- &record->nparams,
- maxparams,
- "state.state",
- dom->state.state) < 0)
- return -1;
-
- if (virTypedParamsAddInt(&record->params,
- &record->nparams,
- maxparams,
- "state.reason",
- dom->state.reason) < 0)
- return -1;
-
- return 0;
+ return virDomainStatsGetState(dom, record, maxparams);
}
@@ -19547,37 +19534,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
unsigned int privflags ATTRIBUTE_UNUSED)
{
qemuDomainObjPrivatePtr priv = dom->privateData;
- unsigned long long cpu_time = 0;
- unsigned long long user_time = 0;
- unsigned long long sys_time = 0;
- int err = 0;
-
- if (!priv->cgroup)
- return 0;
-
- err = virCgroupGetCpuacctUsage(priv->cgroup, &cpu_time);
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.time",
- cpu_time) < 0)
- return -1;
-
- err = virCgroupGetCpuacctStat(priv->cgroup, &user_time, &sys_time);
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.user",
- user_time) < 0)
- return -1;
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.system",
- sys_time) < 0)
- return -1;
-
- return 0;
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
}
static int
@@ -19756,44 +19713,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver,
return ret;
}
-#define QEMU_ADD_COUNT_PARAM(record, maxparams, type, count) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, "%s.count", type); \
- if (virTypedParamsAddUInt(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- count) < 0) \
- goto cleanup; \
-} while (0)
-
-#define QEMU_ADD_NAME_PARAM(record, maxparams, type, subtype, num, name) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
- "%s.%zu.%s", type, num, subtype); \
- if (virTypedParamsAddString(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- name) < 0) \
- goto cleanup; \
-} while (0)
-
-#define QEMU_ADD_NET_PARAM(record, maxparams, num, name, value) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
- "net.%zu.%s", num, name); \
- if (value >= 0 && virTypedParamsAddULLong(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- value) < 0) \
- return -1; \
-} while (0)
-
static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr dom,
@@ -19801,68 +19720,9 @@ qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
- size_t i;
- struct _virDomainInterfaceStats tmp;
- int ret = -1;
-
- if (!virDomainObjIsActive(dom))
- return 0;
-
- QEMU_ADD_COUNT_PARAM(record, maxparams, "net", dom->def->nnets);
-
- /* Check the path is one of the domain's network interfaces. */
- for (i = 0; i < dom->def->nnets; i++) {
- virDomainNetDefPtr net = dom->def->nets[i];
- virDomainNetType actualType;
-
- if (!net->ifname)
- continue;
-
- memset(&tmp, 0, sizeof(tmp));
-
- actualType = virDomainNetGetActualType(net);
-
- QEMU_ADD_NAME_PARAM(record, maxparams,
- "net", "name", i, net->ifname);
-
- if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
- if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) {
- virResetLastError();
- continue;
- }
- } else {
- if (virNetDevTapInterfaceStats(net->ifname, &tmp,
- !virDomainNetTypeSharesHostView(net)) < 0) {
- virResetLastError();
- continue;
- }
- }
-
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "rx.bytes", tmp.rx_bytes);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "rx.pkts", tmp.rx_packets);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "rx.errs", tmp.rx_errs);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "rx.drop", tmp.rx_drop);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "tx.bytes", tmp.tx_bytes);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "tx.pkts", tmp.tx_packets);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "tx.errs", tmp.tx_errs);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- "tx.drop", tmp.tx_drop);
- }
-
- ret = 0;
- cleanup:
- return ret;
+ return virDomainStatsGetInterface(dom, record, maxparams);
}
-#undef QEMU_ADD_NET_PARAM
-
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -19984,10 +19844,10 @@ qemuDomainGetStatsOneBlock(virQEMUDriverPtr driver,
if (disk->info.alias)
alias = qemuDomainStorageAlias(disk->info.alias, backing_idx);
- QEMU_ADD_NAME_PARAM(record, maxparams, "block", "name", block_idx,
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(record, maxparams, "block", "name", block_idx,
disk->dst);
if (virStorageSourceIsLocalStorage(src) && src->path)
- QEMU_ADD_NAME_PARAM(record, maxparams, "block", "path",
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(record, maxparams, "block", "path",
block_idx, src->path);
if (backing_idx)
QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, block_idx, "backingIndex",
@@ -20103,7 +19963,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr driver,
* after the iteration than it is to iterate twice; but we still
* want count listed first. */
count_index = record->nparams;
- QEMU_ADD_COUNT_PARAM(record, maxparams, "block", 0);
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "block", 0);
for (i = 0; i < dom->def->ndisks; i++) {
virDomainDiskDefPtr disk = dom->def->disks[i];
@@ -20137,10 +19997,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr driver,
#undef QEMU_ADD_BLOCK_PARAM_ULL
-#undef QEMU_ADD_NAME_PARAM
-
-#undef QEMU_ADD_COUNT_PARAM
-
static int
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
virPerfEventType type,
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index 0a31947b0..04ef4c1a7 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -4122,6 +4122,44 @@ virCgroupControllerAvailable(int controller)
return ret;
}
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ unsigned long long cpu_time = 0;
+ unsigned long long user_time = 0;
+ unsigned long long sys_time = 0;
+ int err = 0;
+
+ if (!cgroup)
+ return 0;
+
+ err = virCgroupGetCpuacctUsage(cgroup, &cpu_time);
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.time",
+ cpu_time) < 0)
+ return -1;
+
+ err = virCgroupGetCpuacctStat(cgroup, &user_time, &sys_time);
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.user",
+ user_time) < 0)
+ return -1;
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.system",
+ sys_time) < 0)
+ return -1;
+
+ return 0;
+}
+
#else /* !VIR_CGROUP_SUPPORTED */
bool
@@ -4899,6 +4937,14 @@ virCgroupControllerAvailable(int controller ATTRIBUTE_UNUSED)
{
return false;
}
+
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+{
+ return 0;
+}
#endif /* !VIR_CGROUP_SUPPORTED */
diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h
index d83392767..2ebdf9505 100644
--- a/src/util/vircgroup.h
+++ b/src/util/vircgroup.h
@@ -297,4 +297,8 @@ int virCgroupSetOwner(virCgroupPtr cgroup,
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
bool virCgroupControllerAvailable(int controller);
+
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
#endif /* __VIR_CGROUP_H__ */
--
2.16.1
2
1
07 Mar '18
lxcDomainBlockStats and lxcDomainBlockStatsFlags were both using very
similar code. This commit factorizes them into a
lxcDomainBlockStatsInternal.
---
src/lxc/lxc_driver.c | 131 ++++++++++++++++++++-------------------------------
1 file changed, 50 insertions(+), 81 deletions(-)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index fa6fc4643..a16dbcc96 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2348,28 +2348,22 @@ lxcDomainMergeBlkioDevice(virBlkioDevicePtr *dest_array,
return 0;
}
-
-static int
-lxcDomainBlockStats(virDomainPtr dom,
- const char *path,
- virDomainBlockStatsPtr stats)
+static int lxcDomainBlockStatsInternal(virLXCDriverPtr driver,
+ virDomainObjPtr vm,
+ const char *path,
+ long long *rd_bytes,
+ long long *wr_bytes,
+ long long *rd_req,
+ long long *wr_req)
{
- virLXCDriverPtr driver = dom->conn->privateData;
int ret = -1;
- virDomainObjPtr vm;
virDomainDiskDefPtr disk = NULL;
virLXCDomainObjPrivatePtr priv;
- if (!(vm = lxcDomObjFromDomain(dom)))
- return ret;
-
priv = vm->privateData;
- if (virDomainBlockStatsEnsureACL(dom->conn, vm->def) < 0)
- goto cleanup;
-
if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
- goto cleanup;
+ return -1;
if (!virDomainObjIsActive(vm)) {
virReportError(VIR_ERR_OPERATION_INVALID,
@@ -2386,10 +2380,10 @@ lxcDomainBlockStats(virDomainPtr dom,
if (!*path) {
/* empty path - return entire domain blkstats instead */
ret = virCgroupGetBlkioIoServiced(priv->cgroup,
- &stats->rd_bytes,
- &stats->wr_bytes,
- &stats->rd_req,
- &stats->wr_req);
+ rd_bytes,
+ wr_bytes,
+ rd_req,
+ wr_req);
goto endjob;
}
@@ -2407,13 +2401,36 @@ lxcDomainBlockStats(virDomainPtr dom,
ret = virCgroupGetBlkioIoDeviceServiced(priv->cgroup,
disk->info.alias,
- &stats->rd_bytes,
- &stats->wr_bytes,
- &stats->rd_req,
- &stats->wr_req);
+ rd_bytes,
+ wr_bytes,
+ rd_req,
+ wr_req);
endjob:
virLXCDomainObjEndJob(driver, vm);
+ return ret;
+}
+
+static int
+lxcDomainBlockStats(virDomainPtr dom,
+ const char *path,
+ virDomainBlockStatsPtr stats)
+{
+ virLXCDriverPtr driver = dom->conn->privateData;
+ virDomainObjPtr vm;
+ int ret = -1;
+
+ if (!(vm = lxcDomObjFromDomain(dom)))
+ return -1;
+
+ if (virDomainBlockStatsEnsureACL(dom->conn, vm->def) < 0)
+ goto cleanup;
+
+ ret = lxcDomainBlockStatsInternal(driver, vm, path,
+ &stats->rd_bytes,
+ &stats->wr_bytes,
+ &stats->rd_req,
+ &stats->wr_req);
cleanup:
virDomainObjEndAPI(&vm);
@@ -2431,8 +2448,6 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
virLXCDriverPtr driver = dom->conn->privateData;
int tmp, ret = -1;
virDomainObjPtr vm;
- virDomainDiskDefPtr disk = NULL;
- virLXCDomainObjPrivatePtr priv;
long long rd_req, rd_bytes, wr_req, wr_bytes;
virTypedParameterPtr param;
@@ -2449,60 +2464,17 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
if (!(vm = lxcDomObjFromDomain(dom)))
return ret;
- priv = vm->privateData;
-
if (virDomainBlockStatsFlagsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (lxcDomainBlockStatsInternal(driver, vm, path,
+ &rd_bytes,
+ &wr_bytes,
+ &rd_req,
+ &wr_req) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("domain stats query failed"));
goto cleanup;
-
- if (!virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- "%s", _("domain is not running"));
- goto endjob;
- }
-
- if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_BLKIO)) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("blkio cgroup isn't mounted"));
- goto endjob;
- }
-
- if (!*path) {
- /* empty path - return entire domain blkstats instead */
- if (virCgroupGetBlkioIoServiced(priv->cgroup,
- &rd_bytes,
- &wr_bytes,
- &rd_req,
- &wr_req) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("domain stats query failed"));
- goto endjob;
- }
- } else {
- if (!(disk = virDomainDiskByName(vm->def, path, false))) {
- virReportError(VIR_ERR_INVALID_ARG,
- _("invalid path: %s"), path);
- goto endjob;
- }
-
- if (!disk->info.alias) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("missing disk device alias name for %s"), disk->dst);
- goto endjob;
- }
-
- if (virCgroupGetBlkioIoDeviceServiced(priv->cgroup,
- disk->info.alias,
- &rd_bytes,
- &wr_bytes,
- &rd_req,
- &wr_req) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("domain stats query failed"));
- goto endjob;
- }
}
tmp = 0;
@@ -2512,7 +2484,7 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
param = ¶ms[tmp];
if (virTypedParameterAssign(param, VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES,
VIR_TYPED_PARAM_LLONG, wr_bytes) < 0)
- goto endjob;
+ goto cleanup;
tmp++;
}
@@ -2520,7 +2492,7 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
param = ¶ms[tmp];
if (virTypedParameterAssign(param, VIR_DOMAIN_BLOCK_STATS_WRITE_REQ,
VIR_TYPED_PARAM_LLONG, wr_req) < 0)
- goto endjob;
+ goto cleanup;
tmp++;
}
@@ -2528,7 +2500,7 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
param = ¶ms[tmp];
if (virTypedParameterAssign(param, VIR_DOMAIN_BLOCK_STATS_READ_BYTES,
VIR_TYPED_PARAM_LLONG, rd_bytes) < 0)
- goto endjob;
+ goto cleanup;
tmp++;
}
@@ -2536,16 +2508,13 @@ lxcDomainBlockStatsFlags(virDomainPtr dom,
param = ¶ms[tmp];
if (virTypedParameterAssign(param, VIR_DOMAIN_BLOCK_STATS_READ_REQ,
VIR_TYPED_PARAM_LLONG, rd_req) < 0)
- goto endjob;
+ goto cleanup;
tmp++;
}
ret = 0;
*nparams = tmp;
- endjob:
- virLXCDomainObjEndJob(driver, vm);
-
cleanup:
virDomainObjEndAPI(&vm);
return ret;
--
2.16.1
2
1
[libvirt] [PATCH] qemuDomainObjBeginJob: Don't account DESTROY job to maxQueuedJobs
by Michal Privoznik 07 Mar '18
by Michal Privoznik 07 Mar '18
07 Mar '18
When trying to destroy a domain (e.g. because we've seen EOF on
the monitor) we try to acquire QEMU_JOB_DESTROY. However, if
max_queued is set in qemu.conf this may fail and since our code
doesn't count on that we will still report domain as active even
though the qemu process is long gone. More specifically, if we've
seen EOF on the monitor, qemuProcessHandleMonitorEOF() is called
which sends MONITOR_EOF job to the event worker pool and
unregisters monitor from the event loop. The worker pool calls
processMonitorEOFEvent() which tries to set job which may fail
due to the limit as described above.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_domain.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 8b4efc82d..ee02ecd0c 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -5401,7 +5401,8 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driver,
then = now + QEMU_JOB_WAIT_TIME;
retry:
- if (cfg->maxQueuedJobs &&
+ if ((!async && job != QEMU_JOB_DESTROY) &&
+ cfg->maxQueuedJobs &&
priv->jobs_queued > cfg->maxQueuedJobs) {
goto error;
}
--
2.16.1
2
2
07 Mar '18
I encountered several examples that assigned a network, an nwfilter,
or just about anything to a variable called $dom, and called
connections $vmm. This seemed confusing, so...
Laine Stump (3):
docs: replace $vmm with $conn
docs: replace VMM with hypervisor
docs: fix other assorted example variable names
lib/Sys/Virt.pm | 280 ++++++++++++++++++++++++++++----------------------------
1 file changed, 140 insertions(+), 140 deletions(-)
--
2.14.3
2
6
AC_PATH_PROG searches either for a binary [pkcheck], or it uses the
user provided absolute path in the variable PKCHECK_PATH.
Since virt-polkit.m4 wipes the variable PKCHECK_PATH from environment
the user decision is never used.
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
--- a/m4/virt-polkit.m4
+++ b/m4/virt-polkit.m4
@@ -28,7 +28,6 @@ AC_DEFUN([LIBVIRT_CHECK_POLKIT], [
POLKIT_REQUIRED="0.6"
POLKIT_CFLAGS=
POLKIT_LIBS=
- PKCHECK_PATH=
with_polkit0=no
with_polkit1=no
2
1
It's surprising that nobody ever noticed in the past that this test
was either failing, or wasn't testing what it intended to test.
An extra bonus to fixing the test is that we are now testing
virNWFilterDefineXML(), and while writing it I discovered that
define_nwfilter() has been missing from the perl bindings since the
very beginning (libvirt-0.8.0, nearly 7 years ago!). (Since nobody
complained before now, I guess anyone using nwfilter via perl was only
using pre-define filter rules).
Laine Stump (2):
cleanup all nwfilters beginning with ^tck
Fix no-mac-broadcast test
lib/Sys/Virt/TCK.pm | 16 ++++++++++++++++
scripts/nwfilter/230-no-mac-broadcast.t | 29 ++++++++++++++++++++++++++++-
2 files changed, 44 insertions(+), 1 deletion(-)
--
2.14.3
2
4
06 Mar '18
First patch is prep work to teach generic nodedev code not
to access host info for the test driver, which is needed to
give correct results for patch 2
Cole Robinson (2):
conf: nodedev: Don't refresh host caps in testdriver
test: Implement virConnectListAllNodeDevices
src/conf/node_device_conf.c | 3 +++
src/conf/node_device_conf.h | 1 +
src/test/test_driver.c | 15 +++++++++++++++
3 files changed, 19 insertions(+)
--
2.14.3
3
7
06 Mar '18
The 'fake' status XML testing we were doing until now was terrible and
would not catch most of the problems. Also the code was too complicated.
This adds a way simpler approach which actually works. (for the small
price of adding a lot of test data lines)
Peter Krempa (7):
tests: qemuxml2xml: Rename testInfoFree to testInfoClear
tests: qemuxml2xml: Remove testing with allowed format detection
tests: qemuxml2xml: Add proper domain status XML testing
tests: qemuxml2xml: Remove fake status XML testing
tests: util: Remove callback from testCompareDomXML2XMLFiles
tests: qemuxml2xml: Add modern example of status XML to the test
tests: qemuxml2xml: Add status XML with outgoing migration with NBD
tests/Makefile.am | 1 +
tests/genericxml2xmltest.c | 2 +-
tests/lxcxml2xmltest.c | 2 +-
tests/qemustatusxml2xmldata/blockjob-mirror-in.xml | 96 +++++
.../qemustatusxml2xmldata/blockjob-mirror-out.xml | 96 +++++
.../qemustatusxml2xmldata/migration-out-nbd-in.xml | 449 +++++++++++++++++++++
.../migration-out-nbd-out.xml | 449 +++++++++++++++++++++
tests/qemustatusxml2xmldata/modern-in.xml | 443 ++++++++++++++++++++
tests/qemustatusxml2xmldata/modern-out.xml | 443 ++++++++++++++++++++
tests/qemustatusxml2xmldata/vcpus-multi-in.xml | 343 ++++++++++++++++
tests/qemustatusxml2xmldata/vcpus-multi-out.xml | 343 ++++++++++++++++
.../qemuxml2argvdata/disk-drive-detect-zeroes.xml | 2 +-
tests/qemuxml2argvdata/hugepages-memaccess.xml | 1 +
tests/qemuxml2argvdata/hugepages-memaccess2.xml | 1 +
tests/qemuxml2argvdata/hugepages-pages4.xml | 1 +
tests/qemuxml2argvdata/hugepages-pages5.xml | 1 +
tests/qemuxml2argvdata/hugepages-pages6.xml | 1 +
.../memory-hotplug-nvdimm-access.xml | 1 +
.../memory-hotplug-nvdimm-label.xml | 1 +
tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml | 1 +
.../serial-tcp-tlsx509-chardev-notls.xml | 1 +
.../aarch64-aavmf-virtio-mmio.xml | 1 +
.../aarch64-virtio-pci-default.xml | 1 +
.../aarch64-virtio-pci-manual-addresses.xml | 1 +
tests/qemuxml2xmloutdata/autoindex.xml | 1 +
tests/qemuxml2xmloutdata/balloon-device-auto.xml | 1 +
tests/qemuxml2xmloutdata/balloon-device-period.xml | 1 +
.../bios-nvram-os-interleave.xml | 1 +
tests/qemuxml2xmloutdata/bios-nvram.xml | 1 +
tests/qemuxml2xmloutdata/blkiotune-device.xml | 1 +
tests/qemuxml2xmloutdata/blkiotune.xml | 1 +
.../boot-menu-disable-with-timeout.xml | 1 +
tests/qemuxml2xmloutdata/boot-menu-disable.xml | 1 +
.../boot-menu-enable-with-timeout.xml | 1 +
tests/qemuxml2xmloutdata/boot-multi.xml | 1 +
tests/qemuxml2xmloutdata/boot-order.xml | 2 +
tests/qemuxml2xmloutdata/channel-guestfwd.xml | 1 +
tests/qemuxml2xmloutdata/channel-virtio-auto.xml | 1 +
.../channel-virtio-state-active.xml | 1 +
.../channel-virtio-state-inactive.xml | 1 +
tests/qemuxml2xmloutdata/channel-virtio.xml | 1 +
tests/qemuxml2xmloutdata/clock-catchup.xml | 1 +
tests/qemuxml2xmloutdata/console-compat-auto.xml | 1 +
tests/qemuxml2xmloutdata/console-virtio-many.xml | 1 +
tests/qemuxml2xmloutdata/console-virtio.xml | 1 +
.../cpu-host-passthrough-features.xml | 1 +
tests/qemuxml2xmloutdata/cputune-iothreads.xml | 1 +
.../cputune-iothreadsched-zeropriority.xml | 1 +
tests/qemuxml2xmloutdata/cputune-iothreadsched.xml | 1 +
tests/qemuxml2xmloutdata/cputune-zero-shares.xml | 1 +
tests/qemuxml2xmloutdata/cputune.xml | 1 +
.../qemuxml2xmloutdata/disk-drive-copy-on-read.xml | 2 +-
tests/qemuxml2xmloutdata/disk-drive-discard.xml | 2 +-
tests/qemuxml2xmloutdata/disk-mirror-active.xml | 5 +
tests/qemuxml2xmloutdata/disk-mirror-inactive.xml | 4 +
.../disk-mirror-old-inactive.xml | 4 +
tests/qemuxml2xmloutdata/disk-mirror-old.xml | 7 +-
tests/qemuxml2xmloutdata/disk-scsi-device-auto.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-device.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-disk-vpd.xml | 2 +
.../disk-scsi-lun-passthrough-sgio.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-megasas.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-mptsas1068.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-virtio-scsi.xml | 2 +
tests/qemuxml2xmloutdata/disk-scsi-vscsi.xml | 2 +
tests/qemuxml2xmloutdata/disk-serial.xml | 3 +
tests/qemuxml2xmloutdata/disk-source-pool-mode.xml | 4 +
tests/qemuxml2xmloutdata/disk-source-pool.xml | 2 +
tests/qemuxml2xmloutdata/disk-usb-device.xml | 2 +
.../disk-virtio-scsi-cmd_per_lun.xml | 1 +
.../disk-virtio-scsi-ioeventfd.xml | 1 +
.../disk-virtio-scsi-max_sectors.xml | 1 +
.../disk-virtio-scsi-num_queues.xml | 1 +
.../qemuxml2xmloutdata/graphics-listen-network.xml | 1 +
.../graphics-listen-network2.xml | 1 +
.../graphics-spice-compression.xml | 1 +
.../qemuxml2xmloutdata/graphics-spice-qxl-vga.xml | 1 +
tests/qemuxml2xmloutdata/graphics-spice.xml | 1 +
.../hostdev-scsi-autogen-address.xml | 1 +
.../qemuxml2xmloutdata/hostdev-scsi-large-unit.xml | 1 +
.../hostdev-scsi-lsi-iscsi-auth.xml | 1 +
.../qemuxml2xmloutdata/hostdev-scsi-lsi-iscsi.xml | 1 +
tests/qemuxml2xmloutdata/hostdev-scsi-lsi.xml | 1 +
tests/qemuxml2xmloutdata/hostdev-scsi-rawio.xml | 1 +
tests/qemuxml2xmloutdata/hostdev-scsi-readonly.xml | 1 +
tests/qemuxml2xmloutdata/hostdev-scsi-sgio.xml | 1 +
.../qemuxml2xmloutdata/hostdev-scsi-shareable.xml | 1 +
.../hostdev-scsi-vhost-scsi-ccw.xml | 1 +
.../hostdev-scsi-vhost-scsi-pci.xml | 1 +
.../hostdev-scsi-virtio-iscsi-auth.xml | 1 +
.../hostdev-scsi-virtio-iscsi.xml | 1 +
.../hostdev-scsi-virtio-scsi.xml | 1 +
tests/qemuxml2xmloutdata/hostdev-vfio.xml | 1 +
tests/qemuxml2xmloutdata/hugepages-pages.xml | 1 +
tests/qemuxml2xmloutdata/hugepages-pages2.xml | 1 +
tests/qemuxml2xmloutdata/hugepages-pages3.xml | 1 +
tests/qemuxml2xmloutdata/hugepages-shared.xml | 1 +
tests/qemuxml2xmloutdata/hugepages.xml | 1 +
tests/qemuxml2xmloutdata/lease.xml | 2 +
.../machine-loadparm-multiple-disks-nets-s390.xml | 2 +
tests/qemuxml2xmloutdata/memory-hotplug-dimm.xml | 1 +
tests/qemuxml2xmloutdata/memory-hotplug.xml | 1 +
tests/qemuxml2xmloutdata/memtune-unlimited.xml | 1 +
tests/qemuxml2xmloutdata/memtune.xml | 1 +
tests/qemuxml2xmloutdata/metadata-duplicate.xml | 1 +
tests/qemuxml2xmloutdata/metadata.xml | 1 +
tests/qemuxml2xmloutdata/minimal.xml | 1 +
tests/qemuxml2xmloutdata/net-hostdev-vfio.xml | 1 +
tests/qemuxml2xmloutdata/net-hostdev.xml | 1 +
tests/qemuxml2xmloutdata/net-midonet.xml | 1 +
tests/qemuxml2xmloutdata/net-openvswitch.xml | 1 +
tests/qemuxml2xmloutdata/net-udp.xml | 1 +
tests/qemuxml2xmloutdata/net-virtio-device.xml | 1 +
.../net-virtio-disable-offloads.xml | 1 +
.../net-virtio-network-portgroup.xml | 1 +
.../net-virtio-rxtxqueuesize.xml | 1 +
.../numad-auto-memory-vcpu-cpuset.xml | 1 +
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 1 +
.../numad-auto-vcpu-no-numatune.xml | 1 +
.../numad-static-vcpu-no-numatune.xml | 1 +
tests/qemuxml2xmloutdata/panic-isa.xml | 1 +
tests/qemuxml2xmloutdata/panic-no-address.xml | 1 +
tests/qemuxml2xmloutdata/panic.xml | 1 +
tests/qemuxml2xmloutdata/pci-rom.xml | 1 +
.../qemuxml2xmloutdata/pci-serial-dev-chardev.xml | 1 +
tests/qemuxml2xmloutdata/pcie-expander-bus.xml | 1 +
tests/qemuxml2xmloutdata/pcie-root-port.xml | 1 +
.../pcie-switch-downstream-port.xml | 1 +
.../pcie-switch-upstream-port.xml | 1 +
tests/qemuxml2xmloutdata/pcihole64-q35.xml | 1 +
tests/qemuxml2xmloutdata/q35-pcie-autoadd.xml | 1 +
tests/qemuxml2xmloutdata/q35-pcie.xml | 1 +
tests/qemuxml2xmloutdata/q35-usb2-multi.xml | 1 +
tests/qemuxml2xmloutdata/q35-usb2-reorder.xml | 1 +
tests/qemuxml2xmloutdata/q35-usb2.xml | 1 +
tests/qemuxml2xmloutdata/q35-virtio-pci.xml | 1 +
tests/qemuxml2xmloutdata/q35.xml | 1 +
tests/qemuxml2xmloutdata/seclabel-dac-none.xml | 1 +
.../seclabel-device-multiple.xml | 1 +
.../seclabel-dynamic-baselabel.xml | 1 +
.../seclabel-dynamic-labelskip.xml | 1 +
tests/qemuxml2xmloutdata/seclabel-dynamic-none.xml | 1 +
.../seclabel-dynamic-override.xml | 2 +
.../seclabel-dynamic-relabel.xml | 1 +
tests/qemuxml2xmloutdata/seclabel-none.xml | 1 +
.../seclabel-static-labelskip.xml | 1 +
tests/qemuxml2xmloutdata/seclabel-static.xml | 1 +
.../serial-spiceport-nospice.xml | 1 +
tests/qemuxml2xmloutdata/serial-spiceport.xml | 1 +
.../qemuxml2xmloutdata/serial-target-port-auto.xml | 1 +
.../serial-tcp-tlsx509-chardev.xml | 1 +
tests/qemuxml2xmloutdata/smbios-multiple-type2.xml | 1 +
tests/qemuxml2xmloutdata/smbios.xml | 1 +
tests/qemuxml2xmloutdata/sound-device.xml | 1 +
tests/qemuxml2xmloutdata/video-qxl-heads.xml | 1 +
tests/qemuxml2xmloutdata/video-qxl-noheads.xml | 1 +
tests/qemuxml2xmloutdata/vmcoreinfo.xml | 1 +
tests/qemuxml2xmltest.c | 283 ++++---------
tests/testutils.c | 8 +-
tests/testutils.h | 5 -
160 files changed, 2926 insertions(+), 221 deletions(-)
create mode 100644 tests/qemustatusxml2xmldata/blockjob-mirror-in.xml
create mode 100644 tests/qemustatusxml2xmldata/blockjob-mirror-out.xml
create mode 100644 tests/qemustatusxml2xmldata/migration-out-nbd-in.xml
create mode 100644 tests/qemustatusxml2xmldata/migration-out-nbd-out.xml
create mode 100644 tests/qemustatusxml2xmldata/modern-in.xml
create mode 100644 tests/qemustatusxml2xmldata/modern-out.xml
create mode 100644 tests/qemustatusxml2xmldata/vcpus-multi-in.xml
create mode 100644 tests/qemustatusxml2xmldata/vcpus-multi-out.xml
--
2.16.2
2
12
06 Mar '18
While investigating something else - 'change' QMP command for
the cdrom/floppy code, I noted the QMP schema lists the change
command as being deprecated for use with cdrom/floppy and changing
the VNC password. Further digging found that the existing set_password
QMP command would make the same call to change the password (qemu
API vnc_display_password) as long as "keep" was defined for connected
(which must be true for VNC). So altered the code to use the newer
command if available.
John Ferlan (4):
qemu: Alter current VNC set password to be legacy
qemu: Clean up formatting in virQEMUCapsCommands
qemu: Add change-vnc-password capability
qemu: Add support for change-vnc-password
src/qemu/qemu_capabilities.c | 8 +++--
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_hotplug.c | 12 ++++++--
src/qemu/qemu_monitor.c | 21 +++++++++++--
src/qemu/qemu_monitor.h | 2 ++
src/qemu/qemu_monitor_json.c | 34 ++++++++++++++++++++--
src/qemu/qemu_monitor_json.h | 2 ++
tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 +
.../caps_2.10.0-gicv2.aarch64.xml | 1 +
.../caps_2.10.0-gicv3.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 +
.../caps_2.6.0-gicv2.aarch64.xml | 1 +
.../caps_2.6.0-gicv3.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
tests/qemumonitorjsontest.c | 2 ++
34 files changed, 98 insertions(+), 10 deletions(-)
--
2.13.6
2
6
Ján Tomko (7):
maint: use parentheses after if
nwfilter: remove pointless assignment
openvz: pass sizeof to snprintf
virsh-edit: remove unreachable break
remote: remove unused label
virsh: use logical or for boolean values
Simplify some conditions
src/conf/domain_conf.c | 2 +-
src/nwfilter/nwfilter_gentech_driver.c | 1 -
src/openvz/openvz_driver.c | 3 +--
src/qemu/qemu_domain.c | 2 +-
src/qemu/qemu_migration.c | 2 +-
src/remote/remote_driver.c | 3 +--
tools/virsh-domain.c | 2 +-
tools/virsh-edit.c | 1 -
8 files changed, 6 insertions(+), 10 deletions(-)
--
2.16.1
3
15
06 Mar '18
Daniel P. Berrangé (2):
Add missing define_nwfilter and define_secret APIs
Fix docs for Sys::Virt::NWFilter undefine method
Changes | 3 ++-
lib/Sys/Virt.pm | 32 ++++++++++++++++++++++++++++++++
lib/Sys/Virt/NWFilter.pm | 6 ++----
3 files changed, 36 insertions(+), 5 deletions(-)
--
2.14.3
2
5
06 Mar '18
New for V3: added in the NetAddr::IP dependency to Build.PL, and added
a prequel patch that removes all tabs from that file.
Laine Stump (2):
Remove tab characters from Build.PL
new NetworkHelper function get_network_ip()
Build.PL | 105 +++++++++++++++++++------------------
lib/Sys/Virt/TCK/NetworkHelpers.pm | 22 ++++++++
2 files changed, 75 insertions(+), 52 deletions(-)
--
2.14.3
2
4
[libvirt] [Question]Libvirt doesn't care about qemu monitor event if fail to destroy qemu process
by Wuzongyong (Euler Dept) 06 Mar '18
by Wuzongyong (Euler Dept) 06 Mar '18
06 Mar '18
Hi,
We unregister qemu monitor after sending QEMU_PROCESS_EVENT_MONITOR_EOF to workerPool:
static void
qemuProcessHandleMonitorEOF(qemuMonitorPtr mon,
virDomainObjPtr vm,
void *opaque)
{
virQEMUDriverPtr driver = opaque;
qemuDomainObjPrivatePtr priv;
struct qemuProcessEvent *processEvent;
...
processEvent->eventType = QEMU_PROCESS_EVENT_MONITOR_EOF;
processEvent->vm = vm;
virObjectRef(vm);
if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) {
ignore_value(virObjectUnref(vm));
VIR_FREE(processEvent);
goto cleanup;
}
/* We don't want this EOF handler to be called over and over while the
* thread is waiting for a job.
*/
qemuMonitorUnregister(mon);
...
}
Then we handle QEMU_PROCESS_EVENT_MONITOR_EOF in processMonitorEOFEvent function:
static void
processMonitorEOFEvent(virQEMUDriverPtr driver,
virDomainObjPtr vm)
{
...
if (qemuProcessBeginStopJob(driver, vm, QEMU_JOB_DESTROY, true) < 0)
return;
...
}
Here, libvirt will show that the vm state is running all the time if qemuProcessBeginStopJob return -1
even though qemu may terminate or be killed later.
So, may be we should re-register the monitor when qemuProcessBeginStopJob failed?
Thanks,
Zongyong Wu
3
10
[libvirt] [PATCH] tests: force use of "NORMAL" TLS priority in test suite
by Daniel P. Berrangé 06 Mar '18
by Daniel P. Berrangé 06 Mar '18
06 Mar '18
When generating certificates we rely on GNUTLS' built-in default setup
for the ciphers used in the certs. We then currently run with the distro
specific TLS priority setup which can be much stronger, to the extent
that the certificates we generate are considered untrustworthy. We don't
care about the quality of the ciphers we use in the test suite, so just
force the priority to "NORMAL" which should ensure our certs are
accepted by GNUTLS.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
tests/virnettlscontexttest.c | 4 ++--
tests/virnettlssessiontest.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c
index 089c10e964..86647f3014 100644
--- a/tests/virnettlscontexttest.c
+++ b/tests/virnettlscontexttest.c
@@ -72,7 +72,7 @@ static int testTLSContextInit(const void *opaque)
data->crt,
KEYFILE,
NULL,
- NULL,
+ "NORMAL",
true,
true);
} else {
@@ -80,7 +80,7 @@ static int testTLSContextInit(const void *opaque)
NULL,
data->crt,
KEYFILE,
- NULL,
+ "NORMAL",
true,
true);
}
diff --git a/tests/virnettlssessiontest.c b/tests/virnettlssessiontest.c
index 6d639e5b16..7e85607181 100644
--- a/tests/virnettlssessiontest.c
+++ b/tests/virnettlssessiontest.c
@@ -113,7 +113,7 @@ static int testTLSSessionInit(const void *opaque)
data->servercrt,
KEYFILE,
data->wildcards,
- NULL,
+ "NORMAL",
false,
true);
@@ -121,7 +121,7 @@ static int testTLSSessionInit(const void *opaque)
NULL,
data->clientcrt,
KEYFILE,
- NULL,
+ "NORMAL",
false,
true);
--
2.14.3
1
1
[libvirt] [tck PATCH v2 0/4] set CTRL_IP_LEARNING and DHCPSERVER in filter during no-ip-spoofing test
by Laine Stump 06 Mar '18
by Laine Stump 06 Mar '18
06 Mar '18
We've recently discovered two separate bugs that caused libvirt's
"DHCP Snooping" feature to not work:
https://bugzilla.redhat.com/show_bug.cgi?id=1529338 - libvirt regression
https://bugzilla.redhat.com/show_bug.cgi?id=1547237 - libpcap regression
Since we didn't have any test suite covering that code, we had the
embarrassment of learning of it from someone else's QE (RHV/oVirt QE
at Red Hat).
This series adds the necessary stuff to the test domain config of
libvirt-tck's "no-ip-spoofing" test to exercise the DHCPSnoop thread.
(There may be a much better way of dealing with a hash-inside-a-hash;
I am an imbecile at perl, and arrived at this code by trial, error,
and google searches).
Laine Stump (4):
nwfilter tests: auto-add test appliance ssh key to known_hosts on host
new NetworkHelper function get_network_ip()
set CTRL_IP_LEARNING and DHCPSERVER in filter during no-ip-spoofing
test
nwfilter tests: remove all hardcoded references to 192.168.122 network
lib/Sys/Virt/TCK.pm | 11 ++++++++---
lib/Sys/Virt/TCK/DomainBuilder.pm | 8 +++++++-
lib/Sys/Virt/TCK/NetworkHelpers.pm | 22 ++++++++++++++++++++++
scripts/nwfilter/210-no-mac-spoofing.t | 12 ++++++++----
scripts/nwfilter/220-no-ip-spoofing.t | 26 +++++++++++++++++++++-----
scripts/nwfilter/230-no-mac-broadcast.t | 11 ++++++++---
scripts/nwfilter/240-no-arp-spoofing.t | 22 ++++++++++++++++------
7 files changed, 90 insertions(+), 22 deletions(-)
--
2.14.3
2
12
[libvirt] [PATCH] qemu: Fix comparison assignment in qemuDomainUpdateDeviceLive
by Erik Skultety 06 Mar '18
by Erik Skultety 06 Mar '18
06 Mar '18
Fix this common typo and assign a value rather than implicitly
type-casted comparison result. Introduced by commit b6a264e855.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
Pushed under the trivial rule.
src/qemu/qemu_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 96454c17c..9e715e7a0 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7919,7 +7919,7 @@ qemuDomainUpdateDeviceLive(virDomainObjPtr vm,
break;
case VIR_DOMAIN_DEVICE_GRAPHICS:
- if ((idx = qemuDomainFindGraphicsIndex(vm->def, dev->data.graphics) >= 0)) {
+ if ((idx = qemuDomainFindGraphicsIndex(vm->def, dev->data.graphics)) >= 0) {
oldDev.data.graphics = vm->def->graphics[idx];
if (virDomainDefCompatibleDevice(vm->def, dev, &oldDev) < 0)
return -1;
--
2.13.6
2
1
06 Mar '18
Applies cleanly on top of 6722a32444db6335f2104e67d873199c76e5701e.
Some of the patches are fairly big because of all the capabilities
data being added and the subsequent test suite churn: I'm sending
a redacted version to the list, the rest of the code can be grabbed
from
https://github.com/andreabolognani/libvirt/tree/pseries-caps
RFC because the relevant QMP command has not been merged into QEMU
yet. And there's still no documentation.
Changes from [RFC v2]:
* use qom-list-properties to probe availability;
* test all features with a single XML file.
Changes from [RFC v1]:
* don't nest features inside a <pseries/> element;
* implement all optional features.
[RFC v2] https://www.redhat.com/archives/libvir-list/2018-February/msg00310.html
[RFC v1] https://www.redhat.com/archives/libvir-list/2018-January/msg00779.html
Andrea Bolognani (9):
tests: Add capabilities data for QEMU 2.12
qemu: Add capability for qom-list-properties
qemu: Prefer qom-list-properties to device-list-properties
qemu: Add capabilities for optional pSeries features
tests: Rename pseries-features-hpt test
qemu: Implement the HTM pSeries feature
qemu: Implement the SBBC pSeries feature
qemu: Implement the CFPC pSeries feature
qemu: Implement the IBS pSeries feature
docs/schemas/domaincommon.rng | 30 +
src/conf/domain_conf.c | 74 +
src/conf/domain_conf.h | 15 +
src/libvirt_private.syms | 2 +
src/qemu/qemu_capabilities.c | 30 +-
src/qemu/qemu_capabilities.h | 7 +
src/qemu/qemu_command.c | 165 +
src/qemu/qemu_domain.c | 28 +
src/qemu/qemu_monitor.c | 5 +-
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 13 +-
src/qemu/qemu_monitor_json.h | 3 +-
.../qemucapabilitiesdata/caps_1.2.2.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.3.1.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.4.2.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.5.3.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.6.0.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.7.0.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 +-
.../caps_2.10.0-gicv2.aarch64.replies | 24 +-
.../caps_2.10.0-gicv2.aarch64.xml | 2 +-
.../caps_2.10.0-gicv3.aarch64.replies | 24 +-
.../caps_2.10.0-gicv3.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.ppc64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 26 +-
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +-
.../caps_2.10.0.x86_64.replies | 30 +-
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +-
...4.replies => caps_2.12.0-gicv2.aarch64.replies} | 3257 ++++++----
...2.aarch64.xml => caps_2.12.0-gicv2.aarch64.xml} | 24 +-
...4.replies => caps_2.12.0-gicv3.aarch64.replies} | 3261 ++++++----
...3.aarch64.xml => caps_2.12.0-gicv3.aarch64.xml} | 24 +-
...0.0.ppc64.replies => caps_2.12.0.ppc64.replies} | 6211 +++++++++++---------
...caps_2.10.0.ppc64.xml => caps_2.12.0.ppc64.xml} | 991 ++--
...0.x86_64.replies => caps_2.12.0.x86_64.replies} | 5393 ++++++++++-------
...ps_2.10.0.x86_64.xml => caps_2.12.0.x86_64.xml} | 455 +-
.../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 +-
.../caps_2.6.0-gicv2.aarch64.replies | 24 +-
.../caps_2.6.0-gicv2.aarch64.xml | 2 +-
.../caps_2.6.0-gicv3.aarch64.replies | 24 +-
.../caps_2.6.0-gicv3.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.ppc64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 26 +-
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.ppc64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 26 +-
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 30 +-
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +-
tests/qemucapabilitiestest.c | 4 +
.../pseries-features-invalid-machine.xml | 4 +
...ies-features-hpt.args => pseries-features.args} | 3 +-
...eries-features-hpt.xml => pseries-features.xml} | 4 +
tests/qemuxml2argvtest.c | 8 +-
tests/qemuxml2xmloutdata/pseries-features-hpt.xml | 1 -
tests/qemuxml2xmloutdata/pseries-features.xml | 1 +
tests/qemuxml2xmltest.c | 6 +-
78 files changed, 12668 insertions(+), 7972 deletions(-)
copy tests/qemucapabilitiesdata/{caps_2.10.0-gicv2.aarch64.replies => caps_2.12.0-gicv2.aarch64.replies} (93%)
copy tests/qemucapabilitiesdata/{caps_2.10.0-gicv2.aarch64.xml => caps_2.12.0-gicv2.aarch64.xml} (95%)
copy tests/qemucapabilitiesdata/{caps_2.10.0-gicv2.aarch64.replies => caps_2.12.0-gicv3.aarch64.replies} (93%)
copy tests/qemucapabilitiesdata/{caps_2.10.0-gicv3.aarch64.xml => caps_2.12.0-gicv3.aarch64.xml} (95%)
copy tests/qemucapabilitiesdata/{caps_2.10.0.ppc64.replies => caps_2.12.0.ppc64.replies} (87%)
copy tests/qemucapabilitiesdata/{caps_2.10.0.ppc64.xml => caps_2.12.0.ppc64.xml} (54%)
copy tests/qemucapabilitiesdata/{caps_2.10.0.x86_64.replies => caps_2.12.0.x86_64.replies} (90%)
copy tests/qemucapabilitiesdata/{caps_2.10.0.x86_64.xml => caps_2.12.0.x86_64.xml} (83%)
rename tests/qemuxml2argvdata/{pseries-features-hpt.args => pseries-features.args} (78%)
rename tests/qemuxml2argvdata/{pseries-features-hpt.xml => pseries-features.xml} (88%)
delete mode 120000 tests/qemuxml2xmloutdata/pseries-features-hpt.xml
create mode 120000 tests/qemuxml2xmloutdata/pseries-features.xml
--
2.14.3
2
12
[libvirt] fseeko broken by Fedora rawhide glibc / git master (ie future 2.28)
by Daniel P. Berrangé 05 Mar '18
by Daniel P. Berrangé 05 Mar '18
05 Mar '18
Fedora rawhide has just upgraded to the latest glibc git master snapshot,
of what will become the 2.28 release, and this has exposed bugs in gnulib's
fseeko.c implementation (and probably more macros) besides.
The issue starts are line 50:
http://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/fseeko.c#n50
#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
Historically the _IO_ftrylockfile symbol has been defined unconditionally
in glibc, by /usr/include/libio.h, which is pulled in unconditionally from
/usr/include/stdio.h
The libio.h header was deprecated in 2.27 release and is removed in git
master for future 2.28. Thus the _IO_ftrylockfile symbol has gone away.
https://sourceware.org/ml/libc-announce/2018/msg00000.html
"The nonstandard header files <libio.h> and <_G_config.h> are deprecated
and will be removed in a future release. Software that is still using
either header should be updated to use standard <stdio.h> interfaces
instead.
libio.h was originally the header for a set of supported GNU extensions,
but they have not been maintained as such in many years, they are now
standing in the way of improvements to stdio, and we don't think there are
any remaining external users. _G_config.h was never intended for public
use, but predates the bits convention."
We then fail the __GNU_LIBRARY__ test too, because modern glibc defines
that to a value of '6', not '1'.
For added fun __GNU_LIBRARY__ is considered deprecated too, with
recommendation to use other symbols like __GLIBC__ and __GLIBC_MINOR__
/* This macro indicates that the installed library is the GNU C Library.
For historic reasons the value now is 6 and this will stay from now
on. The use of this variable is deprecated. Use __GLIBC__ and
__GLIBC_MINOR__ now (see below) when you want to test for a specific
GNU C library version and use the values in <gnu/lib-names.h> to get
the sonames of the shared libraries. *
#define __GNU_LIBRARY__ 6
I hit failure on fseeko.c, but many other files in gnulib test on
_IO_ftrylockfile so I presume they are all broken.
I'm curious why we're trying to replace fseeko impl at all, since I
would expect the modern glibc impl to be suitable to use as-is.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
2
4
[libvirt] [PATCH] cfg.mak: ignore trailing whitespace in gnulib local patches
by Daniel P. Berrangé 05 Mar '18
by Daniel P. Berrangé 05 Mar '18
05 Mar '18
The diff files in gnulib/local may well contain trailing whitespace.
They are simply diff's of gnulib code which should not be modified to
follow libvirt style rules.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a build fix
cfg.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cfg.mk b/cfg.mk
index 22de11ce43..bc8088d7c0 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1224,7 +1224,7 @@ exclude_file_name_regexp--sc_require_config_h_first = \
^(examples/|tools/virsh-edit\.c$$)
exclude_file_name_regexp--sc_trailing_blank = \
- /qemuhelpdata/|/sysinfodata/.*\.data|/virhostcpudata/.*\.cpuinfo$$
+ /qemuhelpdata/|/sysinfodata/.*\.data|/virhostcpudata/.*\.cpuinfo|^gnulib/local/.*/.*diff$$
exclude_file_name_regexp--sc_unmarked_diagnostics = \
^(docs/apibuild.py|tests/virt-aa-helper-test|docs/js/.*\.js)$$
--
2.14.3
1
0
[libvirt] [PATCH] gnulib: temporary hacks to deal with glibc libio.h removal
by Daniel P. Berrangé 05 Mar '18
by Daniel P. Berrangé 05 Mar '18
05 Mar '18
GLibc deprecated libio.h in 2.27 and has removed it in current
code that will become 2.28. The latter is now in Fedora rawhide
and this change breaks gnulib which mistakenly still relies on
these ancient symbols. Add a local hack for gnulib until a
proper fix is available upstream.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a CI build fix
gnulib/local/lib/fflush.c.diff | 33 +++++++++++++++++++++++++++++++++
gnulib/local/lib/fpurge.c.diff | 13 +++++++++++++
gnulib/local/lib/freading.c.diff | 13 +++++++++++++
gnulib/local/lib/fseeko.c.diff | 22 ++++++++++++++++++++++
4 files changed, 81 insertions(+)
create mode 100644 gnulib/local/lib/fflush.c.diff
create mode 100644 gnulib/local/lib/fpurge.c.diff
create mode 100644 gnulib/local/lib/freading.c.diff
create mode 100644 gnulib/local/lib/fseeko.c.diff
diff --git a/gnulib/local/lib/fflush.c.diff b/gnulib/local/lib/fflush.c.diff
new file mode 100644
index 0000000000..fa0e2431bd
--- /dev/null
+++ b/gnulib/local/lib/fflush.c.diff
@@ -0,0 +1,33 @@
+diff --git a/lib/fflush.c b/lib/fflush.c
+index 983ade0ff..5f617305a 100644
+--- a/lib/fflush.c
++++ b/lib/fflush.c
+@@ -32,8 +32,8 @@
+
+ #undef fflush
+
+-
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#define _IO_IN_BACKUP 0x100
++#if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
+ static void
+@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
+
+ #endif
+
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
++#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */)
+
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
+ if (stream == NULL || ! freading (stream))
+ return fflush (stream);
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ clear_ungetc_buffer_preserving_position (stream);
+
diff --git a/gnulib/local/lib/fpurge.c.diff b/gnulib/local/lib/fpurge.c.diff
new file mode 100644
index 0000000000..1fd87d8bfa
--- /dev/null
+++ b/gnulib/local/lib/fpurge.c.diff
@@ -0,0 +1,13 @@
+diff --git a/lib/fpurge.c b/lib/fpurge.c
+index b1d417c7a..75cf34ca2 100644
+--- a/lib/fpurge.c
++++ b/lib/fpurge.c
+@@ -62,7 +62,7 @@ fpurge (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */
diff --git a/gnulib/local/lib/freading.c.diff b/gnulib/local/lib/freading.c.diff
new file mode 100644
index 0000000000..c51e34dd6a
--- /dev/null
+++ b/gnulib/local/lib/freading.c.diff
@@ -0,0 +1,13 @@
+diff --git a/lib/freading.c b/lib/freading.c
+index 73c28acdd..b1c397016 100644
+--- a/lib/freading.c
++++ b/lib/freading.c
+@@ -31,7 +31,7 @@ freading (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ return ((fp->_flags & _IO_NO_WRITES) != 0
+ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+ && fp->_IO_read_base != NULL));
diff --git a/gnulib/local/lib/fseeko.c.diff b/gnulib/local/lib/fseeko.c.diff
new file mode 100644
index 0000000000..b2c061fc97
--- /dev/null
+++ b/gnulib/local/lib/fseeko.c.diff
@@ -0,0 +1,22 @@
+diff --git a/lib/fseeko.c b/lib/fseeko.c
+index 0101ab55f..542241bb2 100644
+--- a/lib/fseeko.c
++++ b/lib/fseeko.c
+@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ #endif
+
+ /* These tests are based on fpurge.c. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_read_end == fp->_IO_read_ptr
+ && fp->_IO_write_ptr == fp->_IO_write_base
+ && fp->_IO_save_base == NULL)
+@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_ftrylockfile || __GNU_LIBRARY__ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
--
2.14.3
1
0
05 Mar '18
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as trivial rule
.gnulib | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gnulib b/.gnulib
index 7e7c5c7952..0404c9ae28 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit 7e7c5c7952b7de1e33c8eba891cc425d5d8d7803
+Subproject commit 0404c9ae2845cbf93d71b295b67d6c8bd39382d8
--
2.14.3
1
0
05 Mar '18
This is a continuation of my previous work to split src/Makefile.am
This series does all the other non-virt drivers and utility code
directories.
This is about as far as I'm intending to take it for now.
This is for post-freeze obviously :)
Daniel P. Berrangé (17):
make: split interface driver build rules into
interface/Makefile.inc.am
make: split network driver build rules into network/Makefile.inc.am
make: split nwfilter driver build rules into nwfilter/Makefile.inc.am
make: split nodedev driver build rules into
node_device/Makefile.inc.am
make: split secret driver build rules into secret/Makefile.inc.am
make: split storage driver build rules into storage/Makefile.inc.am
make: split remote driver & daemon build rules into
remote/Makefile.inc.am
make: split XML conf build rules into conf/Makefile.inc.am
make: split CPU build rules into cpu/Makefile.inc.am
make: split security driver build rules into security/Makefile.inc.am
make: split access driver build rules into access/Makefile.inc.am
make: split logging daemon build rules into logging/Makefile.inc.am
make: split lock daemon build rules into locking/Makefile.inc.am
make: split admin driver build rules into admin/Makefile.inc.am
make: split RPC build rules into rpc/Makefile.inc.am
make: split util build rules into util/Makefile.inc.am
make: split vmx driver build rules into vmx/Makefile.inc.am
src/Makefile.am | 1993 +--------------------------------------
src/access/Makefile.inc.am | 148 +++
src/admin/Makefile.inc.am | 50 +
src/conf/Makefile.inc.am | 163 ++++
src/cpu/Makefile.inc.am | 24 +
src/interface/Makefile.inc.am | 42 +
src/locking/Makefile.inc.am | 321 +++++++
src/logging/Makefile.inc.am | 155 +++
src/network/Makefile.inc.am | 106 +++
src/node_device/Makefile.inc.am | 65 ++
src/nwfilter/Makefile.inc.am | 42 +
src/remote/Makefile.inc.am | 342 +++++++
src/rpc/Makefile.inc.am | 147 +++
src/secret/Makefile.inc.am | 38 +
src/security/Makefile.inc.am | 80 ++
src/storage/Makefile.inc.am | 323 +++++++
src/util/Makefile.inc.am | 325 +++++++
src/vmx/Makefile.inc.am | 22 +
18 files changed, 2435 insertions(+), 1951 deletions(-)
create mode 100644 src/access/Makefile.inc.am
create mode 100644 src/admin/Makefile.inc.am
create mode 100644 src/conf/Makefile.inc.am
create mode 100644 src/cpu/Makefile.inc.am
create mode 100644 src/interface/Makefile.inc.am
create mode 100644 src/locking/Makefile.inc.am
create mode 100644 src/logging/Makefile.inc.am
create mode 100644 src/network/Makefile.inc.am
create mode 100644 src/node_device/Makefile.inc.am
create mode 100644 src/nwfilter/Makefile.inc.am
create mode 100644 src/remote/Makefile.inc.am
create mode 100644 src/rpc/Makefile.inc.am
create mode 100644 src/secret/Makefile.inc.am
create mode 100644 src/security/Makefile.inc.am
create mode 100644 src/storage/Makefile.inc.am
create mode 100644 src/util/Makefile.inc.am
create mode 100644 src/vmx/Makefile.inc.am
--
2.14.3
2
18
05 Mar '18
Applies cleanly on top of 11819aee65b8ea71860526f529d86ab646b9cd1f.
Patches 2/11 and 4/11 are the only ones missing R-bs, everything
else hasn't been significantly altered since the previous respin.
Changes from [v5]:
* patch 1 has been pushed;
* add virReportController*() functions to cut down on redundant
error reporting, as suggested by laine;
* report index and modelName along with model in error messages.
Changes from [v4]:
* patch 1/12 is new;
* use virReportEnumRangeError(), as suggested by laine.
Changes from [v3]:
* don't introduce new test cases that won't be able to provide
full test coverage anyway, as suggested by laine.
Changes from [v2]:
* replace the old implementation bit by bit using a clever trick
suggested by pkrempa;
* don't move QEMU capability validation;
* add a default: label to all switch statements as recommended
by danpb.
Changes from [v1]:
* error out instead of silently accept invalid options;
* shave quite a lot of yaks.
[v5] https://www.redhat.com/archives/libvir-list/2018-March/msg00096.html
[v4] https://www.redhat.com/archives/libvir-list/2018-February/msg01232.html
[v3] https://www.redhat.com/archives/libvir-list/2018-February/msg00996.html
[v2] https://www.redhat.com/archives/libvir-list/2018-February/msg00813.html
[v1] https://www.redhat.com/archives/libvir-list/2018-February/msg00244.html
Andrea Bolognani (11):
qemu: Create new qemuDomainDeviceDefValidateControllerPCI()
qemu: Validate PCI controller options (modelName)
qemu: Validate PCI controller options (index)
qemu: Validate PCI controller options (targetIndex)
qemu: Validate PCI controller options (pcihole64)
qemu: Validate PCI controller options (busNr)
qemu: Validate PCI controller options (numaNode)
qemu: Validate PCI controller options (chassisNr)
qemu: Validate PCI controller options (chassis and port)
qemu: Validate PCI controllers (QEMU capabilities)
qemu: Remove old qemuDomainDeviceDefValidateControllerPCI()
src/qemu/qemu_domain.c | 540 +++++++++++++++++--------
tests/qemuxml2argvdata/pcie-expander-bus.xml | 3 -
tests/qemuxml2xmloutdata/pcie-expander-bus.xml | 4 +-
3 files changed, 382 insertions(+), 165 deletions(-)
--
2.14.3
1
11
so it's not affected by flags that might be passed in $(*_LIBS) like
-L/usr/lib which might result in linking against system library and
requiring incorrect version of private symbols
---
src/Makefile.am | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 3bf2da5..cb6ee84 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1456,10 +1456,11 @@ libvirt_driver_nwfilter_impl_la_CFLAGS = \
$(AM_CFLAGS)
libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_impl_la_LIBADD = \
+ libvirt.la \
$(LIBPCAP_LIBS) \
$(LIBNL_LIBS) \
- $(DBUS_LIBS)
-libvirt_driver_nwfilter_impl_la_LIBADD += libvirt.la ../gnulib/lib/libgnu.la
+ $(DBUS_LIBS) \
+ ../gnulib/lib/libgnu.la
libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif WITH_NWFILTER
--
2.16.2
3
7
05 Mar '18
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as trivial change
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 63da8c5..c40908b 100755
--- a/setup.py
+++ b/setup.py
@@ -334,7 +334,7 @@ class my_clean(clean):
_c_modules, _py_modules = get_module_lists()
setup(name = 'libvirt-python',
- version = '4.1.0',
+ version = '4.2.0',
url = 'http://www.libvirt.org',
maintainer = 'Libvirt Maintainers',
maintainer_email = 'libvir-list(a)redhat.com',
--
2.14.3
1
0
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as trivial fix
configure.ac | 2 +-
docs/news.xml | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 5e720d1b76..970a695ad1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library. If not, see
dnl <http://www.gnu.org/licenses/>.
-AC_INIT([libvirt], [4.1.0], [libvir-list(a)redhat.com] [], [https://libvirt.org]
+AC_INIT([libvirt], [4.2.0], [libvir-list(a)redhat.com] [], [https://libvirt.org]
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
diff --git a/docs/news.xml b/docs/news.xml
index e4d61d1d7f..4da692b269 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -33,6 +33,14 @@
-->
<libvirt>
+ <release version="v4.2.0" date="unreleased">
+ <section title="New features">
+ </section>
+ <section title="Improvements">
+ </section>
+ <section title="Bug fixes">
+ </section>
+ </release>
<release version="v4.1.0" date="2018-03-05">
<section title="New features">
<change>
--
2.14.3
1
0
Re: [libvirt] [Libvirt-ci] Build failed in Jenkins: libvirt-master-mingw » libvirt-fedora-rawhide #1863
by Daniel P. Berrangé 05 Mar '18
by Daniel P. Berrangé 05 Mar '18
05 Mar '18
On Mon, Mar 05, 2018 at 02:28:37PM +0000, ci(a)centos.org wrote:
> See <https://ci.centos.org/job/libvirt-master-mingw/systems=libvirt-fedora-rawhi…>
>
> Changes:
>
> [jtomko] conf: set postParseFailed even without ALLOW_POST_PARSE_FAIL
>
> [berrange] travis: force install of python2 into $PATH on macOS
>
> ------------------------------------------
> ../../libtool: line 3227: 17288 Segmentation fault (core dumped) $MV "${write_libobj}T" "$write_libobj"
> ../../libtool: line 3780: 17291 Segmentation fault (core dumped) $RM $removelist
> /bin/sh: line 2: 17297 Segmentation fault (core dumped) mv -f $depbase.Tpo $depbase.Plo
> make[3]: *** [Makefile:2392: poll.lo] Error 139
> make[3]: *** Waiting for unfinished jobs....
Ignore this - the build host is in middle of a huge dnf update.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
1
0
[libvirt] [PATCH] travis: force install of python2 into $PATH on macOS
by Daniel P. Berrangé 05 Mar '18
by Daniel P. Berrangé 05 Mar '18
05 Mar '18
The homebrew formula's ignored Python PEP-0394 recommendations and
changed the plain python binary in /usr/local/bin to point to Python 3
instead of Python 2. Python 2 is not even installed into a location that
is in $PATH by default anymore. The homebrew packages print a message
to stderr claiming to provide a way to fix this
[quote]
This formula installs a python2 executable to /usr/local/opt/python@2/bin
If you wish to have this formula's python executable in your PATH then add
the following to ~/.bash_profile:
export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
[/quote]
When trying to update $PATH are suggested we find out this message is a
lie and /usr/local/opt/python@2 does not even exist, instead Python
seems to end up in /usr/local/Cellar/python(a)2/2.7.14_1
Rather than hardcoding this version specific directory in our travis
config, we change to run "brew link --force python@2", to make it create
symlinks in /usr/local/bin for the python2 binary.
The original change triggering this problem was
https://github.com/Homebrew/homebrew-core/pull/24604#issue-171653084
There are countless bug reports against homebrew-core that are closed
without fixes, so it seems they are determined to ignore the Python
PEP 0394 recommendations on this.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index 44f680ad07..699e4bf33a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -97,7 +97,7 @@ env:
- VIR_TEST_DEBUG=1
before_install:
- - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update && brew upgrade && brew install rpcgen yajl xz; fi
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update && brew upgrade && brew install rpcgen yajl xz && brew link --force python@2 ; fi
before_script:
- ./autogen.sh --prefix=$(pwd)/install-root
--
2.14.3
2
1
I mistakenly dropped keycodemapdb commit 6b3d716e from our libvirt 4.1.0 builds
only to stumble across the failures in py3 environments that are fixed by that
commit. Should the submodule be updated for the 4.1.0 release?
Regards,
Jim
5
7
05 Mar '18
Fix is in patch 1/2 - if virDomainDefCompatibleDevice is called with
a NULL @oldDev, then call to virDomainDeviceGetInfo would fail rather
spectacularly.
Patch 2 extends the similar fix/adjustment from the update path to
the add path for the cdrom/floppy since the add path since it's
possible to use attach device as well as update device.
John Ferlan (2):
conf: Fix crash in virDomainDefCompatibleDevice
qemu: Call virDomainDefCompatibleDevice when live add cdrom/floppy
src/conf/domain_conf.c | 5 ++++-
src/qemu/qemu_hotplug.c | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
--
2.13.6
2
4
Locks held by virtlockd are dropped on re-exec.
virtlockd 94306 POSIX 5.4G WRITE 0 0 0 /tmp/test.qcow2
virtlockd 94306 POSIX 5B WRITE 0 0 0 /run/virtlockd.pid
virtlockd 94306 POSIX 5B WRITE 0 0 0 /run/virtlockd.pid
Acquire locks in PostExecRestart code path.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
The CLOEXEC flag is set in virLockSpaceNewPostExecRestart(), so I assume
it is fine to call virFileLock() here as well.
src/util/virlockspace.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/util/virlockspace.c b/src/util/virlockspace.c
index 41af0cdb6..420878b0a 100644
--- a/src/util/virlockspace.c
+++ b/src/util/virlockspace.c
@@ -337,6 +337,7 @@ virLockSpacePtr virLockSpaceNewPostExecRestart(virJSONValuePtr object)
virJSONValuePtr owners;
size_t j;
ssize_t m;
+ bool shared = false;
if (VIR_ALLOC(res) < 0)
goto error;
@@ -389,6 +390,21 @@ virLockSpacePtr virLockSpaceNewPostExecRestart(virJSONValuePtr object)
goto error;
}
+ shared = !!(res->flags & VIR_LOCK_SPACE_ACQUIRE_SHARED);
+ if (virFileLock(res->fd, shared, 0, 1, false) < 0) {
+ if (errno == EACCES || errno == EAGAIN) {
+ virReportError(VIR_ERR_RESOURCE_BUSY,
+ _("Lockspace resource '%s' is locked"),
+ res->name);
+ } else {
+ virReportSystemError(errno,
+ _("Unable to acquire lock on '%s'"),
+ res->path);
+ }
+ virLockSpaceResourceFree(res);
+ goto error;
+ }
+
if (!(owners = virJSONValueObjectGet(child, "owners"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Missing resource owners in JSON document"));
--
2.16.2
3
5
05 Mar '18
The QEMU monitor commmand query-cpus is deprecated starting
with QEMU 2.12.0 because it can adversely affect the performance of
a running virtual machine.
This series enables libvirt to use the new query-cpus-fast interface
if supported by the local QEMU instance and is required in order
to support QEMU once the interface has been removed.
query-cpus-fast doesn't return the halted state for a virtual CPU,
meaning that the vcpu.<n>.halted value won't be reported with
'virsh domstats' anymore. This is OK, as stats values are not
guaranteed to be reported under all circumstances and on all
architectures.
Upstream discussion consensus was that the halted state was
problematic anyway, as it had different semantics per architecture.
The only known exploitation happened for s390, for this architecture
the halted state will be computed based on an architecture-specific
cpu value returned in query-cpus-fast.
Viktor Mihajlovski (6):
qemu: add capability detection for query-cpus-fast
qemu: use query-cpus-fast in JSON monitor
tests: add qemumonitorjson tests for query-cpus-fast
qemu: add architecture-specific CPU info handling
tests: add testcase for s390 query-cpus-fast
qemu: refresh vcpu halted state only via query-cpus-fast
src/qemu/qemu_capabilities.c | 4 +-
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_domain.c | 9 +-
src/qemu/qemu_monitor.c | 14 +-
src/qemu/qemu_monitor_json.c | 149 +++++++++++++++++++--
src/qemu/qemu_monitor_json.h | 3 +-
.../qemumonitorjson-cpuinfo-ppc64-hotplug-4.data | 8 ++
.../qemumonitorjson-cpuinfo-s390-fast-cpus.json | 21 +++
.../qemumonitorjson-cpuinfo-s390-fast-hotplug.json | 21 +++
.../qemumonitorjson-cpuinfo-s390-fast.data | 19 +++
...emumonitorjson-cpuinfo-x86-basic-pluggable.data | 5 +
...qemumonitorjson-cpuinfo-x86-full-fast-cpus.json | 71 ++++++++++
...umonitorjson-cpuinfo-x86-full-fast-hotplug.json | 115 ++++++++++++++++
.../qemumonitorjson-cpuinfo-x86-full-fast.data | 109 +++++++++++++++
.../qemumonitorjson-cpuinfo-x86-node-full.data | 2 +
tests/qemumonitorjsontest.c | 121 +++++++++++++----
tests/qemumonitortestutils.c | 6 +
tests/qemumonitortestutils.h | 1 +
18 files changed, 637 insertions(+), 42 deletions(-)
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-cpus.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-hotplug.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast.data
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-cpus.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-hotplug.json
create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast.data
--
1.9.1
3
12
03 Mar '18
Hi,
I notice that monitor.sock still exist when I send SIGKILL to qemu process by accident, and I can't find the qemu process
through `ps -ef |grep qemu` command.
Then I execute `virsh list --all`, libvirt just show that the vm still in running state. I can't find log "Received EOF on xxx" either
when set log level to debug.
Any suggestion will be appreciated!
Thanks,
Zongyong Wu
1
0
02 Mar '18
Extracted from a huge work-in-progres series since these look
stand-alone.
Peter Krempa (6):
qemu: Add qemu functions for storage source private data handling
qemu: domain: Split out formating of Job data from private data
formatter
qemu: domain: Don't overwrite job type in private data
qemu: domain: Return early in qemuDomainObjPrivateXMLFormatJob
qemu: domain: Use virXMLFormatElement in
qemuDomainObjPrivateXMLFormatJob
qemu: domain: Extract parsing of job-related private XML
src/qemu/qemu_domain.c | 218 ++++++++++++++++++++++++++++++-------------------
1 file changed, 134 insertions(+), 84 deletions(-)
--
2.16.2
2
8
[libvirt] [PATCH] tests: Add capabilities for QEMU 2.11.0 on s390x
by Shalini Chellathurai Saroja 02 Mar '18
by Shalini Chellathurai Saroja 02 Mar '18
02 Mar '18
Let us introduce the xml and reply files for QEMU 2.11.0 on s390x.
Signed-off-by: Shalini Chellathurai Saroja <shalini(a)linux.vnet.ibm.com>
Reviewed-by: Bjoern Walk <bwalk(a)linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.vnet.ibm.com>
---
.../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 18008 +++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2641 +++
tests/qemucapabilitiestest.c | 1 +
3 files changed, 20650 insertions(+)
create mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
new file mode 100644
index 0000000000..6768937bd5
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
@@ -0,0 +1,18008 @@
+{
+ "QMP": {
+ "version": {
+ "qemu": {
+ "micro": 0,
+ "minor": 11,
+ "major": 2
+ },
+ "package": ""
+ },
+ "capabilities": [
+ ]
+ }
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "return": {
+ "qemu": {
+ "micro": 0,
+ "minor": 11,
+ "major": 2
+ },
+ "package": ""
+ },
+ "id": "libvirt-2"
+}
+
+{
+ "return": {
+ "arch": "s390x"
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "return": [
+ {
+ "name": "netdev_add"
+ },
+ {
+ "name": "device_add"
+ },
+ {
+ "name": "query-qmp-schema"
+ },
+ {
+ "name": "xen-set-replication"
+ },
+ {
+ "name": "xen-set-global-dirty-log"
+ },
+ {
+ "name": "xen-save-devices-state"
+ },
+ {
+ "name": "xen-load-devices-state"
+ },
+ {
+ "name": "xen-colo-do-checkpoint"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256"
+ },
+ {
+ "name": "x-colo-lost-heartbeat"
+ },
+ {
+ "name": "x-blockdev-remove-medium"
+ },
+ {
+ "name": "x-blockdev-insert-medium"
+ },
+ {
+ "name": "x-blockdev-change"
+ },
+ {
+ "name": "watchdog-set-action"
+ },
+ {
+ "name": "transaction"
+ },
+ {
+ "name": "trace-event-set-state"
+ },
+ {
+ "name": "trace-event-get-state"
+ },
+ {
+ "name": "system_wakeup"
+ },
+ {
+ "name": "system_reset"
+ },
+ {
+ "name": "system_powerdown"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "set_password"
+ },
+ {
+ "name": "set_link"
+ },
+ {
+ "name": "send-key"
+ },
+ {
+ "name": "screendump"
+ },
+ {
+ "name": "ringbuf-write"
+ },
+ {
+ "name": "ringbuf-read"
+ },
+ {
+ "name": "remove-fd"
+ },
+ {
+ "name": "quit"
+ },
+ {
+ "name": "query-xen-replication-status"
+ },
+ {
+ "name": "query-vnc-servers"
+ },
+ {
+ "name": "query-vnc"
+ },
+ {
+ "name": "query-vm-generation-id"
+ },
+ {
+ "name": "query-version"
+ },
+ {
+ "name": "query-uuid"
+ },
+ {
+ "name": "query-tpm-types"
+ },
+ {
+ "name": "query-tpm-models"
+ },
+ {
+ "name": "query-tpm"
+ },
+ {
+ "name": "query-target"
+ },
+ {
+ "name": "query-status"
+ },
+ {
+ "name": "query-rx-filter"
+ },
+ {
+ "name": "query-rocker-ports"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows"
+ },
+ {
+ "name": "query-rocker"
+ },
+ {
+ "name": "query-pci"
+ },
+ {
+ "name": "query-named-block-nodes"
+ },
+ {
+ "name": "query-name"
+ },
+ {
+ "name": "query-migrate-parameters"
+ },
+ {
+ "name": "query-migrate-capabilities"
+ },
+ {
+ "name": "query-migrate-cache-size"
+ },
+ {
+ "name": "query-migrate"
+ },
+ {
+ "name": "query-mice"
+ },
+ {
+ "name": "query-memory-size-summary"
+ },
+ {
+ "name": "query-memory-devices"
+ },
+ {
+ "name": "query-memdev"
+ },
+ {
+ "name": "query-machines"
+ },
+ {
+ "name": "query-kvm"
+ },
+ {
+ "name": "query-iothreads"
+ },
+ {
+ "name": "query-hotpluggable-cpus"
+ },
+ {
+ "name": "query-fdsets"
+ },
+ {
+ "name": "query-events"
+ },
+ {
+ "name": "query-dump-guest-memory-capability"
+ },
+ {
+ "name": "query-dump"
+ },
+ {
+ "name": "query-cpus"
+ },
+ {
+ "name": "query-cpu-model-expansion"
+ },
+ {
+ "name": "query-cpu-model-comparison"
+ },
+ {
+ "name": "query-cpu-model-baseline"
+ },
+ {
+ "name": "query-cpu-definitions"
+ },
+ {
+ "name": "query-commands"
+ },
+ {
+ "name": "query-command-line-options"
+ },
+ {
+ "name": "query-chardev-backends"
+ },
+ {
+ "name": "query-chardev"
+ },
+ {
+ "name": "query-blockstats"
+ },
+ {
+ "name": "query-block-jobs"
+ },
+ {
+ "name": "query-block"
+ },
+ {
+ "name": "query-balloon"
+ },
+ {
+ "name": "query-acpi-ospm-status"
+ },
+ {
+ "name": "qom-set"
+ },
+ {
+ "name": "qom-list-types"
+ },
+ {
+ "name": "qom-list"
+ },
+ {
+ "name": "qom-get"
+ },
+ {
+ "name": "qmp_capabilities"
+ },
+ {
+ "name": "pmemsave"
+ },
+ {
+ "name": "object-del"
+ },
+ {
+ "name": "object-add"
+ },
+ {
+ "name": "netdev_del"
+ },
+ {
+ "name": "nbd-server-stop"
+ },
+ {
+ "name": "nbd-server-start"
+ },
+ {
+ "name": "nbd-server-add"
+ },
+ {
+ "name": "migrate_set_speed"
+ },
+ {
+ "name": "migrate_set_downtime"
+ },
+ {
+ "name": "migrate_cancel"
+ },
+ {
+ "name": "migrate-start-postcopy"
+ },
+ {
+ "name": "migrate-set-parameters"
+ },
+ {
+ "name": "migrate-set-capabilities"
+ },
+ {
+ "name": "migrate-set-cache-size"
+ },
+ {
+ "name": "migrate-incoming"
+ },
+ {
+ "name": "migrate-continue"
+ },
+ {
+ "name": "migrate"
+ },
+ {
+ "name": "memsave"
+ },
+ {
+ "name": "input-send-event"
+ },
+ {
+ "name": "inject-nmi"
+ },
+ {
+ "name": "human-monitor-command"
+ },
+ {
+ "name": "getfd"
+ },
+ {
+ "name": "expire_password"
+ },
+ {
+ "name": "eject"
+ },
+ {
+ "name": "dump-skeys"
+ },
+ {
+ "name": "dump-guest-memory"
+ },
+ {
+ "name": "drive-mirror"
+ },
+ {
+ "name": "drive-backup"
+ },
+ {
+ "name": "device_del"
+ },
+ {
+ "name": "device-list-properties"
+ },
+ {
+ "name": "cpu-add"
+ },
+ {
+ "name": "cpu"
+ },
+ {
+ "name": "cont"
+ },
+ {
+ "name": "closefd"
+ },
+ {
+ "name": "client_migrate_info"
+ },
+ {
+ "name": "chardev-send-break"
+ },
+ {
+ "name": "chardev-remove"
+ },
+ {
+ "name": "chardev-change"
+ },
+ {
+ "name": "chardev-add"
+ },
+ {
+ "name": "change-vnc-password"
+ },
+ {
+ "name": "change-backing-file"
+ },
+ {
+ "name": "change"
+ },
+ {
+ "name": "blockdev-snapshot-sync"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync"
+ },
+ {
+ "name": "blockdev-snapshot"
+ },
+ {
+ "name": "blockdev-open-tray"
+ },
+ {
+ "name": "blockdev-mirror"
+ },
+ {
+ "name": "blockdev-del"
+ },
+ {
+ "name": "blockdev-close-tray"
+ },
+ {
+ "name": "blockdev-change-medium"
+ },
+ {
+ "name": "blockdev-backup"
+ },
+ {
+ "name": "blockdev-add"
+ },
+ {
+ "name": "block_set_io_throttle"
+ },
+ {
+ "name": "block_resize"
+ },
+ {
+ "name": "block_passwd"
+ },
+ {
+ "name": "block-stream"
+ },
+ {
+ "name": "block-set-write-threshold"
+ },
+ {
+ "name": "block-job-set-speed"
+ },
+ {
+ "name": "block-job-resume"
+ },
+ {
+ "name": "block-job-pause"
+ },
+ {
+ "name": "block-job-complete"
+ },
+ {
+ "name": "block-job-cancel"
+ },
+ {
+ "name": "block-dirty-bitmap-remove"
+ },
+ {
+ "name": "block-dirty-bitmap-clear"
+ },
+ {
+ "name": "block-dirty-bitmap-add"
+ },
+ {
+ "name": "block-commit"
+ },
+ {
+ "name": "balloon"
+ },
+ {
+ "name": "add_client"
+ },
+ {
+ "name": "add-fd"
+ }
+ ],
+ "id": "libvirt-4"
+}
+
+{
+ "return": {
+ "fd": 15,
+ "fdset-id": 0
+ },
+ "id": "libvirt-5"
+}
+
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'bogus' not found"
+ }
+}
+
+{
+ "return": {
+ "enabled": true,
+ "present": true
+ },
+ "id": "libvirt-7"
+}
+
+{
+ "return": [
+ {
+ "name": "WATCHDOG"
+ },
+ {
+ "name": "WAKEUP"
+ },
+ {
+ "name": "VSERPORT_CHANGE"
+ },
+ {
+ "name": "VNC_INITIALIZED"
+ },
+ {
+ "name": "VNC_DISCONNECTED"
+ },
+ {
+ "name": "VNC_CONNECTED"
+ },
+ {
+ "name": "SUSPEND_DISK"
+ },
+ {
+ "name": "SUSPEND"
+ },
+ {
+ "name": "STOP"
+ },
+ {
+ "name": "SPICE_MIGRATE_COMPLETED"
+ },
+ {
+ "name": "SPICE_INITIALIZED"
+ },
+ {
+ "name": "SPICE_DISCONNECTED"
+ },
+ {
+ "name": "SPICE_CONNECTED"
+ },
+ {
+ "name": "SHUTDOWN"
+ },
+ {
+ "name": "RTC_CHANGE"
+ },
+ {
+ "name": "RESUME"
+ },
+ {
+ "name": "RESET"
+ },
+ {
+ "name": "QUORUM_REPORT_BAD"
+ },
+ {
+ "name": "QUORUM_FAILURE"
+ },
+ {
+ "name": "POWERDOWN"
+ },
+ {
+ "name": "NIC_RX_FILTER_CHANGED"
+ },
+ {
+ "name": "MIGRATION_PASS"
+ },
+ {
+ "name": "MIGRATION"
+ },
+ {
+ "name": "MEM_UNPLUG_ERROR"
+ },
+ {
+ "name": "GUEST_PANICKED"
+ },
+ {
+ "name": "DUMP_COMPLETED"
+ },
+ {
+ "name": "DEVICE_TRAY_MOVED"
+ },
+ {
+ "name": "DEVICE_DELETED"
+ },
+ {
+ "name": "BLOCK_WRITE_THRESHOLD"
+ },
+ {
+ "name": "BLOCK_JOB_READY"
+ },
+ {
+ "name": "BLOCK_JOB_ERROR"
+ },
+ {
+ "name": "BLOCK_JOB_COMPLETED"
+ },
+ {
+ "name": "BLOCK_JOB_CANCELLED"
+ },
+ {
+ "name": "BLOCK_IO_ERROR"
+ },
+ {
+ "name": "BLOCK_IMAGE_CORRUPTED"
+ },
+ {
+ "name": "BALLOON_CHANGE"
+ },
+ {
+ "name": "ACPI_DEVICE_OST"
+ }
+ ],
+ "id": "libvirt-8"
+}
+
+{
+ "return": [
+ {
+ "name": "vhost-vsock-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "s390-pcihost",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "virtio-tablet-pci",
+ "parent": "virtio-input-hid-pci"
+ },
+ {
+ "name": "z890.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-storage_attributes-qemu",
+ "parent": "s390-storage_attributes"
+ },
+ {
+ "name": "cryptodev-backend",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-rng-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "iothread",
+ "parent": "object"
+ },
+ {
+ "name": "z990.4-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-gpu-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "z10BC.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z196.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z14-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "vhost-scsi-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "i2c-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "s390-flic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-vsock-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "z9BC-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "zEC12-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z196-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z13-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z990.3-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "sclplmconsole",
+ "parent": "s390-sclp-event-type"
+ },
+ {
+ "name": "host-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "scsi-cd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "container",
+ "parent": "object"
+ },
+ {
+ "name": "chardev-null",
+ "parent": "chardev"
+ },
+ {
+ "name": "z9EC-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-pcibus",
+ "parent": "bus"
+ },
+ {
+ "name": "zBC12-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "scsi-generic",
+ "parent": "scsi-device"
+ },
+ {
+ "name": "z9EC.3-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-net-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "virtio-9p-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "z196.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "qemu-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-mouse-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "virtio-mouse-pci",
+ "parent": "virtio-input-hid-pci"
+ },
+ {
+ "name": "throttle-group",
+ "parent": "object"
+ },
+ {
+ "name": "zEC12.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "rng-egd",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "z800-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-blk-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "s390-ipl",
+ "parent": "device"
+ },
+ {
+ "name": "s390-sclp-events-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "irq",
+ "parent": "object"
+ },
+ {
+ "name": "s390-ccw-virtio-2.8-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "filter-buffer",
+ "parent": "netfilter"
+ },
+ {
+ "name": "virtconsole",
+ "parent": "virtserialport"
+ },
+ {
+ "name": "z9EC.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-rng-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "PCIE",
+ "parent": "PCI"
+ },
+ {
+ "name": "chardev-pty",
+ "parent": "chardev"
+ },
+ {
+ "name": "z900.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-memory",
+ "parent": "chardev-ringbuf"
+ },
+ {
+ "name": "sclp-cpu-hotplug",
+ "parent": "s390-sclp-event-type"
+ },
+ {
+ "name": "s390-skeys-kvm",
+ "parent": "s390-skeys"
+ },
+ {
+ "name": "s390-ccw-virtio-2.9-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "x-terminal3270",
+ "parent": "emulated-ccw-3270"
+ },
+ {
+ "name": "chardev-serial",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "virtio-keyboard-ccw",
+ "parent": "virtio-input-hid-ccw"
+ },
+ {
+ "name": "usb-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "vhost-scsi-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "filter-rewriter",
+ "parent": "netfilter"
+ },
+ {
+ "name": "sclp",
+ "parent": "device"
+ },
+ {
+ "name": "z900.3-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-crypto-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "z890-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z890-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "or-irq",
+ "parent": "device"
+ },
+ {
+ "name": "virtual-css-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "virtio-tablet-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "filter-redirector",
+ "parent": "netfilter"
+ },
+ {
+ "name": "chardev-pipe",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "unimplemented-device",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sclpquiesce",
+ "parent": "s390-sclp-event-type"
+ },
+ {
+ "name": "z990.4-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z10BC.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "scsi-disk",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "virtio-9p-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "vfio-pci-igd-lpc-bridge",
+ "parent": "pci-device"
+ },
+ {
+ "name": "z900.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "qio-channel-buffer",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-mmio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "z9BC.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z800-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-pci-iommu",
+ "parent": "object"
+ },
+ {
+ "name": "filter-dump",
+ "parent": "netfilter"
+ },
+ {
+ "name": "virtio-scsi-device",
+ "parent": "virtio-scsi-common"
+ },
+ {
+ "name": "virtio-blk-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "virtio-9p-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "z114-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-ccw-virtio-2.4-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "z13-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z990-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-ringbuf",
+ "parent": "chardev"
+ },
+ {
+ "name": "vhost-user-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "System",
+ "parent": "bus"
+ },
+ {
+ "name": "z13s-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "filter-mirror",
+ "parent": "netfilter"
+ },
+ {
+ "name": "qemu-console",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-net-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "colo-compare",
+ "parent": "object"
+ },
+ {
+ "name": "z990.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "sclp-memory-hotplug-dev",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s390-ccw-virtio-2.5-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "chardev-testdev",
+ "parent": "chardev"
+ },
+ {
+ "name": "z14-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-hci",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-keyboard-pci",
+ "parent": "virtio-input-hid-pci"
+ },
+ {
+ "name": "z890.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "input-linux",
+ "parent": "object"
+ },
+ {
+ "name": "virtual-css-bridge",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "chardev-stdio",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "qio-dns-resolver",
+ "parent": "object"
+ },
+ {
+ "name": "tls-creds-anon",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "z196-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "diag288",
+ "parent": "device"
+ },
+ {
+ "name": "memory-backend-file",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "z10EC-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-keyboard-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "z13s-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-crypto-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "qemu:memory-region",
+ "parent": "object"
+ },
+ {
+ "name": "rng-random",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "z900-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-mux",
+ "parent": "chardev"
+ },
+ {
+ "name": "chardev-udp",
+ "parent": "chardev"
+ },
+ {
+ "name": "z10EC.3-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-gdb",
+ "parent": "chardev"
+ },
+ {
+ "name": "vhost-user-scsi-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "virtio-ccw-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "z10EC.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z114-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-balloon-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "virtio-scsi-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "z990.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z9EC.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "fw_cfg_io",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "s390-ccw-virtio-2.10-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "virtio-crypto-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "z890.3-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "chardev-file",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "chardev-wctablet",
+ "parent": "chardev"
+ },
+ {
+ "name": "z900.3-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z9BC.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "vhost-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "pci-bridge-seat",
+ "parent": "pci-bridge"
+ },
+ {
+ "name": "z10BC-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z990.5-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "tcg-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "virtio-mmio-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "zEC12.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "mmio_interface",
+ "parent": "device"
+ },
+ {
+ "name": "qio-channel-command",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "s390-ccw-virtio-2.11-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "accel",
+ "parent": "object"
+ },
+ {
+ "name": "z10EC-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "pr-manager-helper",
+ "parent": "pr-manager"
+ },
+ {
+ "name": "loader",
+ "parent": "device"
+ },
+ {
+ "name": "z9EC-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z9EC.3-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-serial-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "tpm-emulator",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "s390-storage_attributes-kvm",
+ "parent": "s390-storage_attributes"
+ },
+ {
+ "name": "virtio-balloon-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "chardev-vc",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-serial-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "chardev-socket",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-serial-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "migration",
+ "parent": "device"
+ },
+ {
+ "name": "qio-channel-file",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "s390-sclp-event-facility",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s390-flic-kvm",
+ "parent": "s390-flic"
+ },
+ {
+ "name": "virtio-input-host-device",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "zEC12-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "vfio-ccw",
+ "parent": "s390-ccw"
+ },
+ {
+ "name": "virtio-gpu-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "z990.5-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z10BC-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "none-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "SCSI",
+ "parent": "bus"
+ },
+ {
+ "name": "tls-creds-x509",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "vhost-vsock-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "kvm-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "virtio-tablet-ccw",
+ "parent": "virtio-input-hid-ccw"
+ },
+ {
+ "name": "secret",
+ "parent": "object"
+ },
+ {
+ "name": "scsi-hd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "qtest-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "z900-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-balloon-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "scsi-block",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "virtio-scsi-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "fw_cfg_mem",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "s390-ccw-virtio-2.6-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "PCI",
+ "parent": "bus"
+ },
+ {
+ "name": "sclpconsole",
+ "parent": "s390-sclp-event-type"
+ },
+ {
+ "name": "z13.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-skeys-qemu",
+ "parent": "s390-skeys"
+ },
+ {
+ "name": "zpci",
+ "parent": "device"
+ },
+ {
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-input-host-pci",
+ "parent": "virtio-input-pci"
+ },
+ {
+ "name": "cryptodev-backend-builtin",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "qemu,register",
+ "parent": "device"
+ },
+ {
+ "name": "zBC12-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-ccw-virtio-2.7-machine",
+ "parent": "s390-ccw-machine"
+ },
+ {
+ "name": "z13.2-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-pci-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "s390-flic-qemu",
+ "parent": "s390-flic"
+ },
+ {
+ "name": "z890.3-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "filter-replay",
+ "parent": "netfilter"
+ },
+ {
+ "name": "chardev-parallel",
+ "parent": "chardev"
+ },
+ {
+ "name": "chardev-msmouse",
+ "parent": "chardev"
+ },
+ {
+ "name": "qio-channel-tls",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "memory-backend-ram",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "virtio-serial-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "virtserialport",
+ "parent": "virtio-serial-port"
+ },
+ {
+ "name": "smbus-eeprom",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "z990-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-net-ccw",
+ "parent": "virtio-ccw-device"
+ },
+ {
+ "name": "z10EC.2-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-rng-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "vfio-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-gpu-pci",
+ "parent": "virtio-pci"
+ },
+ {
+ "name": "virtio-mouse-ccw",
+ "parent": "virtio-input-hid-ccw"
+ },
+ {
+ "name": "z9BC-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "z10EC.3-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "s390-iommu-memory-region",
+ "parent": "qemu:iommu-memory-region"
+ },
+ {
+ "name": "qio-channel-socket",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "z990.3-base-s390x-cpu",
+ "parent": "s390x-cpu"
+ },
+ {
+ "name": "virtio-blk-device",
+ "parent": "virtio-device"
+ }
+ ],
+ "id": "libvirt-9"
+}
+
+{
+ "return": [
+ {
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "name": "request-merging",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "min_io_size",
+ "type": "uint16"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "scsi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "logical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "discard_granularity",
+ "type": "uint32"
+ },
+ {
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "name": "physical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "config-wce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-blk-device>"
+ },
+ {
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "num-queues",
+ "type": "uint16"
+ },
+ {
+ "name": "opt_io_size",
+ "type": "uint32"
+ },
+ {
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-10"
+}
+
+{
+ "return": [
+ {
+ "name": "ctrl_mac_addr",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_rx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "mrg_rxbuf",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-txtimer",
+ "type": "uint32"
+ },
+ {
+ "name": "host_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "ctrl_rx_extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "gso",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "name": "vlan",
+ "description": "Integer VLAN id to connect to",
+ "type": "int32"
+ },
+ {
+ "name": "x-txburst",
+ "type": "int32"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_mtu",
+ "type": "uint16"
+ },
+ {
+ "name": "ctrl_vlan",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-net-device>"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "name": "guest_announce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_guest_offloads",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "mq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "mac",
+ "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56",
+ "type": "str"
+ },
+ {
+ "name": "tx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "tx",
+ "type": "str"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-mtu-bypass-backend",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "netdev",
+ "description": "ID of a netdev to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rx_queue_size",
+ "type": "uint16"
+ }
+ ],
+ "id": "libvirt-11"
+}
+
+{
+ "return": [
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "virtqueue_size",
+ "type": "uint32"
+ },
+ {
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "cmd_per_lun",
+ "type": "uint32"
+ },
+ {
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "num_queues",
+ "type": "uint32"
+ },
+ {
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_sectors",
+ "type": "uint32"
+ },
+ {
+ "name": "param_change",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-scsi-device>"
+ },
+ {
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-12"
+}
+
+{
+ "return": [
+ {
+ "name": "min_io_size",
+ "type": "uint16"
+ },
+ {
+ "name": "request-merging",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "devno",
+ "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
+ "type": "str"
+ },
+ {
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "name": "logical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "scsi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "max_revision",
+ "type": "uint32"
+ },
+ {
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "discard_granularity",
+ "type": "uint32"
+ },
+ {
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "name": "physical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-blk-device>"
+ },
+ {
+ "name": "config-wce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "num-queues",
+ "type": "uint16"
+ },
+ {
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "opt_io_size",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-13"
+}
+
+{
+ "return": [
+ {
+ "name": "x-txtimer",
+ "type": "uint32"
+ },
+ {
+ "name": "guest_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "mq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "tx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "devno",
+ "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
+ "type": "str"
+ },
+ {
+ "name": "tx",
+ "type": "str"
+ },
+ {
+ "name": "ctrl_rx_extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "mac",
+ "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56",
+ "type": "str"
+ },
+ {
+ "name": "rx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "name": "guest_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest_csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_revision",
+ "type": "uint32"
+ },
+ {
+ "name": "guest_announce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "gso",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_rx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-txburst",
+ "type": "int32"
+ },
+ {
+ "name": "ctrl_vlan",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "mrg_rxbuf",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_guest_offloads",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-mtu-bypass-backend",
+ "type": "bool"
+ },
+ {
+ "name": "ctrl_mac_addr",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vlan",
+ "description": "Integer VLAN id to connect to",
+ "type": "int32"
+ },
+ {
+ "name": "host_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-net-device>"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "netdev",
+ "description": "ID of a netdev to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "host_mtu",
+ "type": "uint16"
+ }
+ ],
+ "id": "libvirt-14"
+}
+
+{
+ "return": [
+ {
+ "name": "max_sectors",
+ "type": "uint32"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "cmd_per_lun",
+ "type": "uint32"
+ },
+ {
+ "name": "devno",
+ "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
+ "type": "str"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "name": "virtqueue_size",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-scsi-device>"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "num_queues",
+ "type": "uint32"
+ },
+ {
+ "name": "param_change",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_revision",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-15"
+}
+
+{
+ "id": "libvirt-16",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-blk-s390' not found"
+ }
+}
+
+{
+ "id": "libvirt-17",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-net-s390' not found"
+ }
+}
+
+{
+ "id": "libvirt-18",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'pci-assign' not found"
+ }
+}
+
+{
+ "id": "libvirt-19",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'kvm-pci-assign' not found"
+ }
+}
+
+{
+ "return": [
+ {
+ "name": "x-pci-sub-device-id",
+ "type": "uint32"
+ },
+ {
+ "name": "x-no-kvm-msi",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-igd-opregion",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-vga",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pci-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-req",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-igd-gms",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "name": "x-no-kvm-intx",
+ "type": "bool"
+ },
+ {
+ "name": "x-pci-device-id",
+ "type": "uint32"
+ },
+ {
+ "name": "host",
+ "description": "Address (bus/device/function) of the host device, example: 04:10.0",
+ "type": "str"
+ },
+ {
+ "name": "x-no-kvm-msix",
+ "type": "bool"
+ },
+ {
+ "name": "x-intx-mmap-timeout-ms",
+ "type": "uint32"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "x-pci-sub-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "name": "x-nv-gpudirect-clique",
+ "description": "NVIDIA GPUDirect Clique ID (0 - 15)",
+ "type": "uint4"
+ },
+ {
+ "name": "sysfsdev",
+ "type": "str"
+ },
+ {
+ "name": "x-no-mmap",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-20"
+}
+
+{
+ "return": [
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "name": "port_index",
+ "type": "uint16"
+ },
+ {
+ "name": "dpofua",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "logical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "discard_granularity",
+ "type": "uint32"
+ },
+ {
+ "name": "lun",
+ "type": "uint32"
+ },
+ {
+ "name": "max_unmap_size",
+ "type": "uint64"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "port_wwn",
+ "type": "uint64"
+ },
+ {
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "name": "opt_io_size",
+ "type": "uint32"
+ },
+ {
+ "name": "min_io_size",
+ "type": "uint16"
+ },
+ {
+ "name": "product",
+ "type": "str"
+ },
+ {
+ "name": "scsi-id",
+ "type": "uint32"
+ },
+ {
+ "name": "channel",
+ "type": "uint32"
+ },
+ {
+ "name": "vendor",
+ "type": "str"
+ },
+ {
+ "name": "wwn",
+ "type": "uint64"
+ },
+ {
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "removable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "ver",
+ "type": "str"
+ },
+ {
+ "name": "physical_block_size",
+ "description": "A power of two between 512 and 32768",
+ "type": "uint16"
+ },
+ {
+ "name": "max_io_size",
+ "type": "uint64"
+ }
+ ],
+ "id": "libvirt-21"
+}
+
+{
+ "id": "libvirt-22",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'ide-drive' not found"
+ }
+}
+
+{
+ "id": "libvirt-23",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'PIIX4_PM' not found"
+ }
+}
+
+{
+ "id": "libvirt-24",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'usb-redir' not found"
+ }
+}
+
+{
+ "id": "libvirt-25",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'usb-host' not found"
+ }
+}
+
+{
+ "return": [
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "lun",
+ "type": "uint32"
+ },
+ {
+ "name": "channel",
+ "type": "uint32"
+ },
+ {
+ "name": "scsi-id",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-26"
+}
+
+{
+ "id": "libvirt-27",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'i440FX-pcihost' not found"
+ }
+}
+
+{
+ "id": "libvirt-28",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'q35-pcihost' not found"
+ }
+}
+
+{
+ "id": "libvirt-29",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'usb-storage' not found"
+ }
+}
+
+{
+ "id": "libvirt-30",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'kvm-pit' not found"
+ }
+}
+
+{
+ "id": "libvirt-31",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'VGA' not found"
+ }
+}
+
+{
+ "id": "libvirt-32",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'vmware-svga' not found"
+ }
+}
+
+{
+ "id": "libvirt-33",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'qxl' not found"
+ }
+}
+
+{
+ "return": [
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-gpu-device>"
+ },
+ {
+ "name": "max_hostmem",
+ "type": "size"
+ },
+ {
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-34"
+}
+
+{
+ "return": [
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "name": "max_hostmem",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-35"
+}
+
+{
+ "id": "libvirt-36",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'ICH9-LPC' not found"
+ }
+}
+
+{
+ "return": [
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-balloon-device>"
+ },
+ {
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
+{
+ "return": [
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "devno",
+ "description": "Identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
+ "type": "str"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-balloon-device>"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "max_revision",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-38"
+}
+
+{
+ "return": [
+ {
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-39"
+}
+
+{
+ "id": "libvirt-40",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'nec-usb-xhci' not found"
+ }
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.7",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.6",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "cpu-max": 1
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.11",
+ "is-default": true,
+ "cpu-max": 248,
+ "alias": "s390-ccw-virtio"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.10",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.5",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.4",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.9",
+ "cpu-max": 248
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "s390-ccw-virtio-2.8",
+ "cpu-max": 248
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
+ "name": "z890.2",
+ "typename": "z890.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.4",
+ "typename": "z990.4-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC.2",
+ "typename": "z10BC.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z196.2",
+ "typename": "z196.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z14",
+ "typename": "z14-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC-base",
+ "typename": "z9BC-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12-base",
+ "typename": "zEC12-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z196-base",
+ "typename": "z196-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13-base",
+ "typename": "z13-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.3",
+ "typename": "z990.3-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "host",
+ "typename": "host-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "z9EC",
+ "typename": "z9EC-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zBC12",
+ "typename": "zBC12-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.3",
+ "typename": "z9EC.3-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z196.2-base",
+ "typename": "z196.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu",
+ "typename": "qemu-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12.2-base",
+ "typename": "zEC12.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z800-base",
+ "typename": "z800-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.2",
+ "typename": "z9EC.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.2-base",
+ "typename": "z900.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.3",
+ "typename": "z900.3-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z890-base",
+ "typename": "z890-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890",
+ "typename": "z890-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.4-base",
+ "typename": "z990.4-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC.2-base",
+ "typename": "z10BC.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.2",
+ "typename": "z900.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC.2-base",
+ "typename": "z9BC.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z800",
+ "typename": "z800-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z114",
+ "typename": "z114-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13",
+ "typename": "z13-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990",
+ "typename": "z990-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13s-base",
+ "typename": "z13s-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.2",
+ "typename": "z990.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z14-base",
+ "typename": "z14-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.2-base",
+ "typename": "z890.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z196",
+ "typename": "z196-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC",
+ "typename": "z10EC-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13s",
+ "typename": "z13s-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900",
+ "typename": "z900-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.3",
+ "typename": "z10EC.3-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.2-base",
+ "typename": "z10EC.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z114-base",
+ "typename": "z114-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.2-base",
+ "typename": "z990.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.2-base",
+ "typename": "z9EC.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.3",
+ "typename": "z890.3-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.3-base",
+ "typename": "z900.3-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC.2",
+ "typename": "z9BC.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC",
+ "typename": "z10BC-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.5",
+ "typename": "z990.5-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12.2",
+ "typename": "zEC12.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC-base",
+ "typename": "z10EC-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC-base",
+ "typename": "z9EC-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.3-base",
+ "typename": "z9EC.3-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12",
+ "typename": "zEC12-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.5-base",
+ "typename": "z990.5-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC-base",
+ "typename": "z10BC-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900-base",
+ "typename": "z900-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13.2",
+ "typename": "z13.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zBC12-base",
+ "typename": "zBC12-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13.2-base",
+ "typename": "z13.2-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.3-base",
+ "typename": "z890.3-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990-base",
+ "typename": "z990-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.2",
+ "typename": "z10EC.2-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC",
+ "typename": "z9BC-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.3-base",
+ "typename": "z10EC.3-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.3-base",
+ "typename": "z990.3-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ }
+ ],
+ "id": "libvirt-42"
+}
+
+{
+ "return": [
+ ],
+ "id": "libvirt-43"
+}
+
+{
+ "return": [
+ "emulator"
+ ],
+ "id": "libvirt-44"
+}
+
+{
+ "return": [
+ {
+ "parameters": [
+ {
+ "name": "non-adaptive",
+ "type": "boolean"
+ },
+ {
+ "name": "lossy",
+ "type": "boolean"
+ },
+ {
+ "name": "acl",
+ "type": "boolean"
+ },
+ {
+ "name": "x509verify",
+ "type": "string"
+ },
+ {
+ "name": "tls",
+ "type": "boolean"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "key-delay-ms",
+ "type": "number"
+ },
+ {
+ "name": "lock-key-sync",
+ "type": "boolean"
+ },
+ {
+ "name": "reverse",
+ "type": "boolean"
+ },
+ {
+ "name": "password",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "to",
+ "type": "number"
+ },
+ {
+ "name": "connections",
+ "type": "number"
+ },
+ {
+ "name": "head",
+ "type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "type": "string"
+ },
+ {
+ "name": "x509",
+ "type": "string"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "websocket",
+ "type": "string"
+ },
+ {
+ "name": "vnc",
+ "type": "string"
+ }
+ ],
+ "option": "vnc"
+ },
+ {
+ "parameters": [
+ {
+ "name": "dmode",
+ "type": "number"
+ },
+ {
+ "name": "fmode",
+ "type": "number"
+ },
+ {
+ "name": "sock_fd",
+ "type": "number"
+ },
+ {
+ "name": "socket",
+ "type": "string"
+ },
+ {
+ "name": "readonly",
+ "type": "boolean"
+ },
+ {
+ "name": "writeout",
+ "type": "string"
+ },
+ {
+ "name": "security_model",
+ "type": "string"
+ },
+ {
+ "name": "mount_tag",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "fsdriver",
+ "type": "string"
+ }
+ ],
+ "option": "virtfs"
+ },
+ {
+ "parameters": [
+ {
+ "name": "throttling.iops-size",
+ "help": "when limiting by iops max size of an I/O in bytes",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max-length",
+ "help": "length of the bps-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max-length",
+ "help": "length of the bps-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max-length",
+ "help": "length of the bps-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max-length",
+ "help": "length of the iops-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max-length",
+ "help": "length of the iops-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max-length",
+ "help": "length of the iops-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max",
+ "help": "total bytes write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max",
+ "help": "total bytes read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max",
+ "help": "total bytes burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max",
+ "help": "I/O operations write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max",
+ "help": "I/O operations read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max",
+ "help": "I/O operations burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write",
+ "help": "limit write bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read",
+ "help": "limit read bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total",
+ "help": "limit total bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write",
+ "help": "limit write operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read",
+ "help": "limit read operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total",
+ "help": "limit total I/O operations per second",
+ "type": "number"
+ },
+ {
+ "name": "dmode",
+ "type": "number"
+ },
+ {
+ "name": "fmode",
+ "type": "number"
+ },
+ {
+ "name": "sock_fd",
+ "type": "number"
+ },
+ {
+ "name": "socket",
+ "type": "string"
+ },
+ {
+ "name": "readonly",
+ "type": "boolean"
+ },
+ {
+ "name": "writeout",
+ "type": "string"
+ },
+ {
+ "name": "security_model",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "fsdriver",
+ "type": "string"
+ }
+ ],
+ "option": "fsdev"
+ },
+ {
+ "parameters": [
+ {
+ "name": "string",
+ "help": "Sets content of the blob to be inserted from a string",
+ "type": "string"
+ },
+ {
+ "name": "file",
+ "help": "Sets the name of the file from which\nthe fw_cfg blob will be loaded",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "help": "Sets the fw_cfg name of the blob to be inserted",
+ "type": "string"
+ }
+ ],
+ "option": "fw_cfg"
+ },
+ {
+ "parameters": [
+ {
+ "name": "arg",
+ "type": "string"
+ },
+ {
+ "name": "target",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "boolean"
+ }
+ ],
+ "option": "semihosting-config"
+ },
+ {
+ "parameters": [
+ {
+ "name": "rrsnapshot",
+ "type": "string"
+ },
+ {
+ "name": "rrfile",
+ "type": "string"
+ },
+ {
+ "name": "rr",
+ "type": "string"
+ },
+ {
+ "name": "sleep",
+ "type": "boolean"
+ },
+ {
+ "name": "align",
+ "type": "boolean"
+ },
+ {
+ "name": "shift",
+ "type": "string"
+ }
+ ],
+ "option": "icount"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "numa"
+ },
+ {
+ "parameters": [
+ {
+ "name": "debug-threads",
+ "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.",
+ "type": "boolean"
+ },
+ {
+ "name": "process",
+ "help": "Sets the name of the QEMU process, as shown in top etc",
+ "type": "string"
+ },
+ {
+ "name": "guest",
+ "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server",
+ "type": "string"
+ }
+ ],
+ "option": "name"
+ },
+ {
+ "parameters": [
+ {
+ "name": "timestamp",
+ "type": "boolean"
+ }
+ ],
+ "option": "msg"
+ },
+ {
+ "parameters": [
+ {
+ "name": "mlock",
+ "type": "boolean"
+ }
+ ],
+ "option": "realtime"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "tpmdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "object"
+ },
+ {
+ "parameters": [
+ {
+ "name": "opaque",
+ "help": "free-form string used to describe fd",
+ "type": "string"
+ },
+ {
+ "name": "set",
+ "help": "ID of the fd set to add fd to",
+ "type": "number"
+ },
+ {
+ "name": "fd",
+ "help": "file descriptor of which a duplicate is added to fd set",
+ "type": "number"
+ }
+ ],
+ "option": "add-fd"
+ },
+ {
+ "parameters": [
+ {
+ "name": "resourcecontrol",
+ "type": "string"
+ },
+ {
+ "name": "spawn",
+ "type": "string"
+ },
+ {
+ "name": "elevateprivileges",
+ "type": "string"
+ },
+ {
+ "name": "obsolete",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "boolean"
+ }
+ ],
+ "option": "sandbox"
+ },
+ {
+ "parameters": [
+ {
+ "name": "strict",
+ "type": "boolean"
+ },
+ {
+ "name": "reboot-timeout",
+ "type": "string"
+ },
+ {
+ "name": "splash-time",
+ "type": "string"
+ },
+ {
+ "name": "splash",
+ "type": "string"
+ },
+ {
+ "name": "menu",
+ "type": "boolean"
+ },
+ {
+ "name": "once",
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "type": "string"
+ }
+ ],
+ "option": "boot-opts"
+ },
+ {
+ "parameters": [
+ {
+ "name": "maxcpus",
+ "type": "number"
+ },
+ {
+ "name": "threads",
+ "type": "number"
+ },
+ {
+ "name": "cores",
+ "type": "number"
+ },
+ {
+ "name": "sockets",
+ "type": "number"
+ },
+ {
+ "name": "cpus",
+ "type": "number"
+ }
+ ],
+ "option": "smp-opts"
+ },
+ {
+ "parameters": [
+ {
+ "name": "maxmem",
+ "type": "size"
+ },
+ {
+ "name": "slots",
+ "type": "number"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ }
+ ],
+ "option": "memory"
+ },
+ {
+ "parameters": [
+ {
+ "name": "thread",
+ "help": "Enable/disable multi-threaded TCG",
+ "type": "string"
+ },
+ {
+ "name": "accel",
+ "help": "Select the type of accelerator",
+ "type": "string"
+ }
+ ],
+ "option": "accel"
+ },
+ {
+ "parameters": [
+ {
+ "name": "loadparm",
+ "help": "Up to 8 chars in set of [A-Za-z0-9. ](lower case chars converted to upper case) to pass to machine loader, boot manager, and guest kernel",
+ "type": "string"
+ },
+ {
+ "name": "dea-key-wrap",
+ "help": "enable/disable DEA key wrapping using the CPACF wrapping key",
+ "type": "boolean"
+ },
+ {
+ "name": "aes-key-wrap",
+ "help": "enable/disable AES key wrapping using the CPACF wrapping key",
+ "type": "boolean"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "help": "Set on to disable self-describing migration",
+ "type": "boolean"
+ },
+ {
+ "name": "iommu",
+ "help": "Set on/off to enable/disable Intel IOMMU (VT-d)",
+ "type": "boolean"
+ },
+ {
+ "name": "firmware",
+ "help": "firmware image",
+ "type": "string"
+ },
+ {
+ "name": "usb",
+ "help": "Set on/off to enable/disable usb",
+ "type": "boolean"
+ },
+ {
+ "name": "mem-merge",
+ "help": "enable/disable memory merge support",
+ "type": "boolean"
+ },
+ {
+ "name": "dump-guest-core",
+ "help": "Include guest memory in a core dump",
+ "type": "boolean"
+ },
+ {
+ "name": "dt_compatible",
+ "help": "Overrides the \"compatible\" property of the dt root node",
+ "type": "string"
+ },
+ {
+ "name": "phandle_start",
+ "help": "The first phandle ID we may generate dynamically",
+ "type": "number"
+ },
+ {
+ "name": "dumpdtb",
+ "help": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "dtb",
+ "help": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "help": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "initrd",
+ "help": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "kernel",
+ "help": "Linux kernel image file",
+ "type": "string"
+ },
+ {
+ "name": "kvm_shadow_mem",
+ "help": "KVM shadow MMU size",
+ "type": "size"
+ },
+ {
+ "name": "kernel_irqchip",
+ "help": "use KVM in-kernel irqchip",
+ "type": "boolean"
+ },
+ {
+ "name": "accel",
+ "help": "accelerator list",
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "help": "emulated machine",
+ "type": "string"
+ }
+ ],
+ "option": "machine"
+ },
+ {
+ "parameters": [
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "bootindex",
+ "type": "number"
+ }
+ ],
+ "option": "option-rom"
+ },
+ {
+ "parameters": [
+ {
+ "name": "file",
+ "type": "string"
+ },
+ {
+ "name": "events",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "string"
+ }
+ ],
+ "option": "trace"
+ },
+ {
+ "parameters": [
+ {
+ "name": "pretty",
+ "type": "boolean"
+ },
+ {
+ "name": "default",
+ "type": "boolean"
+ },
+ {
+ "name": "chardev",
+ "type": "string"
+ },
+ {
+ "name": "mode",
+ "type": "string"
+ }
+ ],
+ "option": "mon"
+ },
+ {
+ "parameters": [
+ {
+ "name": "value",
+ "type": "string"
+ },
+ {
+ "name": "property",
+ "type": "string"
+ },
+ {
+ "name": "driver",
+ "type": "string"
+ }
+ ],
+ "option": "global"
+ },
+ {
+ "parameters": [
+ {
+ "name": "driftfix",
+ "type": "string"
+ },
+ {
+ "name": "clock",
+ "type": "string"
+ },
+ {
+ "name": "base",
+ "type": "string"
+ }
+ ],
+ "option": "rtc"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "net"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "netdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "device"
+ },
+ {
+ "parameters": [
+ {
+ "name": "logappend",
+ "type": "boolean"
+ },
+ {
+ "name": "logfile",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "type": "boolean"
+ },
+ {
+ "name": "chardev",
+ "type": "string"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ },
+ {
+ "name": "debug",
+ "type": "number"
+ },
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "signal",
+ "type": "boolean"
+ },
+ {
+ "name": "mux",
+ "type": "boolean"
+ },
+ {
+ "name": "rows",
+ "type": "number"
+ },
+ {
+ "name": "cols",
+ "type": "number"
+ },
+ {
+ "name": "height",
+ "type": "number"
+ },
+ {
+ "name": "width",
+ "type": "number"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "tn3270",
+ "type": "boolean"
+ },
+ {
+ "name": "telnet",
+ "type": "boolean"
+ },
+ {
+ "name": "reconnect",
+ "type": "number"
+ },
+ {
+ "name": "delay",
+ "type": "boolean"
+ },
+ {
+ "name": "server",
+ "type": "boolean"
+ },
+ {
+ "name": "wait",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "to",
+ "type": "number"
+ },
+ {
+ "name": "localport",
+ "type": "string"
+ },
+ {
+ "name": "localaddr",
+ "type": "string"
+ },
+ {
+ "name": "port",
+ "type": "string"
+ },
+ {
+ "name": "host",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "backend",
+ "type": "string"
+ }
+ ],
+ "option": "chardev"
+ },
+ {
+ "parameters": [
+ {
+ "name": "copy-on-read",
+ "help": "copy read data from backing file into image file",
+ "type": "boolean"
+ },
+ {
+ "name": "werror",
+ "help": "write error action",
+ "type": "string"
+ },
+ {
+ "name": "rerror",
+ "help": "read error action",
+ "type": "string"
+ },
+ {
+ "name": "read-only",
+ "help": "open drive file as read-only",
+ "type": "boolean"
+ },
+ {
+ "name": "file",
+ "help": "file name",
+ "type": "string"
+ },
+ {
+ "name": "serial",
+ "help": "disk serial number",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "help": "pci address (virtio only)",
+ "type": "string"
+ },
+ {
+ "name": "boot",
+ "help": "(deprecated, ignored)",
+ "type": "boolean"
+ },
+ {
+ "name": "trans",
+ "help": "chs translation (auto, lba, none)",
+ "type": "string"
+ },
+ {
+ "name": "secs",
+ "help": "number of sectors (ide disk geometry)",
+ "type": "number"
+ },
+ {
+ "name": "heads",
+ "help": "number of heads (ide disk geometry)",
+ "type": "number"
+ },
+ {
+ "name": "cyls",
+ "help": "number of cylinders (ide disk geometry)",
+ "type": "number"
+ },
+ {
+ "name": "if",
+ "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
+ "type": "string"
+ },
+ {
+ "name": "media",
+ "help": "media type (disk, cdrom)",
+ "type": "string"
+ },
+ {
+ "name": "index",
+ "help": "index number",
+ "type": "number"
+ },
+ {
+ "name": "unit",
+ "help": "unit number (i.e. lun for scsi)",
+ "type": "number"
+ },
+ {
+ "name": "bus",
+ "help": "bus number",
+ "type": "number"
+ },
+ {
+ "name": "stats-account-failed",
+ "help": "whether to account for failed I/O operations in the statistics",
+ "type": "boolean"
+ },
+ {
+ "name": "stats-account-invalid",
+ "help": "whether to account for invalid I/O operations in the statistics",
+ "type": "boolean"
+ },
+ {
+ "name": "detect-zeroes",
+ "help": "try to optimize zero writes (off, on, unmap)",
+ "type": "string"
+ },
+ {
+ "name": "throttling.group",
+ "help": "name of the block throttling group",
+ "type": "string"
+ },
+ {
+ "name": "throttling.iops-size",
+ "help": "when limiting by iops max size of an I/O in bytes",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max-length",
+ "help": "length of the bps-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max-length",
+ "help": "length of the bps-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max-length",
+ "help": "length of the bps-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max-length",
+ "help": "length of the iops-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max-length",
+ "help": "length of the iops-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max-length",
+ "help": "length of the iops-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max",
+ "help": "total bytes write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max",
+ "help": "total bytes read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max",
+ "help": "total bytes burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max",
+ "help": "I/O operations write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max",
+ "help": "I/O operations read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max",
+ "help": "I/O operations burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write",
+ "help": "limit write bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read",
+ "help": "limit read bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total",
+ "help": "limit total bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write",
+ "help": "limit write operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read",
+ "help": "limit read operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total",
+ "help": "limit total I/O operations per second",
+ "type": "number"
+ },
+ {
+ "name": "werror",
+ "help": "write error action",
+ "type": "string"
+ },
+ {
+ "name": "format",
+ "help": "disk format (raw, qcow2, ...)",
+ "type": "string"
+ },
+ {
+ "name": "cache.writeback",
+ "help": "Enable writeback mode",
+ "type": "boolean"
+ },
+ {
+ "name": "aio",
+ "help": "host AIO implementation (threads, native)",
+ "type": "string"
+ },
+ {
+ "name": "snapshot",
+ "help": "enable/disable snapshot mode",
+ "type": "boolean"
+ },
+ {
+ "name": "force-share",
+ "help": "always accept other writers (default: off)",
+ "type": "boolean"
+ },
+ {
+ "name": "discard",
+ "help": "discard operation (ignore/off, unmap/on)",
+ "type": "string"
+ },
+ {
+ "name": "read-only",
+ "help": "Node is opened in read-only mode",
+ "type": "boolean"
+ },
+ {
+ "name": "cache.no-flush",
+ "help": "Ignore flush requests",
+ "type": "boolean"
+ },
+ {
+ "name": "cache.direct",
+ "help": "Bypass software writeback cache on the host",
+ "type": "boolean"
+ },
+ {
+ "name": "driver",
+ "help": "Block driver to use for the node",
+ "type": "string"
+ },
+ {
+ "name": "node-name",
+ "help": "Node name of the block device node",
+ "type": "string"
+ }
+ ],
+ "option": "drive"
+ }
+ ],
+ "id": "libvirt-45"
+}
+
+{
+ "return": [
+ {
+ "state": false,
+ "capability": "xbzrle"
+ },
+ {
+ "state": false,
+ "capability": "rdma-pin-all"
+ },
+ {
+ "state": false,
+ "capability": "auto-converge"
+ },
+ {
+ "state": false,
+ "capability": "zero-blocks"
+ },
+ {
+ "state": false,
+ "capability": "compress"
+ },
+ {
+ "state": false,
+ "capability": "events"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-ram"
+ },
+ {
+ "state": false,
+ "capability": "x-colo"
+ },
+ {
+ "state": false,
+ "capability": "release-ram"
+ },
+ {
+ "state": false,
+ "capability": "block"
+ },
+ {
+ "state": false,
+ "capability": "return-path"
+ },
+ {
+ "state": false,
+ "capability": "pause-before-switchover"
+ },
+ {
+ "state": false,
+ "capability": "x-multifd"
+ }
+ ],
+ "id": "libvirt-46"
+}
+
+{
+ "return": [
+ {
+ "name": "ACPI_DEVICE_OST",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "BALLOON_CHANGE",
+ "meta-type": "event",
+ "arg-type": "1"
+ },
+ {
+ "name": "BLOCK_IMAGE_CORRUPTED",
+ "meta-type": "event",
+ "arg-type": "2"
+ },
+ {
+ "name": "BLOCK_IO_ERROR",
+ "meta-type": "event",
+ "arg-type": "3"
+ },
+ {
+ "name": "BLOCK_JOB_CANCELLED",
+ "meta-type": "event",
+ "arg-type": "4"
+ },
+ {
+ "name": "BLOCK_JOB_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "5"
+ },
+ {
+ "name": "BLOCK_JOB_ERROR",
+ "meta-type": "event",
+ "arg-type": "6"
+ },
+ {
+ "name": "BLOCK_JOB_READY",
+ "meta-type": "event",
+ "arg-type": "7"
+ },
+ {
+ "name": "BLOCK_WRITE_THRESHOLD",
+ "meta-type": "event",
+ "arg-type": "8"
+ },
+ {
+ "name": "DEVICE_DELETED",
+ "meta-type": "event",
+ "arg-type": "9"
+ },
+ {
+ "name": "DEVICE_TRAY_MOVED",
+ "meta-type": "event",
+ "arg-type": "10"
+ },
+ {
+ "name": "DUMP_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "11"
+ },
+ {
+ "name": "GUEST_PANICKED",
+ "meta-type": "event",
+ "arg-type": "12"
+ },
+ {
+ "name": "MEM_UNPLUG_ERROR",
+ "meta-type": "event",
+ "arg-type": "13"
+ },
+ {
+ "name": "MIGRATION",
+ "meta-type": "event",
+ "arg-type": "14"
+ },
+ {
+ "name": "MIGRATION_PASS",
+ "meta-type": "event",
+ "arg-type": "15"
+ },
+ {
+ "name": "NIC_RX_FILTER_CHANGED",
+ "meta-type": "event",
+ "arg-type": "16"
+ },
+ {
+ "name": "POWERDOWN",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "QUORUM_FAILURE",
+ "meta-type": "event",
+ "arg-type": "18"
+ },
+ {
+ "name": "QUORUM_REPORT_BAD",
+ "meta-type": "event",
+ "arg-type": "19"
+ },
+ {
+ "name": "RESET",
+ "meta-type": "event",
+ "arg-type": "20"
+ },
+ {
+ "name": "RESUME",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "RTC_CHANGE",
+ "meta-type": "event",
+ "arg-type": "21"
+ },
+ {
+ "name": "SHUTDOWN",
+ "meta-type": "event",
+ "arg-type": "22"
+ },
+ {
+ "name": "SPICE_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "23"
+ },
+ {
+ "name": "SPICE_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "24"
+ },
+ {
+ "name": "SPICE_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "25"
+ },
+ {
+ "name": "SPICE_MIGRATE_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "STOP",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "SUSPEND",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "SUSPEND_DISK",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "VNC_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "26"
+ },
+ {
+ "name": "VNC_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "27"
+ },
+ {
+ "name": "VNC_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "28"
+ },
+ {
+ "name": "VSERPORT_CHANGE",
+ "meta-type": "event",
+ "arg-type": "29"
+ },
+ {
+ "name": "WAKEUP",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "WATCHDOG",
+ "meta-type": "event",
+ "arg-type": "30"
+ },
+ {
+ "name": "add-fd",
+ "ret-type": "32",
+ "meta-type": "command",
+ "arg-type": "31"
+ },
+ {
+ "name": "add_client",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "33"
+ },
+ {
+ "name": "balloon",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "34"
+ },
+ {
+ "name": "block-commit",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "35"
+ },
+ {
+ "name": "block-dirty-bitmap-add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "36"
+ },
+ {
+ "name": "block-dirty-bitmap-clear",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-remove",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-job-cancel",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "38"
+ },
+ {
+ "name": "block-job-complete",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "39"
+ },
+ {
+ "name": "block-job-pause",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "40"
+ },
+ {
+ "name": "block-job-resume",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "41"
+ },
+ {
+ "name": "block-job-set-speed",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "42"
+ },
+ {
+ "name": "block-set-write-threshold",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "43"
+ },
+ {
+ "name": "block-stream",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "44"
+ },
+ {
+ "name": "block_passwd",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block_resize",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "46"
+ },
+ {
+ "name": "block_set_io_throttle",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "47"
+ },
+ {
+ "name": "blockdev-add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "48"
+ },
+ {
+ "name": "blockdev-backup",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "49"
+ },
+ {
+ "name": "blockdev-change-medium",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "50"
+ },
+ {
+ "name": "blockdev-close-tray",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "51"
+ },
+ {
+ "name": "blockdev-del",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "52"
+ },
+ {
+ "name": "blockdev-mirror",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "53"
+ },
+ {
+ "name": "blockdev-open-tray",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "54"
+ },
+ {
+ "name": "blockdev-snapshot",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "55"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync",
+ "ret-type": "57",
+ "meta-type": "command",
+ "arg-type": "56"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "58"
+ },
+ {
+ "name": "blockdev-snapshot-sync",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "59"
+ },
+ {
+ "name": "change",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "60"
+ },
+ {
+ "name": "change-backing-file",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "61"
+ },
+ {
+ "name": "change-vnc-password",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "62"
+ },
+ {
+ "name": "chardev-add",
+ "ret-type": "64",
+ "meta-type": "command",
+ "arg-type": "63"
+ },
+ {
+ "name": "chardev-change",
+ "ret-type": "64",
+ "meta-type": "command",
+ "arg-type": "65"
+ },
+ {
+ "name": "chardev-remove",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "66"
+ },
+ {
+ "name": "chardev-send-break",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "67"
+ },
+ {
+ "name": "client_migrate_info",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "68"
+ },
+ {
+ "name": "closefd",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "69"
+ },
+ {
+ "name": "cont",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "cpu",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "70"
+ },
+ {
+ "name": "cpu-add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "71"
+ },
+ {
+ "name": "device-list-properties",
+ "ret-type": "[73]",
+ "meta-type": "command",
+ "arg-type": "72"
+ },
+ {
+ "name": "device_add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "74"
+ },
+ {
+ "name": "device_del",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "75"
+ },
+ {
+ "name": "drive-backup",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "76"
+ },
+ {
+ "name": "drive-mirror",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "77"
+ },
+ {
+ "name": "dump-guest-memory",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "78"
+ },
+ {
+ "name": "dump-skeys",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "79"
+ },
+ {
+ "name": "eject",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "80"
+ },
+ {
+ "name": "expire_password",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "81"
+ },
+ {
+ "name": "getfd",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "82"
+ },
+ {
+ "name": "human-monitor-command",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "83"
+ },
+ {
+ "name": "inject-nmi",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "input-send-event",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "84"
+ },
+ {
+ "name": "memsave",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "85"
+ },
+ {
+ "name": "migrate",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "86"
+ },
+ {
+ "name": "migrate-continue",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "87"
+ },
+ {
+ "name": "migrate-incoming",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "88"
+ },
+ {
+ "name": "migrate-set-cache-size",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "89"
+ },
+ {
+ "name": "migrate-set-capabilities",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "90"
+ },
+ {
+ "name": "migrate-set-parameters",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "91"
+ },
+ {
+ "name": "migrate-start-postcopy",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "migrate_cancel",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "migrate_set_downtime",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "92"
+ },
+ {
+ "name": "migrate_set_speed",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "93"
+ },
+ {
+ "name": "nbd-server-add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "94"
+ },
+ {
+ "name": "nbd-server-start",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "95"
+ },
+ {
+ "name": "nbd-server-stop",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "netdev_add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "96"
+ },
+ {
+ "name": "netdev_del",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "97"
+ },
+ {
+ "name": "object-add",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "98"
+ },
+ {
+ "name": "object-del",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "99"
+ },
+ {
+ "name": "pmemsave",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "100"
+ },
+ {
+ "name": "qmp_capabilities",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "qom-get",
+ "ret-type": "any",
+ "meta-type": "command",
+ "arg-type": "101"
+ },
+ {
+ "name": "qom-list",
+ "ret-type": "[103]",
+ "meta-type": "command",
+ "arg-type": "102"
+ },
+ {
+ "name": "qom-list-types",
+ "ret-type": "[105]",
+ "meta-type": "command",
+ "arg-type": "104"
+ },
+ {
+ "name": "qom-set",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "106"
+ },
+ {
+ "name": "query-acpi-ospm-status",
+ "ret-type": "[107]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-balloon",
+ "ret-type": "108",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-block",
+ "ret-type": "[109]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-block-jobs",
+ "ret-type": "[110]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-blockstats",
+ "ret-type": "[112]",
+ "meta-type": "command",
+ "arg-type": "111"
+ },
+ {
+ "name": "query-chardev",
+ "ret-type": "[113]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-chardev-backends",
+ "ret-type": "[114]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-command-line-options",
+ "ret-type": "[116]",
+ "meta-type": "command",
+ "arg-type": "115"
+ },
+ {
+ "name": "query-commands",
+ "ret-type": "[117]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-cpu-definitions",
+ "ret-type": "[118]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-cpu-model-baseline",
+ "ret-type": "120",
+ "meta-type": "command",
+ "arg-type": "119"
+ },
+ {
+ "name": "query-cpu-model-comparison",
+ "ret-type": "122",
+ "meta-type": "command",
+ "arg-type": "121"
+ },
+ {
+ "name": "query-cpu-model-expansion",
+ "ret-type": "124",
+ "meta-type": "command",
+ "arg-type": "123"
+ },
+ {
+ "name": "query-cpus",
+ "ret-type": "[125]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-dump",
+ "ret-type": "126",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-dump-guest-memory-capability",
+ "ret-type": "127",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-events",
+ "ret-type": "[128]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-fdsets",
+ "ret-type": "[129]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-gic-capabilities",
+ "ret-type": "[130]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-hotpluggable-cpus",
+ "ret-type": "[131]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-iothreads",
+ "ret-type": "[132]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-kvm",
+ "ret-type": "133",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-machines",
+ "ret-type": "[134]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-memdev",
+ "ret-type": "[135]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-memory-devices",
+ "ret-type": "[136]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-memory-size-summary",
+ "ret-type": "137",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-mice",
+ "ret-type": "[138]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-migrate",
+ "ret-type": "139",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-migrate-cache-size",
+ "ret-type": "int",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-migrate-capabilities",
+ "ret-type": "[140]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-migrate-parameters",
+ "ret-type": "141",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-name",
+ "ret-type": "142",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-named-block-nodes",
+ "ret-type": "[143]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-pci",
+ "ret-type": "[144]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-qmp-schema",
+ "ret-type": "[145]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-rocker",
+ "ret-type": "147",
+ "meta-type": "command",
+ "arg-type": "146"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows",
+ "ret-type": "[149]",
+ "meta-type": "command",
+ "arg-type": "148"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups",
+ "ret-type": "[151]",
+ "meta-type": "command",
+ "arg-type": "150"
+ },
+ {
+ "name": "query-rocker-ports",
+ "ret-type": "[153]",
+ "meta-type": "command",
+ "arg-type": "152"
+ },
+ {
+ "name": "query-rx-filter",
+ "ret-type": "[155]",
+ "meta-type": "command",
+ "arg-type": "154"
+ },
+ {
+ "name": "query-spice",
+ "ret-type": "156",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-status",
+ "ret-type": "157",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-target",
+ "ret-type": "158",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-tpm",
+ "ret-type": "[159]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-tpm-models",
+ "ret-type": "[160]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-tpm-types",
+ "ret-type": "[161]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-uuid",
+ "ret-type": "162",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-version",
+ "ret-type": "163",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-vm-generation-id",
+ "ret-type": "164",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-vnc",
+ "ret-type": "165",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-vnc-servers",
+ "ret-type": "[166]",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "query-xen-replication-status",
+ "ret-type": "167",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "quit",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "remove-fd",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "168"
+ },
+ {
+ "name": "ringbuf-read",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "169"
+ },
+ {
+ "name": "ringbuf-write",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "170"
+ },
+ {
+ "name": "rtc-reset-reinjection",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "screendump",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "171"
+ },
+ {
+ "name": "send-key",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "172"
+ },
+ {
+ "name": "set_link",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "173"
+ },
+ {
+ "name": "set_password",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "174"
+ },
+ {
+ "name": "stop",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "system_powerdown",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "system_reset",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "system_wakeup",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "trace-event-get-state",
+ "ret-type": "[176]",
+ "meta-type": "command",
+ "arg-type": "175"
+ },
+ {
+ "name": "trace-event-set-state",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "177"
+ },
+ {
+ "name": "transaction",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "178"
+ },
+ {
+ "name": "watchdog-set-action",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "179"
+ },
+ {
+ "name": "x-blockdev-change",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "180"
+ },
+ {
+ "name": "x-blockdev-insert-medium",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "181"
+ },
+ {
+ "name": "x-blockdev-remove-medium",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "182"
+ },
+ {
+ "name": "x-colo-lost-heartbeat",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256",
+ "ret-type": "183",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "xen-colo-do-checkpoint",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "17"
+ },
+ {
+ "name": "xen-load-devices-state",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "184"
+ },
+ {
+ "name": "xen-save-devices-state",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "185"
+ },
+ {
+ "name": "xen-set-global-dirty-log",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "186"
+ },
+ {
+ "name": "xen-set-replication",
+ "ret-type": "17",
+ "meta-type": "command",
+ "arg-type": "187"
+ },
+ {
+ "name": "0",
+ "members": [
+ {
+ "name": "info",
+ "type": "107"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "1",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "2",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "msg",
+ "type": "str"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "fatal",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "3",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "188"
+ },
+ {
+ "name": "action",
+ "type": "189"
+ },
+ {
+ "name": "nospace",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "4",
+ "members": [
+ {
+ "name": "type",
+ "type": "190"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "5",
+ "members": [
+ {
+ "name": "type",
+ "type": "190"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "6",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "188"
+ },
+ {
+ "name": "action",
+ "type": "189"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "7",
+ "members": [
+ {
+ "name": "type",
+ "type": "190"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "8",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "amount-exceeded",
+ "type": "int"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "9",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "10",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "tray-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "11",
+ "members": [
+ {
+ "name": "result",
+ "type": "126"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "12",
+ "members": [
+ {
+ "name": "action",
+ "type": "191"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "192"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "13",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "msg",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "14",
+ "members": [
+ {
+ "name": "status",
+ "type": "193"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "15",
+ "members": [
+ {
+ "name": "pass",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "16",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "17",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "18",
+ "members": [
+ {
+ "name": "reference",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "19",
+ "members": [
+ {
+ "name": "type",
+ "type": "194"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "20",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "21",
+ "members": [
+ {
+ "name": "offset",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "22",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "23",
+ "members": [
+ {
+ "name": "server",
+ "type": "195"
+ },
+ {
+ "name": "client",
+ "type": "195"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "24",
+ "members": [
+ {
+ "name": "server",
+ "type": "195"
+ },
+ {
+ "name": "client",
+ "type": "195"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "25",
+ "members": [
+ {
+ "name": "server",
+ "type": "196"
+ },
+ {
+ "name": "client",
+ "type": "197"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "26",
+ "members": [
+ {
+ "name": "server",
+ "type": "198"
+ },
+ {
+ "name": "client",
+ "type": "199"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "27",
+ "members": [
+ {
+ "name": "server",
+ "type": "198"
+ },
+ {
+ "name": "client",
+ "type": "200"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "28",
+ "members": [
+ {
+ "name": "server",
+ "type": "198"
+ },
+ {
+ "name": "client",
+ "type": "200"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "29",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "30",
+ "members": [
+ {
+ "name": "action",
+ "type": "201"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "31",
+ "members": [
+ {
+ "name": "fdset-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "32",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "33",
+ "members": [
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "fdname",
+ "type": "str"
+ },
+ {
+ "name": "skipauth",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tls",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "34",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "35",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "top",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "36",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "granularity",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "persistent",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "autoload",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "37",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "38",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "39",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "40",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "41",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "42",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "43",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "44",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "base-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "202"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "45",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "46",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "47",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bps",
+ "type": "int"
+ },
+ {
+ "name": "bps_rd",
+ "type": "int"
+ },
+ {
+ "name": "bps_wr",
+ "type": "int"
+ },
+ {
+ "name": "iops",
+ "type": "int"
+ },
+ {
+ "name": "iops_rd",
+ "type": "int"
+ },
+ {
+ "name": "iops_wr",
+ "type": "int"
+ },
+ {
+ "name": "bps_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "48",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "blkdebug",
+ "type": "207"
+ },
+ {
+ "case": "blkverify",
+ "type": "208"
+ },
+ {
+ "case": "bochs",
+ "type": "209"
+ },
+ {
+ "case": "cloop",
+ "type": "209"
+ },
+ {
+ "case": "dmg",
+ "type": "209"
+ },
+ {
+ "case": "file",
+ "type": "210"
+ },
+ {
+ "case": "ftp",
+ "type": "211"
+ },
+ {
+ "case": "ftps",
+ "type": "212"
+ },
+ {
+ "case": "gluster",
+ "type": "213"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "210"
+ },
+ {
+ "case": "host_device",
+ "type": "210"
+ },
+ {
+ "case": "http",
+ "type": "214"
+ },
+ {
+ "case": "https",
+ "type": "215"
+ },
+ {
+ "case": "iscsi",
+ "type": "216"
+ },
+ {
+ "case": "luks",
+ "type": "217"
+ },
+ {
+ "case": "nbd",
+ "type": "218"
+ },
+ {
+ "case": "nfs",
+ "type": "219"
+ },
+ {
+ "case": "null-aio",
+ "type": "220"
+ },
+ {
+ "case": "null-co",
+ "type": "220"
+ },
+ {
+ "case": "parallels",
+ "type": "209"
+ },
+ {
+ "case": "qcow2",
+ "type": "221"
+ },
+ {
+ "case": "qcow",
+ "type": "222"
+ },
+ {
+ "case": "qed",
+ "type": "223"
+ },
+ {
+ "case": "quorum",
+ "type": "224"
+ },
+ {
+ "case": "raw",
+ "type": "225"
+ },
+ {
+ "case": "rbd",
+ "type": "226"
+ },
+ {
+ "case": "replication",
+ "type": "227"
+ },
+ {
+ "case": "sheepdog",
+ "type": "228"
+ },
+ {
+ "case": "ssh",
+ "type": "229"
+ },
+ {
+ "case": "throttle",
+ "type": "230"
+ },
+ {
+ "case": "vdi",
+ "type": "209"
+ },
+ {
+ "case": "vhdx",
+ "type": "209"
+ },
+ {
+ "case": "vmdk",
+ "type": "223"
+ },
+ {
+ "case": "vpc",
+ "type": "209"
+ },
+ {
+ "case": "vvfat",
+ "type": "231"
+ },
+ {
+ "case": "vxhs",
+ "type": "232"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "203"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard",
+ "default": null,
+ "type": "204"
+ },
+ {
+ "name": "cache",
+ "default": null,
+ "type": "205"
+ },
+ {
+ "name": "read-only",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "force-share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "detect-zeroes",
+ "default": null,
+ "type": "206"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "49",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "233"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "202"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "50",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "read-only-mode",
+ "default": null,
+ "type": "234"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "51",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "52",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "53",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "replaces",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "233"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "granularity",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "buf-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "54",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "55",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "overlay",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "56",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "57",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "vm-state-size",
+ "type": "int"
+ },
+ {
+ "name": "date-sec",
+ "type": "int"
+ },
+ {
+ "name": "date-nsec",
+ "type": "int"
+ },
+ {
+ "name": "vm-clock-sec",
+ "type": "int"
+ },
+ {
+ "name": "vm-clock-nsec",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "58",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "59",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshot-file",
+ "type": "str"
+ },
+ {
+ "name": "snapshot-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "235"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "60",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "arg",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "61",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "image-node-name",
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "62",
+ "members": [
+ {
+ "name": "password",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "63",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "236"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "64",
+ "members": [
+ {
+ "name": "pty",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "65",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "236"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "66",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "67",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "68",
+ "members": [
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "hostname",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cert-subject",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "69",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "70",
+ "members": [
+ {
+ "name": "index",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "71",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "72",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[73]",
+ "element-type": "73",
+ "meta-type": "array"
+ },
+ {
+ "name": "73",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "74",
+ "members": [
+ {
+ "name": "driver",
+ "type": "str"
+ },
+ {
+ "name": "bus",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "75",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "76",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "233"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "235"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "202"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "77",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "replaces",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "233"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "235"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "granularity",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "buf-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "202"
+ },
+ {
+ "name": "unmap",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "78",
+ "members": [
+ {
+ "name": "paging",
+ "type": "bool"
+ },
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "begin",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "237"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "79",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "80",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "81",
+ "members": [
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "time",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "82",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "83",
+ "members": [
+ {
+ "name": "command-line",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "str",
+ "json-type": "string",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "84",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "events",
+ "type": "[238]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "85",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "86",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ },
+ {
+ "name": "blk",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "inc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "87",
+ "members": [
+ {
+ "name": "state",
+ "type": "193"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "88",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "89",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "90",
+ "members": [
+ {
+ "name": "capabilities",
+ "type": "[140]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "91",
+ "members": [
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "239"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "239"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "x-multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-multifd-page-count",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "92",
+ "members": [
+ {
+ "name": "value",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "93",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "94",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "writable",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "95",
+ "members": [
+ {
+ "name": "addr",
+ "type": "240"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "96",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "97",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "98",
+ "members": [
+ {
+ "name": "qom-type",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "99",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "100",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "101",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "any",
+ "json-type": "value",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "102",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[103]",
+ "element-type": "103",
+ "meta-type": "array"
+ },
+ {
+ "name": "103",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "104",
+ "members": [
+ {
+ "name": "implements",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[105]",
+ "element-type": "105",
+ "meta-type": "array"
+ },
+ {
+ "name": "105",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "106",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[107]",
+ "element-type": "107",
+ "meta-type": "array"
+ },
+ {
+ "name": "107",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "slot",
+ "type": "str"
+ },
+ {
+ "name": "slot-type",
+ "type": "241"
+ },
+ {
+ "name": "source",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "108",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[109]",
+ "element-type": "109",
+ "meta-type": "array"
+ },
+ {
+ "name": "109",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "qdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "removable",
+ "type": "bool"
+ },
+ {
+ "name": "locked",
+ "type": "bool"
+ },
+ {
+ "name": "inserted",
+ "default": null,
+ "type": "143"
+ },
+ {
+ "name": "tray_open",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "io-status",
+ "default": null,
+ "type": "242"
+ },
+ {
+ "name": "dirty-bitmaps",
+ "default": null,
+ "type": "[243]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[110]",
+ "element-type": "110",
+ "meta-type": "array"
+ },
+ {
+ "name": "110",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "busy",
+ "type": "bool"
+ },
+ {
+ "name": "paused",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "io-status",
+ "type": "242"
+ },
+ {
+ "name": "ready",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "111",
+ "members": [
+ {
+ "name": "query-nodes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[112]",
+ "element-type": "112",
+ "meta-type": "array"
+ },
+ {
+ "name": "112",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "244"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "112"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "112"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[113]",
+ "element-type": "113",
+ "meta-type": "array"
+ },
+ {
+ "name": "113",
+ "members": [
+ {
+ "name": "label",
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "frontend-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[114]",
+ "element-type": "114",
+ "meta-type": "array"
+ },
+ {
+ "name": "114",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "115",
+ "members": [
+ {
+ "name": "option",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[116]",
+ "element-type": "116",
+ "meta-type": "array"
+ },
+ {
+ "name": "116",
+ "members": [
+ {
+ "name": "option",
+ "type": "str"
+ },
+ {
+ "name": "parameters",
+ "type": "[245]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[117]",
+ "element-type": "117",
+ "meta-type": "array"
+ },
+ {
+ "name": "117",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[118]",
+ "element-type": "118",
+ "meta-type": "array"
+ },
+ {
+ "name": "118",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "migration-safe",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "static",
+ "type": "bool"
+ },
+ {
+ "name": "unavailable-features",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "119",
+ "members": [
+ {
+ "name": "modela",
+ "type": "246"
+ },
+ {
+ "name": "modelb",
+ "type": "246"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "120",
+ "members": [
+ {
+ "name": "model",
+ "type": "246"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "121",
+ "members": [
+ {
+ "name": "modela",
+ "type": "246"
+ },
+ {
+ "name": "modelb",
+ "type": "246"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "122",
+ "members": [
+ {
+ "name": "result",
+ "type": "247"
+ },
+ {
+ "name": "responsible-properties",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "123",
+ "members": [
+ {
+ "name": "type",
+ "type": "248"
+ },
+ {
+ "name": "model",
+ "type": "246"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "124",
+ "members": [
+ {
+ "name": "model",
+ "type": "246"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[125]",
+ "element-type": "125",
+ "meta-type": "array"
+ },
+ {
+ "name": "125",
+ "tag": "arch",
+ "variants": [
+ {
+ "case": "x86",
+ "type": "251"
+ },
+ {
+ "case": "sparc",
+ "type": "252"
+ },
+ {
+ "case": "ppc",
+ "type": "253"
+ },
+ {
+ "case": "mips",
+ "type": "254"
+ },
+ {
+ "case": "tricore",
+ "type": "255"
+ },
+ {
+ "case": "other",
+ "type": "256"
+ }
+ ],
+ "members": [
+ {
+ "name": "CPU",
+ "type": "int"
+ },
+ {
+ "name": "current",
+ "type": "bool"
+ },
+ {
+ "name": "halted",
+ "type": "bool"
+ },
+ {
+ "name": "qom_path",
+ "type": "str"
+ },
+ {
+ "name": "thread_id",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "249"
+ },
+ {
+ "name": "arch",
+ "type": "250"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "126",
+ "members": [
+ {
+ "name": "status",
+ "type": "257"
+ },
+ {
+ "name": "completed",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "127",
+ "members": [
+ {
+ "name": "formats",
+ "type": "[237]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[128]",
+ "element-type": "128",
+ "meta-type": "array"
+ },
+ {
+ "name": "128",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[129]",
+ "element-type": "129",
+ "meta-type": "array"
+ },
+ {
+ "name": "129",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fds",
+ "type": "[258]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[130]",
+ "element-type": "130",
+ "meta-type": "array"
+ },
+ {
+ "name": "130",
+ "members": [
+ {
+ "name": "version",
+ "type": "int"
+ },
+ {
+ "name": "emulated",
+ "type": "bool"
+ },
+ {
+ "name": "kernel",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[131]",
+ "element-type": "131",
+ "meta-type": "array"
+ },
+ {
+ "name": "131",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "vcpus-count",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "type": "249"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[132]",
+ "element-type": "132",
+ "meta-type": "array"
+ },
+ {
+ "name": "132",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "thread-id",
+ "type": "int"
+ },
+ {
+ "name": "poll-max-ns",
+ "type": "int"
+ },
+ {
+ "name": "poll-grow",
+ "type": "int"
+ },
+ {
+ "name": "poll-shrink",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "133",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "present",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[134]",
+ "element-type": "134",
+ "meta-type": "array"
+ },
+ {
+ "name": "134",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "is-default",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "cpu-max",
+ "type": "int"
+ },
+ {
+ "name": "hotpluggable-cpus",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[135]",
+ "element-type": "135",
+ "meta-type": "array"
+ },
+ {
+ "name": "135",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc",
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "type": "[int]"
+ },
+ {
+ "name": "policy",
+ "type": "259"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[136]",
+ "element-type": "136",
+ "meta-type": "array"
+ },
+ {
+ "name": "136",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "dimm",
+ "type": "261"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "260"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "137",
+ "members": [
+ {
+ "name": "base-memory",
+ "type": "int"
+ },
+ {
+ "name": "plugged-memory",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[138]",
+ "element-type": "138",
+ "meta-type": "array"
+ },
+ {
+ "name": "138",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "current",
+ "type": "bool"
+ },
+ {
+ "name": "absolute",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "139",
+ "members": [
+ {
+ "name": "status",
+ "default": null,
+ "type": "193"
+ },
+ {
+ "name": "ram",
+ "default": null,
+ "type": "262"
+ },
+ {
+ "name": "disk",
+ "default": null,
+ "type": "262"
+ },
+ {
+ "name": "xbzrle-cache",
+ "default": null,
+ "type": "263"
+ },
+ {
+ "name": "total-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "expected-downtime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "setup-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-percentage",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "error-desc",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "int",
+ "json-type": "int",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "[140]",
+ "element-type": "140",
+ "meta-type": "array"
+ },
+ {
+ "name": "140",
+ "members": [
+ {
+ "name": "capability",
+ "type": "264"
+ },
+ {
+ "name": "state",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "141",
+ "members": [
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "x-multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-multifd-page-count",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "142",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[143]",
+ "element-type": "143",
+ "meta-type": "array"
+ },
+ {
+ "name": "143",
+ "members": [
+ {
+ "name": "file",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ro",
+ "type": "bool"
+ },
+ {
+ "name": "drv",
+ "type": "str"
+ },
+ {
+ "name": "backing_file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing_file_depth",
+ "type": "int"
+ },
+ {
+ "name": "encrypted",
+ "type": "bool"
+ },
+ {
+ "name": "encryption_key_missing",
+ "type": "bool"
+ },
+ {
+ "name": "detect_zeroes",
+ "type": "206"
+ },
+ {
+ "name": "bps",
+ "type": "int"
+ },
+ {
+ "name": "bps_rd",
+ "type": "int"
+ },
+ {
+ "name": "bps_wr",
+ "type": "int"
+ },
+ {
+ "name": "iops",
+ "type": "int"
+ },
+ {
+ "name": "iops_rd",
+ "type": "int"
+ },
+ {
+ "name": "iops_wr",
+ "type": "int"
+ },
+ {
+ "name": "image",
+ "type": "265"
+ },
+ {
+ "name": "bps_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cache",
+ "type": "266"
+ },
+ {
+ "name": "write_threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[144]",
+ "element-type": "144",
+ "meta-type": "array"
+ },
+ {
+ "name": "144",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "devices",
+ "type": "[267]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[145]",
+ "element-type": "145",
+ "meta-type": "array"
+ },
+ {
+ "name": "145",
+ "tag": "meta-type",
+ "variants": [
+ {
+ "case": "builtin",
+ "type": "269"
+ },
+ {
+ "case": "enum",
+ "type": "270"
+ },
+ {
+ "case": "array",
+ "type": "271"
+ },
+ {
+ "case": "object",
+ "type": "272"
+ },
+ {
+ "case": "alternate",
+ "type": "273"
+ },
+ {
+ "case": "command",
+ "type": "274"
+ },
+ {
+ "case": "event",
+ "type": "275"
+ }
+ ],
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "meta-type",
+ "type": "268"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "146",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "147",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "ports",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "148",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "tbl-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[149]",
+ "element-type": "149",
+ "meta-type": "array"
+ },
+ {
+ "name": "149",
+ "members": [
+ {
+ "name": "cookie",
+ "type": "int"
+ },
+ {
+ "name": "hits",
+ "type": "int"
+ },
+ {
+ "name": "key",
+ "type": "276"
+ },
+ {
+ "name": "mask",
+ "type": "277"
+ },
+ {
+ "name": "action",
+ "type": "278"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "150",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[151]",
+ "element-type": "151",
+ "meta-type": "array"
+ },
+ {
+ "name": "151",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "int"
+ },
+ {
+ "name": "vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "index",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "out-pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "set-vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "pop-vlan",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group-ids",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "set-eth-src",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "set-eth-dst",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ttl-check",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "152",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[153]",
+ "element-type": "153",
+ "meta-type": "array"
+ },
+ {
+ "name": "153",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "link-up",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "duplex",
+ "type": "279"
+ },
+ {
+ "name": "autoneg",
+ "type": "280"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "154",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[155]",
+ "element-type": "155",
+ "meta-type": "array"
+ },
+ {
+ "name": "155",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "promiscuous",
+ "type": "bool"
+ },
+ {
+ "name": "multicast",
+ "type": "281"
+ },
+ {
+ "name": "unicast",
+ "type": "281"
+ },
+ {
+ "name": "vlan",
+ "type": "281"
+ },
+ {
+ "name": "broadcast-allowed",
+ "type": "bool"
+ },
+ {
+ "name": "multicast-overflow",
+ "type": "bool"
+ },
+ {
+ "name": "unicast-overflow",
+ "type": "bool"
+ },
+ {
+ "name": "main-mac",
+ "type": "str"
+ },
+ {
+ "name": "vlan-table",
+ "type": "[int]"
+ },
+ {
+ "name": "unicast-table",
+ "type": "[str]"
+ },
+ {
+ "name": "multicast-table",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "156",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "migrated",
+ "type": "bool"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "compiled-version",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mouse-mode",
+ "type": "282"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "[197]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "157",
+ "members": [
+ {
+ "name": "running",
+ "type": "bool"
+ },
+ {
+ "name": "singlestep",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "283"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "158",
+ "members": [
+ {
+ "name": "arch",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[159]",
+ "element-type": "159",
+ "meta-type": "array"
+ },
+ {
+ "name": "159",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "model",
+ "type": "160"
+ },
+ {
+ "name": "options",
+ "type": "284"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[160]",
+ "element-type": "160",
+ "meta-type": "array"
+ },
+ {
+ "name": "160",
+ "meta-type": "enum",
+ "values": [
+ "tpm-tis"
+ ]
+ },
+ {
+ "name": "[161]",
+ "element-type": "161",
+ "meta-type": "array"
+ },
+ {
+ "name": "161",
+ "meta-type": "enum",
+ "values": [
+ "passthrough",
+ "emulator"
+ ]
+ },
+ {
+ "name": "162",
+ "members": [
+ {
+ "name": "UUID",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "163",
+ "members": [
+ {
+ "name": "qemu",
+ "type": "285"
+ },
+ {
+ "name": "package",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "164",
+ "members": [
+ {
+ "name": "guid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "165",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "default": null,
+ "type": "286"
+ },
+ {
+ "name": "service",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "clients",
+ "default": null,
+ "type": "[200]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[166]",
+ "element-type": "166",
+ "meta-type": "array"
+ },
+ {
+ "name": "166",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[287]"
+ },
+ {
+ "name": "clients",
+ "type": "[200]"
+ },
+ {
+ "name": "auth",
+ "type": "288"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "289"
+ },
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "167",
+ "members": [
+ {
+ "name": "error",
+ "type": "bool"
+ },
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "168",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "169",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "290"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "170",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "data",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "290"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "171",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "172",
+ "members": [
+ {
+ "name": "keys",
+ "type": "[291]"
+ },
+ {
+ "name": "hold-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "173",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "up",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "174",
+ "members": [
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "password",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "175",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "vcpu",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[176]",
+ "element-type": "176",
+ "meta-type": "array"
+ },
+ {
+ "name": "176",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "state",
+ "type": "292"
+ },
+ {
+ "name": "vcpu",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "177",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "ignore-unavailable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "vcpu",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "178",
+ "members": [
+ {
+ "name": "actions",
+ "type": "[293]"
+ },
+ {
+ "name": "properties",
+ "default": null,
+ "type": "294"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "179",
+ "members": [
+ {
+ "name": "action",
+ "type": "201"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "180",
+ "members": [
+ {
+ "name": "parent",
+ "type": "str"
+ },
+ {
+ "name": "child",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "181",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "182",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "183",
+ "members": [
+ {
+ "name": "sha256",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "184",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "185",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "live",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "186",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "187",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "primary",
+ "type": "bool"
+ },
+ {
+ "name": "failover",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "bool",
+ "json-type": "boolean",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "188",
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "name": "189",
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "report",
+ "stop"
+ ]
+ },
+ {
+ "name": "190",
+ "meta-type": "enum",
+ "values": [
+ "commit",
+ "stream",
+ "mirror",
+ "backup"
+ ]
+ },
+ {
+ "name": "191",
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "poweroff"
+ ]
+ },
+ {
+ "name": "192",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "hyper-v",
+ "type": "296"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "295"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "193",
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "setup",
+ "cancelling",
+ "cancelled",
+ "active",
+ "postcopy-active",
+ "completed",
+ "failed",
+ "colo",
+ "pre-switchover",
+ "device"
+ ]
+ },
+ {
+ "name": "194",
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write",
+ "flush"
+ ]
+ },
+ {
+ "name": "195",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "196",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "197",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "connection-id",
+ "type": "int"
+ },
+ {
+ "name": "channel-type",
+ "type": "int"
+ },
+ {
+ "name": "channel-id",
+ "type": "int"
+ },
+ {
+ "name": "tls",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "198",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "199",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "200",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "x509_dname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sasl_username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "201",
+ "meta-type": "enum",
+ "values": [
+ "reset",
+ "shutdown",
+ "poweroff",
+ "pause",
+ "debug",
+ "none",
+ "inject-nmi"
+ ]
+ },
+ {
+ "name": "202",
+ "meta-type": "enum",
+ "values": [
+ "report",
+ "ignore",
+ "enospc",
+ "stop",
+ "auto"
+ ]
+ },
+ {
+ "name": "203",
+ "meta-type": "enum",
+ "values": [
+ "blkdebug",
+ "blkverify",
+ "bochs",
+ "cloop",
+ "dmg",
+ "file",
+ "ftp",
+ "ftps",
+ "gluster",
+ "host_cdrom",
+ "host_device",
+ "http",
+ "https",
+ "iscsi",
+ "luks",
+ "nbd",
+ "nfs",
+ "null-aio",
+ "null-co",
+ "parallels",
+ "qcow",
+ "qcow2",
+ "qed",
+ "quorum",
+ "raw",
+ "rbd",
+ "replication",
+ "sheepdog",
+ "ssh",
+ "throttle",
+ "vdi",
+ "vhdx",
+ "vmdk",
+ "vpc",
+ "vvfat",
+ "vxhs"
+ ]
+ },
+ {
+ "name": "204",
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "unmap"
+ ]
+ },
+ {
+ "name": "205",
+ "members": [
+ {
+ "name": "direct",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "206",
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "unmap"
+ ]
+ },
+ {
+ "name": "207",
+ "members": [
+ {
+ "name": "image",
+ "type": "297"
+ },
+ {
+ "name": "config",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-transfer",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opt-write-zero",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-write-zero",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opt-discard",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-discard",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "inject-error",
+ "default": null,
+ "type": "[298]"
+ },
+ {
+ "name": "set-state",
+ "default": null,
+ "type": "[299]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "208",
+ "members": [
+ {
+ "name": "test",
+ "type": "297"
+ },
+ {
+ "name": "raw",
+ "type": "297"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "209",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "210",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "pr-manager",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "locking",
+ "default": null,
+ "type": "300"
+ },
+ {
+ "name": "aio",
+ "default": null,
+ "type": "301"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "211",
+ "members": [
+ {
+ "name": "url",
+ "type": "str"
+ },
+ {
+ "name": "readahead",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-password-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "212",
+ "members": [
+ {
+ "name": "url",
+ "type": "str"
+ },
+ {
+ "name": "readahead",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sslverify",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "213",
+ "members": [
+ {
+ "name": "volume",
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[302]"
+ },
+ {
+ "name": "debug",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "214",
+ "members": [
+ {
+ "name": "url",
+ "type": "str"
+ },
+ {
+ "name": "readahead",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cookie",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cookie-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "215",
+ "members": [
+ {
+ "name": "url",
+ "type": "str"
+ },
+ {
+ "name": "readahead",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-username",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "proxy-password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cookie",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sslverify",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "cookie-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "216",
+ "members": [
+ {
+ "name": "transport",
+ "type": "303"
+ },
+ {
+ "name": "portal",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "lun",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "password-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "initiator-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "header-digest",
+ "default": null,
+ "type": "304"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "217",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "218",
+ "members": [
+ {
+ "name": "server",
+ "type": "302"
+ },
+ {
+ "name": "export",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "219",
+ "members": [
+ {
+ "name": "server",
+ "type": "305"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tcp-syn-count",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "readahead-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "page-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "debug",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "220",
+ "members": [
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "latency-ns",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "221",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "306"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-request",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-snapshot",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-other",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "overlap-check",
+ "default": null,
+ "type": "307"
+ },
+ {
+ "name": "cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "l2-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "refcount-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cache-clean-interval",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "308"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "222",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "306"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "309"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "223",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "306"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "224",
+ "members": [
+ {
+ "name": "blkverify",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "children",
+ "type": "[297]"
+ },
+ {
+ "name": "vote-threshold",
+ "type": "int"
+ },
+ {
+ "name": "rewrite-corrupted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-pattern",
+ "default": null,
+ "type": "310"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "225",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "226",
+ "members": [
+ {
+ "name": "pool",
+ "type": "str"
+ },
+ {
+ "name": "image",
+ "type": "str"
+ },
+ {
+ "name": "conf",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshot",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "[311]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "227",
+ "members": [
+ {
+ "name": "file",
+ "type": "297"
+ },
+ {
+ "name": "mode",
+ "type": "312"
+ },
+ {
+ "name": "top-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "228",
+ "members": [
+ {
+ "name": "server",
+ "type": "302"
+ },
+ {
+ "name": "vdi",
+ "type": "str"
+ },
+ {
+ "name": "snap-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "229",
+ "members": [
+ {
+ "name": "server",
+ "type": "313"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "230",
+ "members": [
+ {
+ "name": "throttle-group",
+ "type": "str"
+ },
+ {
+ "name": "file",
+ "type": "297"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "231",
+ "members": [
+ {
+ "name": "dir",
+ "type": "str"
+ },
+ {
+ "name": "fat-type",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "floppy",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "label",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "rw",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "232",
+ "members": [
+ {
+ "name": "vdisk-id",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "311"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "233",
+ "meta-type": "enum",
+ "values": [
+ "top",
+ "full",
+ "none",
+ "incremental"
+ ]
+ },
+ {
+ "name": "234",
+ "meta-type": "enum",
+ "values": [
+ "retain",
+ "read-only",
+ "read-write"
+ ]
+ },
+ {
+ "name": "235",
+ "meta-type": "enum",
+ "values": [
+ "existing",
+ "absolute-paths"
+ ]
+ },
+ {
+ "name": "236",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "file",
+ "type": "315"
+ },
+ {
+ "case": "serial",
+ "type": "316"
+ },
+ {
+ "case": "parallel",
+ "type": "316"
+ },
+ {
+ "case": "pipe",
+ "type": "316"
+ },
+ {
+ "case": "socket",
+ "type": "317"
+ },
+ {
+ "case": "udp",
+ "type": "318"
+ },
+ {
+ "case": "pty",
+ "type": "319"
+ },
+ {
+ "case": "null",
+ "type": "319"
+ },
+ {
+ "case": "mux",
+ "type": "320"
+ },
+ {
+ "case": "msmouse",
+ "type": "319"
+ },
+ {
+ "case": "wctablet",
+ "type": "319"
+ },
+ {
+ "case": "braille",
+ "type": "319"
+ },
+ {
+ "case": "testdev",
+ "type": "319"
+ },
+ {
+ "case": "stdio",
+ "type": "321"
+ },
+ {
+ "case": "console",
+ "type": "319"
+ },
+ {
+ "case": "spicevmc",
+ "type": "322"
+ },
+ {
+ "case": "spiceport",
+ "type": "323"
+ },
+ {
+ "case": "vc",
+ "type": "324"
+ },
+ {
+ "case": "ringbuf",
+ "type": "325"
+ },
+ {
+ "case": "memory",
+ "type": "325"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "314"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "237",
+ "meta-type": "enum",
+ "values": [
+ "elf",
+ "kdump-zlib",
+ "kdump-lzo",
+ "kdump-snappy"
+ ]
+ },
+ {
+ "name": "[238]",
+ "element-type": "238",
+ "meta-type": "array"
+ },
+ {
+ "name": "238",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "key",
+ "type": "327"
+ },
+ {
+ "case": "btn",
+ "type": "328"
+ },
+ {
+ "case": "rel",
+ "type": "329"
+ },
+ {
+ "case": "abs",
+ "type": "329"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "326"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "239",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "number",
+ "json-type": "number",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "240",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "331"
+ },
+ {
+ "case": "unix",
+ "type": "332"
+ },
+ {
+ "case": "vsock",
+ "type": "333"
+ },
+ {
+ "case": "fd",
+ "type": "334"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "330"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "241",
+ "meta-type": "enum",
+ "values": [
+ "DIMM",
+ "CPU"
+ ]
+ },
+ {
+ "name": "242",
+ "meta-type": "enum",
+ "values": [
+ "ok",
+ "failed",
+ "nospace"
+ ]
+ },
+ {
+ "name": "[243]",
+ "element-type": "243",
+ "meta-type": "array"
+ },
+ {
+ "name": "243",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "count",
+ "type": "int"
+ },
+ {
+ "name": "granularity",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "335"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "244",
+ "members": [
+ {
+ "name": "rd_bytes",
+ "type": "int"
+ },
+ {
+ "name": "wr_bytes",
+ "type": "int"
+ },
+ {
+ "name": "rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "flush_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "rd_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_highest_offset",
+ "type": "int"
+ },
+ {
+ "name": "rd_merged",
+ "type": "int"
+ },
+ {
+ "name": "wr_merged",
+ "type": "int"
+ },
+ {
+ "name": "idle_time_ns",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "failed_rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "failed_wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "failed_flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "account_invalid",
+ "type": "bool"
+ },
+ {
+ "name": "account_failed",
+ "type": "bool"
+ },
+ {
+ "name": "timed_stats",
+ "type": "[336]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[245]",
+ "element-type": "245",
+ "meta-type": "array"
+ },
+ {
+ "name": "245",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "337"
+ },
+ {
+ "name": "help",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[str]",
+ "element-type": "str",
+ "meta-type": "array"
+ },
+ {
+ "name": "246",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "247",
+ "meta-type": "enum",
+ "values": [
+ "incompatible",
+ "identical",
+ "superset",
+ "subset"
+ ]
+ },
+ {
+ "name": "248",
+ "meta-type": "enum",
+ "values": [
+ "static",
+ "full"
+ ]
+ },
+ {
+ "name": "249",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "socket-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "250",
+ "meta-type": "enum",
+ "values": [
+ "x86",
+ "sparc",
+ "ppc",
+ "mips",
+ "tricore",
+ "other"
+ ]
+ },
+ {
+ "name": "251",
+ "members": [
+ {
+ "name": "pc",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "252",
+ "members": [
+ {
+ "name": "pc",
+ "type": "int"
+ },
+ {
+ "name": "npc",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "253",
+ "members": [
+ {
+ "name": "nip",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "254",
+ "members": [
+ {
+ "name": "PC",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "255",
+ "members": [
+ {
+ "name": "PC",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "256",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "257",
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "active",
+ "completed",
+ "failed"
+ ]
+ },
+ {
+ "name": "[237]",
+ "element-type": "237",
+ "meta-type": "array"
+ },
+ {
+ "name": "[258]",
+ "element-type": "258",
+ "meta-type": "array"
+ },
+ {
+ "name": "258",
+ "members": [
+ {
+ "name": "fd",
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[int]",
+ "element-type": "int",
+ "meta-type": "array"
+ },
+ {
+ "name": "259",
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "preferred",
+ "bind",
+ "interleave"
+ ]
+ },
+ {
+ "name": "260",
+ "meta-type": "enum",
+ "values": [
+ "dimm"
+ ]
+ },
+ {
+ "name": "261",
+ "members": [
+ {
+ "name": "data",
+ "type": "338"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "262",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ },
+ {
+ "name": "remaining",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ },
+ {
+ "name": "duplicate",
+ "type": "int"
+ },
+ {
+ "name": "skipped",
+ "type": "int"
+ },
+ {
+ "name": "normal",
+ "type": "int"
+ },
+ {
+ "name": "normal-bytes",
+ "type": "int"
+ },
+ {
+ "name": "dirty-pages-rate",
+ "type": "int"
+ },
+ {
+ "name": "mbps",
+ "type": "number"
+ },
+ {
+ "name": "dirty-sync-count",
+ "type": "int"
+ },
+ {
+ "name": "postcopy-requests",
+ "type": "int"
+ },
+ {
+ "name": "page-size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "263",
+ "members": [
+ {
+ "name": "cache-size",
+ "type": "int"
+ },
+ {
+ "name": "bytes",
+ "type": "int"
+ },
+ {
+ "name": "pages",
+ "type": "int"
+ },
+ {
+ "name": "cache-miss",
+ "type": "int"
+ },
+ {
+ "name": "cache-miss-rate",
+ "type": "number"
+ },
+ {
+ "name": "overflow",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "264",
+ "meta-type": "enum",
+ "values": [
+ "xbzrle",
+ "rdma-pin-all",
+ "auto-converge",
+ "zero-blocks",
+ "compress",
+ "events",
+ "postcopy-ram",
+ "x-colo",
+ "release-ram",
+ "block",
+ "return-path",
+ "pause-before-switchover",
+ "x-multifd"
+ ]
+ },
+ {
+ "name": "265",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "type": "str"
+ },
+ {
+ "name": "dirty-flag",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "actual-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "virtual-size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "compressed",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "backing-filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "full-backing-filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-filename-format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshots",
+ "default": null,
+ "type": "[57]"
+ },
+ {
+ "name": "backing-image",
+ "default": null,
+ "type": "265"
+ },
+ {
+ "name": "format-specific",
+ "default": null,
+ "type": "339"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "266",
+ "members": [
+ {
+ "name": "writeback",
+ "type": "bool"
+ },
+ {
+ "name": "direct",
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[267]",
+ "element-type": "267",
+ "meta-type": "array"
+ },
+ {
+ "name": "267",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "function",
+ "type": "int"
+ },
+ {
+ "name": "class_info",
+ "type": "340"
+ },
+ {
+ "name": "id",
+ "type": "341"
+ },
+ {
+ "name": "irq",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "qdev_id",
+ "type": "str"
+ },
+ {
+ "name": "pci_bridge",
+ "default": null,
+ "type": "342"
+ },
+ {
+ "name": "regions",
+ "type": "[343]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "268",
+ "meta-type": "enum",
+ "values": [
+ "builtin",
+ "enum",
+ "array",
+ "object",
+ "alternate",
+ "command",
+ "event"
+ ]
+ },
+ {
+ "name": "269",
+ "members": [
+ {
+ "name": "json-type",
+ "type": "344"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "270",
+ "members": [
+ {
+ "name": "values",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "271",
+ "members": [
+ {
+ "name": "element-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "272",
+ "members": [
+ {
+ "name": "members",
+ "type": "[345]"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "variants",
+ "default": null,
+ "type": "[346]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "273",
+ "members": [
+ {
+ "name": "members",
+ "type": "[347]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "274",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ },
+ {
+ "name": "ret-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "275",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "276",
+ "members": [
+ {
+ "name": "priority",
+ "type": "int"
+ },
+ {
+ "name": "tbl-id",
+ "type": "int"
+ },
+ {
+ "name": "in-pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tunnel-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "eth-type",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "eth-src",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "eth-dst",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ip-proto",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "ip-tos",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "ip-dst",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "277",
+ "members": [
+ {
+ "name": "in-pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tunnel-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "eth-src",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "eth-dst",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ip-proto",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "ip-tos",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "278",
+ "members": [
+ {
+ "name": "goto-tbl",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tunnel-lport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "new-vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "out-pport",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "279",
+ "meta-type": "enum",
+ "values": [
+ "half",
+ "full"
+ ]
+ },
+ {
+ "name": "280",
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on"
+ ]
+ },
+ {
+ "name": "281",
+ "meta-type": "enum",
+ "values": [
+ "normal",
+ "none",
+ "all"
+ ]
+ },
+ {
+ "name": "282",
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[197]",
+ "element-type": "197",
+ "meta-type": "array"
+ },
+ {
+ "name": "283",
+ "meta-type": "enum",
+ "values": [
+ "debug",
+ "inmigrate",
+ "internal-error",
+ "io-error",
+ "paused",
+ "postmigrate",
+ "prelaunch",
+ "finish-migrate",
+ "restore-vm",
+ "running",
+ "save-vm",
+ "shutdown",
+ "suspended",
+ "watchdog",
+ "guest-panicked",
+ "colo"
+ ]
+ },
+ {
+ "name": "284",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "passthrough",
+ "type": "349"
+ },
+ {
+ "case": "emulator",
+ "type": "350"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "348"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "285",
+ "members": [
+ {
+ "name": "major",
+ "type": "int"
+ },
+ {
+ "name": "minor",
+ "type": "int"
+ },
+ {
+ "name": "micro",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "286",
+ "meta-type": "enum",
+ "values": [
+ "ipv4",
+ "ipv6",
+ "unix",
+ "vsock",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[200]",
+ "element-type": "200",
+ "meta-type": "array"
+ },
+ {
+ "name": "[287]",
+ "element-type": "287",
+ "meta-type": "array"
+ },
+ {
+ "name": "287",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "286"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "type": "288"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "289"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "288",
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "vnc",
+ "ra2",
+ "ra2ne",
+ "tight",
+ "ultra",
+ "tls",
+ "vencrypt",
+ "sasl"
+ ]
+ },
+ {
+ "name": "289",
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "tls-none",
+ "x509-none",
+ "tls-vnc",
+ "x509-vnc",
+ "tls-plain",
+ "x509-plain",
+ "tls-sasl",
+ "x509-sasl"
+ ]
+ },
+ {
+ "name": "290",
+ "meta-type": "enum",
+ "values": [
+ "utf8",
+ "base64"
+ ]
+ },
+ {
+ "name": "[291]",
+ "element-type": "291",
+ "meta-type": "array"
+ },
+ {
+ "name": "291",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "number",
+ "type": "352"
+ },
+ {
+ "case": "qcode",
+ "type": "353"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "351"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "292",
+ "meta-type": "enum",
+ "values": [
+ "unavailable",
+ "disabled",
+ "enabled"
+ ]
+ },
+ {
+ "name": "[293]",
+ "element-type": "293",
+ "meta-type": "array"
+ },
+ {
+ "name": "293",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "abort",
+ "type": "355"
+ },
+ {
+ "case": "block-dirty-bitmap-add",
+ "type": "356"
+ },
+ {
+ "case": "block-dirty-bitmap-clear",
+ "type": "357"
+ },
+ {
+ "case": "blockdev-backup",
+ "type": "358"
+ },
+ {
+ "case": "blockdev-snapshot",
+ "type": "359"
+ },
+ {
+ "case": "blockdev-snapshot-internal-sync",
+ "type": "360"
+ },
+ {
+ "case": "blockdev-snapshot-sync",
+ "type": "361"
+ },
+ {
+ "case": "drive-backup",
+ "type": "362"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "354"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "294",
+ "members": [
+ {
+ "name": "completion-mode",
+ "default": null,
+ "type": "363"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "295",
+ "meta-type": "enum",
+ "values": [
+ "hyper-v"
+ ]
+ },
+ {
+ "name": "296",
+ "members": [
+ {
+ "name": "arg1",
+ "type": "int"
+ },
+ {
+ "name": "arg2",
+ "type": "int"
+ },
+ {
+ "name": "arg3",
+ "type": "int"
+ },
+ {
+ "name": "arg4",
+ "type": "int"
+ },
+ {
+ "name": "arg5",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "297",
+ "members": [
+ {
+ "type": "48"
+ },
+ {
+ "type": "str"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "[298]",
+ "element-type": "298",
+ "meta-type": "array"
+ },
+ {
+ "name": "298",
+ "members": [
+ {
+ "name": "event",
+ "type": "364"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "errno",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "sector",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "once",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "immediately",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[299]",
+ "element-type": "299",
+ "meta-type": "array"
+ },
+ {
+ "name": "299",
+ "members": [
+ {
+ "name": "event",
+ "type": "364"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "new_state",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "300",
+ "meta-type": "enum",
+ "values": [
+ "auto",
+ "on",
+ "off"
+ ]
+ },
+ {
+ "name": "301",
+ "meta-type": "enum",
+ "values": [
+ "threads",
+ "native"
+ ]
+ },
+ {
+ "name": "[302]",
+ "element-type": "302",
+ "meta-type": "array"
+ },
+ {
+ "name": "302",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "313"
+ },
+ {
+ "case": "unix",
+ "type": "366"
+ },
+ {
+ "case": "vsock",
+ "type": "367"
+ },
+ {
+ "case": "fd",
+ "type": "368"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "365"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "303",
+ "meta-type": "enum",
+ "values": [
+ "tcp",
+ "iser"
+ ]
+ },
+ {
+ "name": "304",
+ "meta-type": "enum",
+ "values": [
+ "crc32c",
+ "none",
+ "crc32c-none",
+ "none-crc32c"
+ ]
+ },
+ {
+ "name": "305",
+ "members": [
+ {
+ "name": "type",
+ "type": "369"
+ },
+ {
+ "name": "host",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "306",
+ "members": [
+ {
+ "type": "48"
+ },
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "307",
+ "members": [
+ {
+ "type": "370"
+ },
+ {
+ "type": "371"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "308",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "373"
+ },
+ {
+ "case": "luks",
+ "type": "374"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "372"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "309",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "373"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "375"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[297]",
+ "element-type": "297",
+ "meta-type": "array"
+ },
+ {
+ "name": "310",
+ "meta-type": "enum",
+ "values": [
+ "quorum",
+ "fifo"
+ ]
+ },
+ {
+ "name": "[311]",
+ "element-type": "311",
+ "meta-type": "array"
+ },
+ {
+ "name": "311",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "312",
+ "meta-type": "enum",
+ "values": [
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "313",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "numeric",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "to",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "ipv4",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "ipv6",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "314",
+ "meta-type": "enum",
+ "values": [
+ "file",
+ "serial",
+ "parallel",
+ "pipe",
+ "socket",
+ "udp",
+ "pty",
+ "null",
+ "mux",
+ "msmouse",
+ "wctablet",
+ "braille",
+ "testdev",
+ "stdio",
+ "console",
+ "spicevmc",
+ "spiceport",
+ "vc",
+ "ringbuf",
+ "memory"
+ ]
+ },
+ {
+ "name": "315",
+ "members": [
+ {
+ "name": "data",
+ "type": "376"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "316",
+ "members": [
+ {
+ "name": "data",
+ "type": "377"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "317",
+ "members": [
+ {
+ "name": "data",
+ "type": "378"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "318",
+ "members": [
+ {
+ "name": "data",
+ "type": "379"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "319",
+ "members": [
+ {
+ "name": "data",
+ "type": "380"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "320",
+ "members": [
+ {
+ "name": "data",
+ "type": "381"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "321",
+ "members": [
+ {
+ "name": "data",
+ "type": "382"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "322",
+ "members": [
+ {
+ "name": "data",
+ "type": "383"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "323",
+ "members": [
+ {
+ "name": "data",
+ "type": "384"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "324",
+ "members": [
+ {
+ "name": "data",
+ "type": "385"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "325",
+ "members": [
+ {
+ "name": "data",
+ "type": "386"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "326",
+ "meta-type": "enum",
+ "values": [
+ "key",
+ "btn",
+ "rel",
+ "abs"
+ ]
+ },
+ {
+ "name": "327",
+ "members": [
+ {
+ "name": "data",
+ "type": "387"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "328",
+ "members": [
+ {
+ "name": "data",
+ "type": "388"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "329",
+ "members": [
+ {
+ "name": "data",
+ "type": "389"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "null",
+ "json-type": "null",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "330",
+ "meta-type": "enum",
+ "values": [
+ "inet",
+ "unix",
+ "vsock",
+ "fd"
+ ]
+ },
+ {
+ "name": "331",
+ "members": [
+ {
+ "name": "data",
+ "type": "313"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "332",
+ "members": [
+ {
+ "name": "data",
+ "type": "366"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "333",
+ "members": [
+ {
+ "name": "data",
+ "type": "367"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "334",
+ "members": [
+ {
+ "name": "data",
+ "type": "368"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "335",
+ "meta-type": "enum",
+ "values": [
+ "active",
+ "disabled",
+ "frozen"
+ ]
+ },
+ {
+ "name": "[336]",
+ "element-type": "336",
+ "meta-type": "array"
+ },
+ {
+ "name": "336",
+ "members": [
+ {
+ "name": "interval_length",
+ "type": "int"
+ },
+ {
+ "name": "min_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "min_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "min_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_rd_queue_depth",
+ "type": "number"
+ },
+ {
+ "name": "avg_wr_queue_depth",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "337",
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "boolean",
+ "number",
+ "size"
+ ]
+ },
+ {
+ "name": "338",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "addr",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[57]",
+ "element-type": "57",
+ "meta-type": "array"
+ },
+ {
+ "name": "339",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "qcow2",
+ "type": "391"
+ },
+ {
+ "case": "vmdk",
+ "type": "392"
+ },
+ {
+ "case": "luks",
+ "type": "393"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "390"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "340",
+ "members": [
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "class",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "341",
+ "members": [
+ {
+ "name": "device",
+ "type": "int"
+ },
+ {
+ "name": "vendor",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "342",
+ "members": [
+ {
+ "name": "bus",
+ "type": "394"
+ },
+ {
+ "name": "devices",
+ "default": null,
+ "type": "[267]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[343]",
+ "element-type": "343",
+ "meta-type": "array"
+ },
+ {
+ "name": "343",
+ "members": [
+ {
+ "name": "bar",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "address",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "prefetch",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mem_type_64",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "344",
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "number",
+ "int",
+ "boolean",
+ "null",
+ "object",
+ "array",
+ "value"
+ ]
+ },
+ {
+ "name": "[345]",
+ "element-type": "345",
+ "meta-type": "array"
+ },
+ {
+ "name": "345",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[346]",
+ "element-type": "346",
+ "meta-type": "array"
+ },
+ {
+ "name": "346",
+ "members": [
+ {
+ "name": "case",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[347]",
+ "element-type": "347",
+ "meta-type": "array"
+ },
+ {
+ "name": "347",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "348",
+ "meta-type": "enum",
+ "values": [
+ "passthrough",
+ "emulator"
+ ]
+ },
+ {
+ "name": "349",
+ "members": [
+ {
+ "name": "data",
+ "type": "395"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "350",
+ "members": [
+ {
+ "name": "data",
+ "type": "396"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "351",
+ "meta-type": "enum",
+ "values": [
+ "number",
+ "qcode"
+ ]
+ },
+ {
+ "name": "352",
+ "members": [
+ {
+ "name": "data",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "353",
+ "members": [
+ {
+ "name": "data",
+ "type": "397"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "354",
+ "meta-type": "enum",
+ "values": [
+ "abort",
+ "block-dirty-bitmap-add",
+ "block-dirty-bitmap-clear",
+ "blockdev-backup",
+ "blockdev-snapshot",
+ "blockdev-snapshot-internal-sync",
+ "blockdev-snapshot-sync",
+ "drive-backup"
+ ]
+ },
+ {
+ "name": "355",
+ "members": [
+ {
+ "name": "data",
+ "type": "398"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "356",
+ "members": [
+ {
+ "name": "data",
+ "type": "36"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "357",
+ "members": [
+ {
+ "name": "data",
+ "type": "37"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "358",
+ "members": [
+ {
+ "name": "data",
+ "type": "49"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "359",
+ "members": [
+ {
+ "name": "data",
+ "type": "55"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "360",
+ "members": [
+ {
+ "name": "data",
+ "type": "58"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "361",
+ "members": [
+ {
+ "name": "data",
+ "type": "59"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "362",
+ "members": [
+ {
+ "name": "data",
+ "type": "76"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "363",
+ "meta-type": "enum",
+ "values": [
+ "individual",
+ "grouped"
+ ]
+ },
+ {
+ "name": "364",
+ "meta-type": "enum",
+ "values": [
+ "l1_update",
+ "l1_grow_alloc_table",
+ "l1_grow_write_table",
+ "l1_grow_activate_table",
+ "l2_load",
+ "l2_update",
+ "l2_update_compressed",
+ "l2_alloc_cow_read",
+ "l2_alloc_write",
+ "read_aio",
+ "read_backing_aio",
+ "read_compressed",
+ "write_aio",
+ "write_compressed",
+ "vmstate_load",
+ "vmstate_save",
+ "cow_read",
+ "cow_write",
+ "reftable_load",
+ "reftable_grow",
+ "reftable_update",
+ "refblock_load",
+ "refblock_update",
+ "refblock_update_part",
+ "refblock_alloc",
+ "refblock_alloc_hookup",
+ "refblock_alloc_write",
+ "refblock_alloc_write_blocks",
+ "refblock_alloc_write_table",
+ "refblock_alloc_switch_table",
+ "cluster_alloc",
+ "cluster_alloc_bytes",
+ "cluster_free",
+ "flush_to_os",
+ "flush_to_disk",
+ "pwritev_rmw_head",
+ "pwritev_rmw_after_head",
+ "pwritev_rmw_tail",
+ "pwritev_rmw_after_tail",
+ "pwritev",
+ "pwritev_zero",
+ "pwritev_done",
+ "empty_image_prepare",
+ "l1_shrink_write_table",
+ "l1_shrink_free_l2_clusters",
+ "cor_write"
+ ]
+ },
+ {
+ "name": "365",
+ "meta-type": "enum",
+ "values": [
+ "inet",
+ "unix",
+ "vsock",
+ "fd"
+ ]
+ },
+ {
+ "name": "366",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "367",
+ "members": [
+ {
+ "name": "cid",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "368",
+ "members": [
+ {
+ "name": "str",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "369",
+ "meta-type": "enum",
+ "values": [
+ "inet"
+ ]
+ },
+ {
+ "name": "370",
+ "members": [
+ {
+ "name": "template",
+ "default": null,
+ "type": "371"
+ },
+ {
+ "name": "main-header",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "active-l1",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "active-l2",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-table",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-block",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "snapshot-table",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "inactive-l1",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "inactive-l2",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "371",
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "constant",
+ "cached",
+ "all"
+ ]
+ },
+ {
+ "name": "372",
+ "meta-type": "enum",
+ "values": [
+ "aes",
+ "luks"
+ ]
+ },
+ {
+ "name": "373",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "374",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "375",
+ "meta-type": "enum",
+ "values": [
+ "aes"
+ ]
+ },
+ {
+ "name": "376",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "in",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "out",
+ "type": "str"
+ },
+ {
+ "name": "append",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "377",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "378",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "type": "240"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "wait",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "nodelay",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "telnet",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tn3270",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reconnect",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "379",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "remote",
+ "type": "240"
+ },
+ {
+ "name": "local",
+ "default": null,
+ "type": "240"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "380",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "381",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "382",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "signal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "383",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "384",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fqdn",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "385",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "width",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "height",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cols",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "rows",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "386",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "387",
+ "members": [
+ {
+ "name": "key",
+ "type": "291"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "388",
+ "members": [
+ {
+ "name": "button",
+ "type": "399"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "389",
+ "members": [
+ {
+ "name": "axis",
+ "type": "400"
+ },
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "390",
+ "meta-type": "enum",
+ "values": [
+ "qcow2",
+ "vmdk",
+ "luks"
+ ]
+ },
+ {
+ "name": "391",
+ "members": [
+ {
+ "name": "data",
+ "type": "401"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "392",
+ "members": [
+ {
+ "name": "data",
+ "type": "402"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "393",
+ "members": [
+ {
+ "name": "data",
+ "type": "403"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "394",
+ "members": [
+ {
+ "name": "number",
+ "type": "int"
+ },
+ {
+ "name": "secondary",
+ "type": "int"
+ },
+ {
+ "name": "subordinate",
+ "type": "int"
+ },
+ {
+ "name": "io_range",
+ "type": "404"
+ },
+ {
+ "name": "memory_range",
+ "type": "404"
+ },
+ {
+ "name": "prefetchable_range",
+ "type": "404"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "395",
+ "members": [
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cancel-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "396",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "397",
+ "meta-type": "enum",
+ "values": [
+ "unmapped",
+ "shift",
+ "shift_r",
+ "alt",
+ "alt_r",
+ "ctrl",
+ "ctrl_r",
+ "menu",
+ "esc",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "0",
+ "minus",
+ "equal",
+ "backspace",
+ "tab",
+ "q",
+ "w",
+ "e",
+ "r",
+ "t",
+ "y",
+ "u",
+ "i",
+ "o",
+ "p",
+ "bracket_left",
+ "bracket_right",
+ "ret",
+ "a",
+ "s",
+ "d",
+ "f",
+ "g",
+ "h",
+ "j",
+ "k",
+ "l",
+ "semicolon",
+ "apostrophe",
+ "grave_accent",
+ "backslash",
+ "z",
+ "x",
+ "c",
+ "v",
+ "b",
+ "n",
+ "m",
+ "comma",
+ "dot",
+ "slash",
+ "asterisk",
+ "spc",
+ "caps_lock",
+ "f1",
+ "f2",
+ "f3",
+ "f4",
+ "f5",
+ "f6",
+ "f7",
+ "f8",
+ "f9",
+ "f10",
+ "num_lock",
+ "scroll_lock",
+ "kp_divide",
+ "kp_multiply",
+ "kp_subtract",
+ "kp_add",
+ "kp_enter",
+ "kp_decimal",
+ "sysrq",
+ "kp_0",
+ "kp_1",
+ "kp_2",
+ "kp_3",
+ "kp_4",
+ "kp_5",
+ "kp_6",
+ "kp_7",
+ "kp_8",
+ "kp_9",
+ "less",
+ "f11",
+ "f12",
+ "print",
+ "home",
+ "pgup",
+ "pgdn",
+ "end",
+ "left",
+ "up",
+ "down",
+ "right",
+ "insert",
+ "delete",
+ "stop",
+ "again",
+ "props",
+ "undo",
+ "front",
+ "copy",
+ "open",
+ "paste",
+ "find",
+ "cut",
+ "lf",
+ "help",
+ "meta_l",
+ "meta_r",
+ "compose",
+ "pause",
+ "ro",
+ "hiragana",
+ "henkan",
+ "yen",
+ "kp_comma",
+ "kp_equals",
+ "power",
+ "sleep",
+ "wake",
+ "audionext",
+ "audioprev",
+ "audiostop",
+ "audioplay",
+ "audiomute",
+ "volumeup",
+ "volumedown",
+ "mediaselect",
+ "mail",
+ "calculator",
+ "computer",
+ "ac_home",
+ "ac_back",
+ "ac_forward",
+ "ac_refresh",
+ "ac_bookmarks"
+ ]
+ },
+ {
+ "name": "398",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "399",
+ "meta-type": "enum",
+ "values": [
+ "left",
+ "middle",
+ "right",
+ "wheel-up",
+ "wheel-down",
+ "side",
+ "extra"
+ ]
+ },
+ {
+ "name": "400",
+ "meta-type": "enum",
+ "values": [
+ "x",
+ "y"
+ ]
+ },
+ {
+ "name": "401",
+ "members": [
+ {
+ "name": "compat",
+ "type": "str"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "corrupt",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-bits",
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "405"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "402",
+ "members": [
+ {
+ "name": "create-type",
+ "type": "str"
+ },
+ {
+ "name": "cid",
+ "type": "int"
+ },
+ {
+ "name": "parent-cid",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "type": "[265]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "403",
+ "members": [
+ {
+ "name": "cipher-alg",
+ "type": "406"
+ },
+ {
+ "name": "cipher-mode",
+ "type": "407"
+ },
+ {
+ "name": "ivgen-alg",
+ "type": "408"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "409"
+ },
+ {
+ "name": "hash-alg",
+ "type": "409"
+ },
+ {
+ "name": "payload-offset",
+ "type": "int"
+ },
+ {
+ "name": "master-key-iters",
+ "type": "int"
+ },
+ {
+ "name": "uuid",
+ "type": "str"
+ },
+ {
+ "name": "slots",
+ "type": "[410]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "404",
+ "members": [
+ {
+ "name": "base",
+ "type": "int"
+ },
+ {
+ "name": "limit",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "405",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "411"
+ },
+ {
+ "case": "luks",
+ "type": "403"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "372"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[265]",
+ "element-type": "265",
+ "meta-type": "array"
+ },
+ {
+ "name": "406",
+ "meta-type": "enum",
+ "values": [
+ "aes-128",
+ "aes-192",
+ "aes-256",
+ "des-rfb",
+ "3des",
+ "cast5-128",
+ "serpent-128",
+ "serpent-192",
+ "serpent-256",
+ "twofish-128",
+ "twofish-192",
+ "twofish-256"
+ ]
+ },
+ {
+ "name": "407",
+ "meta-type": "enum",
+ "values": [
+ "ecb",
+ "cbc",
+ "xts",
+ "ctr"
+ ]
+ },
+ {
+ "name": "408",
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "plain64",
+ "essiv"
+ ]
+ },
+ {
+ "name": "409",
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha224",
+ "sha256",
+ "sha384",
+ "sha512",
+ "ripemd160"
+ ]
+ },
+ {
+ "name": "[410]",
+ "element-type": "410",
+ "meta-type": "array"
+ },
+ {
+ "name": "410",
+ "members": [
+ {
+ "name": "active",
+ "type": "bool"
+ },
+ {
+ "name": "iters",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "stripes",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "key-offset",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "411",
+ "members": [
+ ],
+ "meta-type": "object"
+ }
+ ],
+ "id": "libvirt-47"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "z14-base",
+ "props": {
+ "aen": true,
+ "cmmnt": true,
+ "aefsi": true,
+ "mepoch": true,
+ "msa8": true,
+ "msa7": true,
+ "msa6": true,
+ "msa5": true,
+ "msa4": true,
+ "msa3": true,
+ "msa2": true,
+ "msa1": true,
+ "sthyi": true,
+ "edat": true,
+ "ri": true,
+ "edat2": true,
+ "vx": true,
+ "ipter": true,
+ "vxeh": true,
+ "vxpd": true,
+ "esop": true,
+ "iep": true,
+ "cte": true,
+ "gs": true,
+ "zpci": true,
+ "sea_esop2": true,
+ "te": true,
+ "cmm": true
+ }
+ }
+ },
+ "id": "libvirt-48"
+}
+
+{
+ "id": "libvirt-49",
+ "error": {
+ "class": "GenericError",
+ "desc": "Property '.migratable' not found"
+ }
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "return": [
+ {
+ "name": "z890.2",
+ "typename": "z890.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.4",
+ "typename": "z990.4-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC.2",
+ "typename": "z10BC.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z196.2",
+ "typename": "z196.2-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "aefsi",
+ "sthyi",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z14",
+ "typename": "z14-s390x-cpu",
+ "unavailable-features": [
+ "ppno-sha-512-drng",
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "vxeh",
+ "vxpd",
+ "gs",
+ "sea_esop2",
+ "iep",
+ "vx",
+ "dfppc",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "tsi",
+ "sema",
+ "minste2",
+ "eec",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "opc",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa8",
+ "msa7",
+ "msa6",
+ "msa2",
+ "msa1",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC-base",
+ "typename": "z9BC-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12-base",
+ "typename": "zEC12-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z196-base",
+ "typename": "z196-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13-base",
+ "typename": "z13-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "dfppc",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.3",
+ "typename": "z990.3-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "host",
+ "typename": "host-s390x-cpu",
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "z9EC",
+ "typename": "z9EC-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zBC12",
+ "typename": "zBC12-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.3",
+ "typename": "z9EC.3-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z196.2-base",
+ "typename": "z196.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu",
+ "typename": "qemu-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12.2-base",
+ "typename": "zEC12.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z800-base",
+ "typename": "z800-base-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.2",
+ "typename": "z9EC.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.2-base",
+ "typename": "z900.2-base-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.3",
+ "typename": "z900.3-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z890-base",
+ "typename": "z890-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890",
+ "typename": "z890-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.4-base",
+ "typename": "z990.4-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC.2-base",
+ "typename": "z10BC.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.2",
+ "typename": "z900.2-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC.2-base",
+ "typename": "z9BC.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z800",
+ "typename": "z800-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z114",
+ "typename": "z114-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "aefsi",
+ "sthyi",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13",
+ "typename": "z13-s390x-cpu",
+ "unavailable-features": [
+ "ppno-sha-512-drng",
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "vx",
+ "dfppc",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990",
+ "typename": "z990-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13s-base",
+ "typename": "z13s-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "dfppc",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.2",
+ "typename": "z990.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z14-base",
+ "typename": "z14-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "dfppc",
+ "tsi",
+ "sema",
+ "minste2",
+ "eec",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "opc",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.2-base",
+ "typename": "z890.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z196",
+ "typename": "z196-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "aefsi",
+ "sthyi",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC",
+ "typename": "z10EC-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z13s",
+ "typename": "z13s-s390x-cpu",
+ "unavailable-features": [
+ "ppno-sha-512-drng",
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "vx",
+ "dfppc",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900",
+ "typename": "z900-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.3",
+ "typename": "z10EC.3-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.2-base",
+ "typename": "z10EC.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z114-base",
+ "typename": "z114-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.2-base",
+ "typename": "z990.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.2-base",
+ "typename": "z9EC.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.3",
+ "typename": "z890.3-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z900.3-base",
+ "typename": "z900.3-base-s390x-cpu",
+ "unavailable-features": [
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC.2",
+ "typename": "z9BC.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC",
+ "typename": "z10BC-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.5",
+ "typename": "z990.5-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12.2",
+ "typename": "zEC12.2-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC-base",
+ "typename": "z10EC-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC-base",
+ "typename": "z9EC-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z9EC.3-base",
+ "typename": "z9EC.3-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "zEC12",
+ "typename": "zEC12-s390x-cpu",
+ "unavailable-features": [
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.5-base",
+ "typename": "z990.5-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10BC-base",
+ "typename": "z10BC-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z900-base",
+ "typename": "z900-base-s390x-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13.2",
+ "typename": "z13.2-s390x-cpu",
+ "unavailable-features": [
+ "ppno-sha-512-drng",
+ "pcc-xts-eaes-256",
+ "pcc-xts-eaes-128",
+ "pcc-xts-aes-256",
+ "pcc-xts-aes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-eaes-192",
+ "pcc-cmac-eaes-128",
+ "pcc-cmac-eaes-256",
+ "pcc-cmac-aes-192",
+ "pcc-cmac-aes-128",
+ "pcc-cmac-etdea-192",
+ "pcc-cmac-etdea-128",
+ "pcc-cmac-edea",
+ "pcc-cmac-tdea-192",
+ "pcc-cmac-tdea-128",
+ "pcc-cmac-dea",
+ "kmo-eaes-256",
+ "kmo-eaes-192",
+ "kmo-eaes-128",
+ "kmo-aes-256",
+ "kmo-aes-192",
+ "kmo-aes-128",
+ "kmo-etdea-192",
+ "kmo-etdea-128",
+ "kmo-edea",
+ "kmo-tdea-192",
+ "kmo-tdea-128",
+ "kmo-dea",
+ "kmf-eaes-256",
+ "kmf-eaes-192",
+ "kmf-eaes-128",
+ "kmf-aes-256",
+ "kmf-aes-192",
+ "kmf-aes-128",
+ "kmf-etdea-192",
+ "kmf-etdea-128",
+ "kmf-edea",
+ "kmf-tdea-192",
+ "kmf-tdea-128",
+ "kmf-dea",
+ "kmctr-eaes-256",
+ "kmctr-eaes-192",
+ "kmctr-eaes-128",
+ "kmctr-aes-256",
+ "kmctr-aes-192",
+ "kmctr-aes-128",
+ "kmctr-etdea-192",
+ "kmctr-etdea-128",
+ "kmctr-edea",
+ "kmctr-tdea-192",
+ "kmctr-tdea-128",
+ "kmctr-dea",
+ "pckmo-aes-256",
+ "pckmo-aes-192",
+ "pckmo-aes-128",
+ "pckmo-etdea-192",
+ "pckmo-etdea-128",
+ "pckmo-edea",
+ "klmd-sha-1",
+ "kimd-ghash",
+ "kimd-sha-1",
+ "km-xts-eaes-256",
+ "km-xts-eaes-128",
+ "km-xts-aes-256",
+ "km-xts-aes-128",
+ "km-eaes-256",
+ "km-eaes-192",
+ "km-eaes-128",
+ "km-etdea-192",
+ "km-etdea-128",
+ "km-edea",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-eaes-256",
+ "kmc-eaes-192",
+ "kmc-eaes-128",
+ "kmc-etdea-192",
+ "kmc-etdea-128",
+ "kmc-edea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-eaes-256",
+ "kmac-eaes-192",
+ "kmac-eaes-128",
+ "kmac-aes-256",
+ "kmac-aes-192",
+ "kmac-aes-128",
+ "kmac-etdea-192",
+ "kmac-etdea-128",
+ "kmac-edea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "esop",
+ "sea_esop2",
+ "vx",
+ "dfppc",
+ "edat2",
+ "aefsi",
+ "sthyi",
+ "te",
+ "aen",
+ "zpci",
+ "ri",
+ "iacc2",
+ "cte",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "ipter",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "zBC12-base",
+ "typename": "zBC12-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z13.2-base",
+ "typename": "z13.2-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "dfppc",
+ "iacc2",
+ "dfpzc",
+ "cmpsceh",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "sprogp",
+ "fpe",
+ "emon",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "nonqks",
+ "csske",
+ "asnlxr",
+ "gen13ptff",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z890.3-base",
+ "typename": "z890.3-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990-base",
+ "typename": "z990-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.2",
+ "typename": "z10EC.2-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "edat",
+ "asnlxr",
+ "msa2",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z9BC",
+ "typename": "z9BC-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "cmm",
+ "dateh2",
+ "sthyi",
+ "hfpue",
+ "hfpm",
+ "asnlxr",
+ "msa1",
+ "tods",
+ "type"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "z10EC.3-base",
+ "typename": "z10EC.3-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "dateh2",
+ "pfpo",
+ "dfphp",
+ "dfp",
+ "ectg",
+ "parseh",
+ "hfpue",
+ "hfpm",
+ "csske",
+ "asnlxr",
+ "tods",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "z990.3-base",
+ "typename": "z990.3-base-s390x-cpu",
+ "unavailable-features": [
+ "klmd-sha-1",
+ "kimd-sha-1",
+ "km-tdea-192",
+ "km-tdea-128",
+ "km-dea",
+ "kmc-tdea-192",
+ "kmc-tdea-128",
+ "kmc-dea",
+ "kmac-tdea-192",
+ "kmac-tdea-128",
+ "kmac-dea",
+ "hfpm",
+ "type"
+ ],
+ "static": true,
+ "migration-safe": true
+ }
+ ],
+ "id": "libvirt-2"
+}
+
+{
+ "id": "libvirt-3",
+ "error": {
+ "class": "GenericError",
+ "desc": "The CPU definition 'max' is unknown."
+ }
+}
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
new file mode 100644
index 0000000000..f7f102fe4c
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -0,0 +1,2641 @@
+<qemuCaps>
+ <qemuctime>0</qemuctime>
+ <selfctime>0</selfctime>
+ <selfvers>0</selfvers>
+ <usedQMP/>
+ <flag name='kvm'/>
+ <flag name='mem-path'/>
+ <flag name='drive-serial'/>
+ <flag name='monitor-json'/>
+ <flag name='sdl'/>
+ <flag name='netdev'/>
+ <flag name='rtc'/>
+ <flag name='vhost-net'/>
+ <flag name='nodefconfig'/>
+ <flag name='boot-menu'/>
+ <flag name='fsdev'/>
+ <flag name='name-process'/>
+ <flag name='smbios-type'/>
+ <flag name='vga-none'/>
+ <flag name='boot-index'/>
+ <flag name='drive-aio'/>
+ <flag name='chardev-spicevmc'/>
+ <flag name='virtio-tx-alg'/>
+ <flag name='pci-multifunction'/>
+ <flag name='virtio-blk-pci.ioeventfd'/>
+ <flag name='virtio-blk-pci.event_idx'/>
+ <flag name='virtio-net-pci.event_idx'/>
+ <flag name='cache-directsync'/>
+ <flag name='no-shutdown'/>
+ <flag name='cache-unsafe'/>
+ <flag name='fsdev-readonly'/>
+ <flag name='virtio-blk-pci.scsi'/>
+ <flag name='drive-copy-on-read'/>
+ <flag name='fsdev-writeout'/>
+ <flag name='drive-iotune'/>
+ <flag name='system_wakeup'/>
+ <flag name='scsi-disk.channel'/>
+ <flag name='scsi-block'/>
+ <flag name='transaction'/>
+ <flag name='block-job-async'/>
+ <flag name='scsi-cd'/>
+ <flag name='no-user-config'/>
+ <flag name='dump-guest-memory'/>
+ <flag name='balloon-event'/>
+ <flag name='bridge'/>
+ <flag name='virtio-scsi-pci'/>
+ <flag name='blockio'/>
+ <flag name='scsi-disk.wwn'/>
+ <flag name='seccomp-sandbox'/>
+ <flag name='reboot-timeout'/>
+ <flag name='dump-guest-core'/>
+ <flag name='seamless-migration'/>
+ <flag name='block-commit'/>
+ <flag name='vnc'/>
+ <flag name='drive-mirror'/>
+ <flag name='blockdev-snapshot-sync'/>
+ <flag name='device-video-primary'/>
+ <flag name='s390-sclp'/>
+ <flag name='add-fd'/>
+ <flag name='nbd-server'/>
+ <flag name='virtio-rng'/>
+ <flag name='rng-random'/>
+ <flag name='rng-egd'/>
+ <flag name='virtio-ccw'/>
+ <flag name='dtb'/>
+ <flag name='ipv6-migration'/>
+ <flag name='machine-opt'/>
+ <flag name='machine-usb-opt'/>
+ <flag name='pci-bridge'/>
+ <flag name='vfio-pci'/>
+ <flag name='vfio-pci.bootindex'/>
+ <flag name='scsi-generic'/>
+ <flag name='scsi-generic.bootindex'/>
+ <flag name='mem-merge'/>
+ <flag name='vnc-websocket'/>
+ <flag name='drive-discard'/>
+ <flag name='mlock'/>
+ <flag name='vnc-share-policy'/>
+ <flag name='device-del-event'/>
+ <flag name='virtio-mmio'/>
+ <flag name='boot-strict'/>
+ <flag name='spiceport'/>
+ <flag name='host-pci-multidomain'/>
+ <flag name='msg-timestamp'/>
+ <flag name='active-commit'/>
+ <flag name='change-backing-file'/>
+ <flag name='memory-backend-ram'/>
+ <flag name='numa'/>
+ <flag name='memory-backend-file'/>
+ <flag name='splash-timeout'/>
+ <flag name='iothread'/>
+ <flag name='migrate-rdma'/>
+ <flag name='drive-iotune-max'/>
+ <flag name='machine-vmport-opt'/>
+ <flag name='aes-key-wrap'/>
+ <flag name='dea-key-wrap'/>
+ <flag name='vhost-user-multiqueue'/>
+ <flag name='migration-event'/>
+ <flag name='virtio-net'/>
+ <flag name='gic-version'/>
+ <flag name='incoming-defer'/>
+ <flag name='virtio-gpu'/>
+ <flag name='virtio-keyboard'/>
+ <flag name='virtio-mouse'/>
+ <flag name='virtio-tablet'/>
+ <flag name='virtio-input-host'/>
+ <flag name='chardev-file-append'/>
+ <flag name='vserport-change-event'/>
+ <flag name='virtio-balloon-pci.deflate-on-oom'/>
+ <flag name='chardev-logfile'/>
+ <flag name='debug-threads'/>
+ <flag name='secret'/>
+ <flag name='device-tray-moved-event'/>
+ <flag name='virtio-scsi-pci.iothread'/>
+ <flag name='name-guest'/>
+ <flag name='drive-detect-zeroes'/>
+ <flag name='tls-creds-x509'/>
+ <flag name='display'/>
+ <flag name='smm'/>
+ <flag name='virtio-pci-disable-legacy'/>
+ <flag name='query-hotpluggable-cpus'/>
+ <flag name='virtio-net.rx_queue_size'/>
+ <flag name='drive-iotune-max-length'/>
+ <flag name='query-qmp-schema'/>
+ <flag name='gluster.debug_level'/>
+ <flag name='vhost-scsi'/>
+ <flag name='drive-iotune-group'/>
+ <flag name='query-cpu-model-expansion'/>
+ <flag name='virtio-net.host_mtu'/>
+ <flag name='query-cpu-definitions'/>
+ <flag name='block-write-threshold'/>
+ <flag name='query-named-block-nodes'/>
+ <flag name='kernel-irqchip'/>
+ <flag name='kernel-irqchip.split'/>
+ <flag name='virtio.iommu_platform'/>
+ <flag name='virtio.ats'/>
+ <flag name='loadparm'/>
+ <flag name='vnc-multi-servers'/>
+ <flag name='virtio-net.tx_queue_size'/>
+ <flag name='chardev-reconnect'/>
+ <flag name='virtio-gpu.max_outputs'/>
+ <flag name='vxhs'/>
+ <flag name='virtio-blk.num-queues'/>
+ <flag name='sclplmconsole'/>
+ <flag name='numa.dist'/>
+ <flag name='disk-share-rw'/>
+ <flag name='iscsi.password-secret'/>
+ <flag name='dump-completed'/>
+ <version>2011000</version>
+ <kvmVersion>0</kvmVersion>
+ <microcodeVersion>341724</microcodeVersion>
+ <package></package>
+ <arch>s390x</arch>
+ <hostCPU type='kvm' model='z14-base' migratability='no'>
+ <property name='aen' type='boolean' value='true'/>
+ <property name='cmmnt' type='boolean' value='true'/>
+ <property name='aefsi' type='boolean' value='true'/>
+ <property name='mepoch' type='boolean' value='true'/>
+ <property name='msa8' type='boolean' value='true'/>
+ <property name='msa7' type='boolean' value='true'/>
+ <property name='msa6' type='boolean' value='true'/>
+ <property name='msa5' type='boolean' value='true'/>
+ <property name='msa4' type='boolean' value='true'/>
+ <property name='msa3' type='boolean' value='true'/>
+ <property name='msa2' type='boolean' value='true'/>
+ <property name='msa1' type='boolean' value='true'/>
+ <property name='sthyi' type='boolean' value='true'/>
+ <property name='edat' type='boolean' value='true'/>
+ <property name='ri' type='boolean' value='true'/>
+ <property name='edat2' type='boolean' value='true'/>
+ <property name='vx' type='boolean' value='true'/>
+ <property name='ipter' type='boolean' value='true'/>
+ <property name='vxeh' type='boolean' value='true'/>
+ <property name='vxpd' type='boolean' value='true'/>
+ <property name='esop' type='boolean' value='true'/>
+ <property name='iep' type='boolean' value='true'/>
+ <property name='cte' type='boolean' value='true'/>
+ <property name='gs' type='boolean' value='true'/>
+ <property name='zpci' type='boolean' value='true'/>
+ <property name='sea_esop2' type='boolean' value='true'/>
+ <property name='te' type='boolean' value='true'/>
+ <property name='cmm' type='boolean' value='true'/>
+ </hostCPU>
+ <cpu type='kvm' name='z890.2' usable='yes'/>
+ <cpu type='kvm' name='z990.4' usable='yes'/>
+ <cpu type='kvm' name='z10BC.2' usable='yes'/>
+ <cpu type='kvm' name='z196.2' usable='yes'/>
+ <cpu type='kvm' name='z14' usable='yes'/>
+ <cpu type='kvm' name='z9BC-base' usable='yes'/>
+ <cpu type='kvm' name='zEC12-base' usable='yes'/>
+ <cpu type='kvm' name='z196-base' usable='yes'/>
+ <cpu type='kvm' name='z13-base' usable='yes'/>
+ <cpu type='kvm' name='z990.3' usable='yes'/>
+ <cpu type='kvm' name='host' usable='yes'/>
+ <cpu type='kvm' name='z9EC' usable='yes'/>
+ <cpu type='kvm' name='zBC12' usable='yes'/>
+ <cpu type='kvm' name='z9EC.3' usable='yes'/>
+ <cpu type='kvm' name='z196.2-base' usable='yes'/>
+ <cpu type='kvm' name='qemu' usable='yes'/>
+ <cpu type='kvm' name='zEC12.2-base' usable='yes'/>
+ <cpu type='kvm' name='z800-base' usable='yes'/>
+ <cpu type='kvm' name='z9EC.2' usable='yes'/>
+ <cpu type='kvm' name='z900.2-base' usable='yes'/>
+ <cpu type='kvm' name='z900.3' usable='yes'/>
+ <cpu type='kvm' name='z890-base' usable='yes'/>
+ <cpu type='kvm' name='z890' usable='yes'/>
+ <cpu type='kvm' name='z990.4-base' usable='yes'/>
+ <cpu type='kvm' name='z10BC.2-base' usable='yes'/>
+ <cpu type='kvm' name='z900.2' usable='yes'/>
+ <cpu type='kvm' name='z9BC.2-base' usable='yes'/>
+ <cpu type='kvm' name='z800' usable='yes'/>
+ <cpu type='kvm' name='z114' usable='yes'/>
+ <cpu type='kvm' name='z13' usable='yes'/>
+ <cpu type='kvm' name='z990' usable='yes'/>
+ <cpu type='kvm' name='z13s-base' usable='yes'/>
+ <cpu type='kvm' name='z990.2' usable='yes'/>
+ <cpu type='kvm' name='z14-base' usable='yes'/>
+ <cpu type='kvm' name='z890.2-base' usable='yes'/>
+ <cpu type='kvm' name='z196' usable='yes'/>
+ <cpu type='kvm' name='z10EC' usable='yes'/>
+ <cpu type='kvm' name='z13s' usable='yes'/>
+ <cpu type='kvm' name='z900' usable='yes'/>
+ <cpu type='kvm' name='z10EC.3' usable='yes'/>
+ <cpu type='kvm' name='z10EC.2-base' usable='yes'/>
+ <cpu type='kvm' name='z114-base' usable='yes'/>
+ <cpu type='kvm' name='z990.2-base' usable='yes'/>
+ <cpu type='kvm' name='z9EC.2-base' usable='yes'/>
+ <cpu type='kvm' name='z890.3' usable='yes'/>
+ <cpu type='kvm' name='z900.3-base' usable='yes'/>
+ <cpu type='kvm' name='z9BC.2' usable='yes'/>
+ <cpu type='kvm' name='z10BC' usable='yes'/>
+ <cpu type='kvm' name='z990.5' usable='yes'/>
+ <cpu type='kvm' name='zEC12.2' usable='yes'/>
+ <cpu type='kvm' name='z10EC-base' usable='yes'/>
+ <cpu type='kvm' name='z9EC-base' usable='yes'/>
+ <cpu type='kvm' name='z9EC.3-base' usable='yes'/>
+ <cpu type='kvm' name='zEC12' usable='yes'/>
+ <cpu type='kvm' name='z990.5-base' usable='yes'/>
+ <cpu type='kvm' name='z10BC-base' usable='yes'/>
+ <cpu type='kvm' name='z900-base' usable='yes'/>
+ <cpu type='kvm' name='z13.2' usable='yes'/>
+ <cpu type='kvm' name='zBC12-base' usable='yes'/>
+ <cpu type='kvm' name='z13.2-base' usable='yes'/>
+ <cpu type='kvm' name='z890.3-base' usable='yes'/>
+ <cpu type='kvm' name='z990-base' usable='yes'/>
+ <cpu type='kvm' name='z10EC.2' usable='yes'/>
+ <cpu type='kvm' name='z9BC' usable='yes'/>
+ <cpu type='kvm' name='z10EC.3-base' usable='yes'/>
+ <cpu type='kvm' name='z990.3-base' usable='yes'/>
+ <cpu type='tcg' name='z890.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.4' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10BC.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z196.2' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z14' usable='no'>
+ <blocker name='ppno-sha-512-drng'/>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='vxeh'/>
+ <blocker name='vxpd'/>
+ <blocker name='gs'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='iep'/>
+ <blocker name='vx'/>
+ <blocker name='dfppc'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='tsi'/>
+ <blocker name='sema'/>
+ <blocker name='minste2'/>
+ <blocker name='eec'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='opc'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa8'/>
+ <blocker name='msa7'/>
+ <blocker name='msa6'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9BC-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='zEC12-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z196-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z13-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='dfppc'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.3' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='host'/>
+ <cpu type='tcg' name='z9EC' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='zBC12' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9EC.3' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z196.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='qemu' usable='yes'/>
+ <cpu type='tcg' name='zEC12.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z800-base' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9EC.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900.2-base' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900.3' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z890-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z890' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.4-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10BC.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900.2' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9BC.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z800' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z114' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z13' usable='no'>
+ <blocker name='ppno-sha-512-drng'/>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='vx'/>
+ <blocker name='dfppc'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z13s-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='dfppc'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z14-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='dfppc'/>
+ <blocker name='tsi'/>
+ <blocker name='sema'/>
+ <blocker name='minste2'/>
+ <blocker name='eec'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='opc'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z890.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z196' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10EC' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z13s' usable='no'>
+ <blocker name='ppno-sha-512-drng'/>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='vx'/>
+ <blocker name='dfppc'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900' usable='yes'/>
+ <cpu type='tcg' name='z10EC.3' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10EC.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z114-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9EC.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z890.3' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900.3-base' usable='no'>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9BC.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10BC' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.5' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='zEC12.2' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10EC-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9EC-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9EC.3-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='zEC12' usable='no'>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.5-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10BC-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z900-base' usable='yes'/>
+ <cpu type='tcg' name='z13.2' usable='no'>
+ <blocker name='ppno-sha-512-drng'/>
+ <blocker name='pcc-xts-eaes-256'/>
+ <blocker name='pcc-xts-eaes-128'/>
+ <blocker name='pcc-xts-aes-256'/>
+ <blocker name='pcc-xts-aes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-eaes-192'/>
+ <blocker name='pcc-cmac-eaes-128'/>
+ <blocker name='pcc-cmac-eaes-256'/>
+ <blocker name='pcc-cmac-aes-192'/>
+ <blocker name='pcc-cmac-aes-128'/>
+ <blocker name='pcc-cmac-etdea-192'/>
+ <blocker name='pcc-cmac-etdea-128'/>
+ <blocker name='pcc-cmac-edea'/>
+ <blocker name='pcc-cmac-tdea-192'/>
+ <blocker name='pcc-cmac-tdea-128'/>
+ <blocker name='pcc-cmac-dea'/>
+ <blocker name='kmo-eaes-256'/>
+ <blocker name='kmo-eaes-192'/>
+ <blocker name='kmo-eaes-128'/>
+ <blocker name='kmo-aes-256'/>
+ <blocker name='kmo-aes-192'/>
+ <blocker name='kmo-aes-128'/>
+ <blocker name='kmo-etdea-192'/>
+ <blocker name='kmo-etdea-128'/>
+ <blocker name='kmo-edea'/>
+ <blocker name='kmo-tdea-192'/>
+ <blocker name='kmo-tdea-128'/>
+ <blocker name='kmo-dea'/>
+ <blocker name='kmf-eaes-256'/>
+ <blocker name='kmf-eaes-192'/>
+ <blocker name='kmf-eaes-128'/>
+ <blocker name='kmf-aes-256'/>
+ <blocker name='kmf-aes-192'/>
+ <blocker name='kmf-aes-128'/>
+ <blocker name='kmf-etdea-192'/>
+ <blocker name='kmf-etdea-128'/>
+ <blocker name='kmf-edea'/>
+ <blocker name='kmf-tdea-192'/>
+ <blocker name='kmf-tdea-128'/>
+ <blocker name='kmf-dea'/>
+ <blocker name='kmctr-eaes-256'/>
+ <blocker name='kmctr-eaes-192'/>
+ <blocker name='kmctr-eaes-128'/>
+ <blocker name='kmctr-aes-256'/>
+ <blocker name='kmctr-aes-192'/>
+ <blocker name='kmctr-aes-128'/>
+ <blocker name='kmctr-etdea-192'/>
+ <blocker name='kmctr-etdea-128'/>
+ <blocker name='kmctr-edea'/>
+ <blocker name='kmctr-tdea-192'/>
+ <blocker name='kmctr-tdea-128'/>
+ <blocker name='kmctr-dea'/>
+ <blocker name='pckmo-aes-256'/>
+ <blocker name='pckmo-aes-192'/>
+ <blocker name='pckmo-aes-128'/>
+ <blocker name='pckmo-etdea-192'/>
+ <blocker name='pckmo-etdea-128'/>
+ <blocker name='pckmo-edea'/>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-ghash'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-xts-eaes-256'/>
+ <blocker name='km-xts-eaes-128'/>
+ <blocker name='km-xts-aes-256'/>
+ <blocker name='km-xts-aes-128'/>
+ <blocker name='km-eaes-256'/>
+ <blocker name='km-eaes-192'/>
+ <blocker name='km-eaes-128'/>
+ <blocker name='km-etdea-192'/>
+ <blocker name='km-etdea-128'/>
+ <blocker name='km-edea'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-eaes-256'/>
+ <blocker name='kmc-eaes-192'/>
+ <blocker name='kmc-eaes-128'/>
+ <blocker name='kmc-etdea-192'/>
+ <blocker name='kmc-etdea-128'/>
+ <blocker name='kmc-edea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-eaes-256'/>
+ <blocker name='kmac-eaes-192'/>
+ <blocker name='kmac-eaes-128'/>
+ <blocker name='kmac-aes-256'/>
+ <blocker name='kmac-aes-192'/>
+ <blocker name='kmac-aes-128'/>
+ <blocker name='kmac-etdea-192'/>
+ <blocker name='kmac-etdea-128'/>
+ <blocker name='kmac-edea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='esop'/>
+ <blocker name='sea_esop2'/>
+ <blocker name='vx'/>
+ <blocker name='dfppc'/>
+ <blocker name='edat2'/>
+ <blocker name='aefsi'/>
+ <blocker name='sthyi'/>
+ <blocker name='te'/>
+ <blocker name='aen'/>
+ <blocker name='zpci'/>
+ <blocker name='ri'/>
+ <blocker name='iacc2'/>
+ <blocker name='cte'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='ipter'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='zBC12-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z13.2-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='dfppc'/>
+ <blocker name='iacc2'/>
+ <blocker name='dfpzc'/>
+ <blocker name='cmpsceh'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='sprogp'/>
+ <blocker name='fpe'/>
+ <blocker name='emon'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='nonqks'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='gen13ptff'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z890.3-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10EC.2' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='edat'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa2'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z9BC' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='cmm'/>
+ <blocker name='dateh2'/>
+ <blocker name='sthyi'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='asnlxr'/>
+ <blocker name='msa1'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z10EC.3-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='dateh2'/>
+ <blocker name='pfpo'/>
+ <blocker name='dfphp'/>
+ <blocker name='dfp'/>
+ <blocker name='ectg'/>
+ <blocker name='parseh'/>
+ <blocker name='hfpue'/>
+ <blocker name='hfpm'/>
+ <blocker name='csske'/>
+ <blocker name='asnlxr'/>
+ <blocker name='tods'/>
+ <blocker name='type'/>
+ </cpu>
+ <cpu type='tcg' name='z990.3-base' usable='no'>
+ <blocker name='klmd-sha-1'/>
+ <blocker name='kimd-sha-1'/>
+ <blocker name='km-tdea-192'/>
+ <blocker name='km-tdea-128'/>
+ <blocker name='km-dea'/>
+ <blocker name='kmc-tdea-192'/>
+ <blocker name='kmc-tdea-128'/>
+ <blocker name='kmc-dea'/>
+ <blocker name='kmac-tdea-192'/>
+ <blocker name='kmac-tdea-128'/>
+ <blocker name='kmac-dea'/>
+ <blocker name='hfpm'/>
+ <blocker name='type'/>
+ </cpu>
+ <machine name='s390-ccw-virtio-2.11' alias='s390-ccw-virtio' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.7' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.6' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.10' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.5' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.4' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.9' hotplugCpus='yes' maxCpus='248'/>
+ <machine name='s390-ccw-virtio-2.8' hotplugCpus='yes' maxCpus='248'/>
+</qemuCaps>
diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c
index 87807b4135..87440073e2 100644
--- a/tests/qemucapabilitiestest.c
+++ b/tests/qemucapabilitiestest.c
@@ -188,6 +188,7 @@ mymain(void)
DO_TEST("s390x", "caps_2.8.0");
DO_TEST("s390x", "caps_2.9.0");
DO_TEST("s390x", "caps_2.10.0");
+ DO_TEST("s390x", "caps_2.11.0");
/*
* Run "tests/qemucapsprobe /path/to/qemu/binary >foo.replies"
--
2.13.5
2
1
02 Mar '18
Applies cleanly on top of f565321b26dfb78c1dc2d6cf5456b9b80f04c7f3.
Changes from [v2]:
* replace the old implementation bit by bit using a clever trick
suggested by pkrempa;
* don't move QEMU capability validation;
* add a default: label to all switch statements as recommended
by danpb.
Changes from [v1]:
* error out instead of silently accept invalid options;
* shave quite a lot of yaks.
[v2] https://www.redhat.com/archives/libvir-list/2018-February/msg00813.html
[v1] https://www.redhat.com/archives/libvir-list/2018-February/msg00244.html
Andrea Bolognani (12):
tests: Add some tests for PCI controller options
qemu: Create new qemuDomainDeviceDefValidateControllerPCI()
qemu: Validate PCI controller options (modelName)
qemu: Validate PCI controller options (index)
qemu: Validate PCI controller options (targetIndex)
qemu: Validate PCI controller options (pcihole64)
qemu: Validate PCI controller options (busNr)
qemu: Validate PCI controller options (numaNode)
qemu: Validate PCI controller options (chassisNr)
qemu: Validate PCI controller options (chassis and port)
qemu: Validate PCI controllers (QEMU capabilities)
qemu: Remove old qemuDomainDeviceDefValidateControllerPCI()
src/qemu/qemu_domain.c | 594 +++++++++++++++------
.../i440fx-controllers-pciopts.xml | 36 ++
tests/qemuxml2argvdata/pcie-expander-bus.xml | 3 -
.../pseries-controllers-pciopts.xml | 35 ++
tests/qemuxml2argvdata/q35-controllers-pciopts.xml | 60 +++
tests/qemuxml2argvtest.c | 4 +
tests/qemuxml2xmloutdata/pcie-expander-bus.xml | 4 +-
7 files changed, 575 insertions(+), 161 deletions(-)
create mode 100644 tests/qemuxml2argvdata/i440fx-controllers-pciopts.xml
create mode 100644 tests/qemuxml2argvdata/pseries-controllers-pciopts.xml
create mode 100644 tests/qemuxml2argvdata/q35-controllers-pciopts.xml
--
2.14.3
2
20
[libvirt] [PATCH] conf: set postParseFailed even without ALLOW_POST_PARSE_FAIL
by Ján Tomko 02 Mar '18
by Ján Tomko 02 Mar '18
02 Mar '18
We allow the postParse callbacks to fail for some reasons (missing
emulator binary) when parsing the configs from /etc/libvirt.
In that case, def->postParseFailed is set to true and the post
parse callbacks are re-executed on domain startup.
However this bool was only set when virDomainDefPostParse was called
with the ALLOW_POST_PARSE_FAIL flag set. If the callback failed
again on domain startup, the bool would be reset and subsequent
startups would not attempt to reexecute the callback.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/conf/domain_conf.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index fcafc8b2f..a248d73de 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5027,6 +5027,9 @@ virDomainDefPostParseCheckFailure(virDomainDefPtr def,
unsigned int parseFlags,
int ret)
{
+ if (ret != 0)
+ def->postParseFailed = true;
+
if (ret <= 0)
return ret;
@@ -5034,7 +5037,6 @@ virDomainDefPostParseCheckFailure(virDomainDefPtr def,
return -1;
virResetLastError();
- def->postParseFailed = true;
return 0;
}
--
2.13.6
2
1
v1 -> v2:
* refactored error paths according to John and Jiri
* added entry to news.xml
Bjoern Walk (2):
qemu: log the crash information for S390
news: add logging of guest crash information on S390
docs/news.xml | 9 +++++++++
src/qemu/qemu_monitor.c | 19 ++++++++++++++++++-
src/qemu/qemu_monitor.h | 12 ++++++++++++
src/qemu/qemu_monitor_json.c | 38 ++++++++++++++++++++++++++++++++++++++
4 files changed, 77 insertions(+), 1 deletion(-)
--
2.13.4
2
5
It needs for the -enable-kvm flag. This qemu flag can be compiled out,
but we already detect that case with the QEMU_CAPS_KVM check.
So this check is redundant and can be removed
Signed-off-by: Klim Kireev <klim.s.kireev(a)gmail.com>
---
src/qemu/qemu_capabilities.c | 13 +------------
src/qemu/qemu_capabilities.h | 2 +-
src/qemu/qemu_command.c | 14 ++------------
tests/qemucaps2xmldata/all_1.6.0-1.caps | 2 +-
tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps | 2 +-
tests/qemuhelptest.c | 8 +++-----
tests/qemuxml2argvdata/controller-order.args | 1 -
tests/qemuxml2argvdata/cpu-host-kvmclock.args | 1 -
tests/qemuxml2argvdata/cpu-kvmclock.args | 1 -
tests/qemuxml2argvtest.c | 11 +++++------
10 files changed, 14 insertions(+), 41 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b5eb8cf46..2a373d3a2 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1091,7 +1091,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps,
if (virFileExists("/dev/kvm") &&
(virQEMUCapsGet(qemubinCaps, QEMU_CAPS_KVM) ||
- virQEMUCapsGet(qemubinCaps, QEMU_CAPS_ENABLE_KVM) ||
kvmbin))
haskvm = true;
@@ -1260,7 +1259,7 @@ virQEMUCapsComputeCmdFlags(const char *help,
if (strstr(help, "-no-kvm"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM);
if (strstr(help, "-enable-kvm"))
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_KVM);
+ virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM);
if (strstr(help, ",process="))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_NAME_PROCESS);
@@ -3201,7 +3200,6 @@ virQEMUCapsProbeQMPKVMState(virQEMUCapsPtr qemuCaps,
virQEMUCapsClear(qemuCaps, QEMU_CAPS_KVM);
} else if (!enabled) {
virQEMUCapsClear(qemuCaps, QEMU_CAPS_KVM);
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_KVM);
}
return 0;
@@ -4388,15 +4386,6 @@ virQEMUCapsIsValid(void *data,
kvmUsable = virFileAccessibleAs("/dev/kvm", R_OK | W_OK,
priv->runUid, priv->runGid) == 0;
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM) &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_KVM) &&
- kvmUsable) {
- VIR_DEBUG("KVM was not enabled when probing '%s', "
- "but it should be usable now",
- qemuCaps->binary);
- return false;
- }
-
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM) &&
!kvmUsable) {
VIR_DEBUG("KVM was enabled when probing '%s', "
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index c2ec2be19..11a10b2f6 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -79,7 +79,7 @@ typedef enum {
X_QEMU_CAPS_XEN_DOMID, /* -xen-domid */
X_QEMU_CAPS_MIGRATE_QEMU_UNIX, /* qemu migration via unix sockets */
X_QEMU_CAPS_CHARDEV, /* Is the new -chardev arg available */
- QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
+ X_QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
QEMU_CAPS_MONITOR_JSON, /* JSON mode for monitor */
/* 25 */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 9b1affd30..a68bf088e 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6992,13 +6992,10 @@ qemuBuildObsoleteAccelArg(virCommandPtr cmd,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
{
- bool disableKVM = false;
- bool enableKVM = false;
-
switch ((int)def->virtType) {
case VIR_DOMAIN_VIRT_QEMU:
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM))
- disableKVM = true;
+ virCommandAddArg(cmd, "-no-kvm");
break;
case VIR_DOMAIN_VIRT_KQEMU:
@@ -7007,9 +7004,7 @@ qemuBuildObsoleteAccelArg(virCommandPtr cmd,
break;
case VIR_DOMAIN_VIRT_KVM:
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_KVM)) {
- enableKVM = true;
- } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) {
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("the QEMU binary does not support kvm"));
return -1;
@@ -7023,11 +7018,6 @@ qemuBuildObsoleteAccelArg(virCommandPtr cmd,
return -1;
}
- if (disableKVM)
- virCommandAddArg(cmd, "-no-kvm");
- if (enableKVM)
- virCommandAddArg(cmd, "-enable-kvm");
-
return 0;
}
diff --git a/tests/qemucaps2xmldata/all_1.6.0-1.caps b/tests/qemucaps2xmldata/all_1.6.0-1.caps
index d39d0bebb..35b737a40 100644
--- a/tests/qemucaps2xmldata/all_1.6.0-1.caps
+++ b/tests/qemucaps2xmldata/all_1.6.0-1.caps
@@ -2,7 +2,7 @@
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
- <flag name='enable-kvm'/>
+ <flag name='kvm'/>
<flag name='monitor-json'/>
<flag name='balloon'/>
<flag name='device'/>
diff --git a/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps b/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
index 5a0372c91..5e99e7d43 100644
--- a/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
+++ b/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
@@ -2,7 +2,7 @@
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
- <flag name='enable-kvm'/>
+ <flag name='kvm'/>
<flag name='monitor-json'/>
<flag name='balloon'/>
<flag name='device'/>
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 1336eeef5..fb1998c84 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -147,7 +147,7 @@ mymain(void)
DO_TEST("qemu-0.12.1", 12001, 0, 0,
QEMU_CAPS_DRIVE_SERIAL,
- QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_KVM,
QEMU_CAPS_SDL,
QEMU_CAPS_RTC,
QEMU_CAPS_NO_HPET,
@@ -182,7 +182,6 @@ mymain(void)
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
- QEMU_CAPS_ENABLE_KVM,
QEMU_CAPS_RTC,
QEMU_CAPS_NO_HPET,
QEMU_CAPS_NO_KVM_PIT,
@@ -220,7 +219,6 @@ mymain(void)
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
- QEMU_CAPS_ENABLE_KVM,
QEMU_CAPS_MONITOR_JSON,
QEMU_CAPS_NETDEV,
QEMU_CAPS_RTC,
@@ -267,7 +265,7 @@ mymain(void)
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
- QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_KVM,
QEMU_CAPS_MONITOR_JSON,
QEMU_CAPS_NETDEV,
QEMU_CAPS_RTC,
@@ -338,7 +336,7 @@ mymain(void)
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
- QEMU_CAPS_ENABLE_KVM,
+ QEMU_CAPS_KVM,
QEMU_CAPS_MONITOR_JSON,
QEMU_CAPS_NETDEV,
QEMU_CAPS_RTC,
diff --git a/tests/qemuxml2argvdata/controller-order.args b/tests/qemuxml2argvdata/controller-order.args
index 70a8ba9ce..fea56cc05 100644
--- a/tests/qemuxml2argvdata/controller-order.args
+++ b/tests/qemuxml2argvdata/controller-order.args
@@ -8,7 +8,6 @@ QEMU_AUDIO_DRV=spice \
-name fdr \
-S \
-M rhel6.1.0 \
--enable-kvm \
-m 4096 \
-smp 4,sockets=4,cores=1,threads=1 \
-uuid d091ea82-29e6-2e34-3005-f02617b36e87 \
diff --git a/tests/qemuxml2argvdata/cpu-host-kvmclock.args b/tests/qemuxml2argvdata/cpu-host-kvmclock.args
index 1e45f0558..b82962b23 100644
--- a/tests/qemuxml2argvdata/cpu-host-kvmclock.args
+++ b/tests/qemuxml2argvdata/cpu-host-kvmclock.args
@@ -8,7 +8,6 @@ QEMU_AUDIO_DRV=none \
-name QEMUGuest1 \
-S \
-M pc \
--enable-kvm \
-cpu host,-kvmclock \
-m 214 \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-kvmclock.args b/tests/qemuxml2argvdata/cpu-kvmclock.args
index 358b9be05..06a96ae4b 100644
--- a/tests/qemuxml2argvdata/cpu-kvmclock.args
+++ b/tests/qemuxml2argvdata/cpu-kvmclock.args
@@ -8,7 +8,6 @@ QEMU_AUDIO_DRV=none \
-name QEMUGuest1 \
-S \
-M pc \
--enable-kvm \
-cpu core2duo,-kvmclock \
-m 214 \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 688846b9b..67836a936 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -796,16 +796,15 @@ mymain(void)
DO_TEST("clock-france", QEMU_CAPS_RTC);
DO_TEST("clock-hpet-off", QEMU_CAPS_RTC);
DO_TEST("clock-catchup", QEMU_CAPS_RTC);
- DO_TEST("cpu-kvmclock", QEMU_CAPS_ENABLE_KVM);
- DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM);
+ DO_TEST("cpu-kvmclock", QEMU_CAPS_KVM);
+ DO_TEST("cpu-host-kvmclock", QEMU_CAPS_KVM);
DO_TEST("kvmclock", QEMU_CAPS_KVM);
DO_TEST("clock-timer-hyperv-rtc", QEMU_CAPS_KVM);
- DO_TEST("cpu-eoi-disabled", QEMU_CAPS_ENABLE_KVM);
- DO_TEST("cpu-eoi-enabled", QEMU_CAPS_ENABLE_KVM);
+ DO_TEST("cpu-eoi-disabled", NONE);
+ DO_TEST("cpu-eoi-enabled", NONE);
DO_TEST("controller-order",
QEMU_CAPS_KVM,
- QEMU_CAPS_ENABLE_KVM,
QEMU_CAPS_BOOT_MENU,
QEMU_CAPS_PIIX3_USB_UHCI,
QEMU_CAPS_PCI_MULTIFUNCTION,
@@ -821,7 +820,7 @@ mymain(void)
DO_TEST("eoi-enabled", NONE);
DO_TEST("pv-spinlock-disabled", NONE);
DO_TEST("pv-spinlock-enabled", NONE);
- DO_TEST("kvmclock+eoi-disabled", QEMU_CAPS_ENABLE_KVM);
+ DO_TEST("kvmclock+eoi-disabled", NONE);
DO_TEST("hyperv", NONE);
DO_TEST("hyperv-off", NONE);
--
2.16.1
2
1
[libvirt] [tck PATCH 0/2] set CTRL_IP_LEARNING and DHCPSERVER in filter during no-ip-spoofing test
by Laine Stump 02 Mar '18
by Laine Stump 02 Mar '18
02 Mar '18
We've recently discovered two separate bugs that caused libvirt's
"DHCP Snooping" feature to not work:
https://bugzilla.redhat.com/show_bug.cgi?id=1529338 - libvirt regression
https://bugzilla.redhat.com/show_bug.cgi?id=1547237 - libpcap regression
Since we didn't have any test suite covering that code, we had the
embarrassment of learning of it from someone else's QE (RHV/oVirt QE
at Red Hat).
This series adds the necessary stuff to the test domain config of
libvirt-tck's "no-ip-spoofing" test to exercise the DHCPSnoop thread.
(There may be a much better way of dealing with a hash-inside-a-hash;
I am an imbecile at perl, and arrived at this code by trial, error,
and google searches).
Laine Stump (2):
new helper function get_network_ip()
set CTRL_IP_LEARNING and DHCPSERVER in filter during no-ip-spoofing
test
lib/Sys/Virt/TCK.pm | 11 ++++++++---
lib/Sys/Virt/TCK/DomainBuilder.pm | 8 +++++++-
lib/Sys/Virt/TCK/NetworkHelpers.pm | 10 ++++++++++
scripts/nwfilter/220-no-ip-spoofing.t | 9 ++++++++-
4 files changed, 33 insertions(+), 5 deletions(-)
--
2.14.3
1
3
Sometimes we don't regenerate QEMU capabilities replies using QEMU
binary but we simply add a new entry manually. In that case you need
to manually fix all the replies ids. This helper will do that for you.
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
tests/qemucapsfixreplies | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100755 tests/qemucapsfixreplies
diff --git a/tests/qemucapsfixreplies b/tests/qemucapsfixreplies
new file mode 100755
index 0000000000..25b1e597a9
--- /dev/null
+++ b/tests/qemucapsfixreplies
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ "$1" == "--help" ] || [ $# != 1 ] || [ ! -f $1 ]; then
+ echo "This script fixes replies ids in QEMU replies files."
+ echo ""
+ echo " Usage: $0 path/to/qemu.replies"
+ exit 0;
+fi
+
+awk -i inplace \
+ 'BEGIN {count=1; pattern="libvirt-[0-9]+"}
+ {
+ if (match($0, "libvirt-1[^0-9]")) {
+ count=1;
+ }
+ if (match($0, pattern)) {
+ str="libvirt-" count;
+ sub(pattern, str, $0);
+ count++;
+ }
+ print
+ }' $1
--
2.14.3
2
2
Signed-off-by: --help <mprivozn(a)redhat.com>
---
docs/news.xml | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 86a0c8d18..53bf9a49c 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -44,6 +44,28 @@
using the <code>cachetune</code> element in <code>cputune</code>.
</description>
</change>
+ <change>
+ <summary>
+ Allow opening secondary drivers
+ </summary>
+ <description>
+ Up until now it was possible to connect to only hypervisor drivers
+ (e.g. qemu:///system, lxc:///, vbox:///system, and so on). The
+ internal drivers (like network driver, node device driver, etc.) were
+ hidden from users and users could use them only indirectly. Starting
+ with this release new connection URIs are accepted. For instance
+ network:///system, storage:///system and so on.
+ </description>
+ </change>
+ <change>
+ <summary>
+ virtlogd, virtlockd: Add support for admin protocol
+ </summary>
+ <description>
+ These two daemons now support admin protocol through which some admin
+ info can be gathered or some configuration tweaked on the fly.
+ </description>
+ </change>
</section>
<section title="Improvements">
<change>
@@ -82,8 +104,88 @@
libxl: add support for setting clock offset and adjustment
</summary>
</change>
+ <change>
+ <summary>
+ Make port allocator global
+ </summary>
+ <description>
+ Up until now each driver had their own port allocator module. This
+ meant that info on port usage was not shared. Starting with this
+ release, the port allocator module is made global and therefore
+ drivers allocate ports from global pool.
+ </description>
+ </change>
+ <change>
+ <summary>
+ src: Enable building with GCC 8.0
+ </summary>
+ <description>
+ GCC 8.0 added more warnings which found some genuine problems with our code.
+ </description>
+ </change>
</section>
<section title="Bug fixes">
+ <change>
+ <summary>
+ qemu: Check for unsafe migration more thoroughly
+ </summary>
+ <description>
+ If a domain disk is stored on local filesystem (e.g. ext4) but is
+ not being migrated it is very likely that domain is not able to
+ run on destination. Regardless of share/cache mode.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Fix updating device with boot order
+ </summary>
+ <description>
+ Starting with 3.7.0 release updating any device with boot order would
+ fail with 'boot order X is already used by another device' while in
+ fact it was the very same device.
+ </description>
+ </change>
+ <change>
+ <summary>
+ virlog: determine the hostname on startup CVE-2018-6764
+ </summary>
+ <description>
+ At later point it might not be possible or even safe to use
+ getaddrinfo(). It can in turn result in a load of NSS module which
+ can even be loaded from unsage guest filesystem and thus escape the
+ confinment of its container.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Rework vCPU statistics fetching
+ </summary>
+ <description>
+ Fetching vCPU statistics was very expensive because it lead to waking
+ up vCPU threads in QEMU and thus it degraded performance. The code
+ was reworked so that fetching statistics does not wake up halted
+ vCPUs.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: unlink memory backing file on domain shutdown
+ </summary>
+ <description>
+ Depending on the filesystem where domain memory is stored, some files
+ might have been left behind. This is not a problem on hugetlbfs, but
+ it is a problem on regular filesystems like ext4.
+ </description>
+ </change>
+ <change>
+ <summary>
+ qemu: Fix shutting down domains in parallel
+ </summary>
+ <description>
+ If multiple domains were being shut down in parallel, libvirtd might
+ have deadlocked.
+ </description>
+ </change>
</section>
</release>
<release version="v4.0.0" date="2018-01-19">
--
2.16.1
7
21
The check was trying to use the shell variable $CC instead of
the make variable $(CC); it also interpreted grep's return code
wrong: 1 means the provided pattern was *not* matched. As a
result, pdwtags was never run, not even when building with gcc.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/Makefile.am | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 5794915246..3bf2da543d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -668,8 +668,7 @@ struct_prefix = ($(libs_prefix)|$(other_prefix))
# which causes the comparison against expected output to fail, so skip
# if using clang as CC.
PDWTAGS = \
- $(AM_V_GEN)$CC -v 2>&1 | grep -q clang; \
- if test $$? == 1; then \
+ $(AM_V_GEN)if $(CC) -v 2>&1 | grep -q clang; then \
echo 'WARNING: skipping pdwtags test with Clang' >&2; \
exit 0; \
fi; \
--
2.14.3
2
1
01 Mar '18
In QEMU commit 5c0919d02066c3d0eb896c33265ad90101a6a84a
adds new option virtqueue_size. This Patch allows this option
to be set in libvirt.
---
docs/formatdomain.html.in | 6 ++++++
src/conf/domain_conf.c | 12 ++++++++++++
src/conf/domain_conf.h | 1 +
src/qemu/qemu_command.c | 3 +++
4 files changed, 22 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 6fd2189cd..2f33b5e70 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -3867,6 +3867,12 @@
host.
<span class="since">Since 1.2.7 (QEMU and KVM only)</span>
</dd>
+ <dt><code>virtqueue_size</code></dt>
+ <dd>
+ The optional <code>virtqueue_size</code> attribute specifies the size of
+ virtio queue.
+ <span class="since">Since 3.7.0 (QEMU and KVM only)</span>
+ </dd>
<dt><code>max_sectors</code></dt>
<dd>
The optional <code>max_sectors</code> attribute specifies the maximum
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d96b012b9..36a4deea2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -9976,6 +9976,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
char *model = NULL;
char *queues = NULL;
char *cmd_per_lun = NULL;
+ char *virtqueue_size = NULL;
char *max_sectors = NULL;
bool processedModel = false;
char *modelName = NULL;
@@ -10035,6 +10036,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
queues = virXMLPropString(cur, "queues");
cmd_per_lun = virXMLPropString(cur, "cmd_per_lun");
max_sectors = virXMLPropString(cur, "max_sectors");
+ virtqueue_size = virXMLPropString(cur, "virtqueue_size");
ioeventfd = virXMLPropString(cur, "ioeventfd");
iothread = virXMLPropString(cur, "iothread");
@@ -10089,6 +10091,12 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
}
+ if (virtqueue_size && virStrToLong_ui(virtqueue_size, NULL, 10, &def->virtqueue_size) < 0) {
+ virReportError(VIR_ERR_XML_ERROR,
+ _("Malformed 'virtqueue_size' value '%s'"), virtqueue_size);
+ goto error;
+ }
+
if (max_sectors && virStrToLong_ui(max_sectors, NULL, 10, &def->max_sectors) < 0) {
virReportError(VIR_ERR_XML_ERROR,
_("Malformed 'max_sectors' value %s"), max_sectors);
@@ -10310,6 +10318,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
VIR_FREE(model);
VIR_FREE(queues);
VIR_FREE(cmd_per_lun);
+ VIR_FREE(virtqueue_size);
VIR_FREE(max_sectors);
VIR_FREE(modelName);
VIR_FREE(chassisNr);
@@ -23293,6 +23302,9 @@ virDomainControllerDriverFormat(virBufferPtr buf,
if (def->cmd_per_lun)
virBufferAsprintf(&driverBuf, " cmd_per_lun='%u'", def->cmd_per_lun);
+ if (def->virtqueue_size)
+ virBufferAsprintf(&driverBuf, " virtqueue_size='%u'", def->virtqueue_size);
+
if (def->max_sectors)
virBufferAsprintf(&driverBuf, " max_sectors='%u'", def->max_sectors);
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 368f16f3f..141bd1aca 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -816,6 +816,7 @@ struct _virDomainControllerDef {
int model; /* -1 == undef */
unsigned int queues;
unsigned int cmd_per_lun;
+ unsigned int virtqueue_size;
unsigned int max_sectors;
int ioeventfd; /* enum virTristateSwitch */
unsigned int iothread; /* unused = 0, > 0 specific thread # */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index fa0aa5d5c..9b1affd30 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -2808,6 +2808,9 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
if (def->queues)
virBufferAsprintf(&buf, ",num_queues=%u", def->queues);
+ if (def->virtqueue_size)
+ virBufferAsprintf(&buf, ",virtqueue_size=%u", def->virtqueue_size);
+
if (def->cmd_per_lun)
virBufferAsprintf(&buf, ",cmd_per_lun=%u", def->cmd_per_lun);
--
2.16.1
2
1
[libvirt] [PATCH] docs: remove legacy XHTML <!DOCTYPE> declaration
by Daniel P. Berrangé 28 Feb '18
by Daniel P. Berrangé 28 Feb '18
28 Feb '18
We have switched the docs to using the HTML5 doctype declaration in
commit b1c81567c7172bc9dcd701cf46ea3f87725d62c7
Author: Daniel P. Berrange <berrange(a)redhat.com>
Date: Wed Jul 26 18:01:25 2017 +0100
docs: switch to using HTML5 doctype declaration
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Pushed as a trivial fix
docs/pci-hotplug.html.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/pci-hotplug.html.in b/docs/pci-hotplug.html.in
index 4ac87d644f..9a26645aa4 100644
--- a/docs/pci-hotplug.html.in
+++ b/docs/pci-hotplug.html.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>PCI topology and hotplug</h1>
--
2.14.3
1
0