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
- 40171 discussions
[PATCH] node_device_conf: Avoid memleak in virNodeDeviceGetPCIVPDDynamicCap()
by Michal Privoznik 30 Nov '22
by Michal Privoznik 30 Nov '22
30 Nov '22
The virNodeDeviceGetPCIVPDDynamicCap() function is called from
virNodeDeviceGetPCIDynamicCaps() and therefore has to be a wee
bit more clever about adding VPD capability. Namely, it has to
remove the old one before adding a new one. This is how other
functions called from virNodeDeviceGetPCIDynamicCaps() behave
as well.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2143235
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/conf/node_device_conf.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 83e66b85e3..af331baaf3 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -3068,6 +3068,9 @@ virNodeDeviceGetPCIVPDDynamicCap(virNodeDevCapPCIDev *devCapPCIDev)
virPCIDeviceAddress devAddr = { 0 };
g_autoptr(virPCIVPDResource) res = NULL;
+ g_clear_pointer(&devCapPCIDev->vpd, virPCIVPDResourceFree);
+ devCapPCIDev->flags &= ~VIR_NODE_DEV_CAP_FLAG_PCI_VPD;
+
devAddr.domain = devCapPCIDev->domain;
devAddr.bus = devCapPCIDev->bus;
devAddr.slot = devCapPCIDev->slot;
@@ -3081,8 +3084,6 @@ virNodeDeviceGetPCIVPDDynamicCap(virNodeDevCapPCIDev *devCapPCIDev)
if ((res = virPCIDeviceGetVPD(pciDev))) {
devCapPCIDev->flags |= VIR_NODE_DEV_CAP_FLAG_PCI_VPD;
devCapPCIDev->vpd = g_steal_pointer(&res);
- } else {
- virPCIVPDResourceFree(g_steal_pointer(&devCapPCIDev->vpd));
}
}
return 0;
--
2.37.4
2
1
30 Nov '22
The vm object is used inside qemuMigrationCookieParse based on the flags
passed to qemuMigrationCookieParse and the content of the cookie. The
callers should not just blindly guess and pass NULL if they
(incorrectly) think the vm object is not needed. We should always pass
the vm object unless it does not exist yet.
This fixes a bug when statistics of a completed migration reported
"Unknown" operation instead of "Incoming migration" on the destination
host.
https://bugzilla.redhat.com/show_bug.cgi?id=2137298
Fixes: v8.7.0-79-g0150f7a8c1
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_migration.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index bef06f4caf..6d3810c79c 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -4775,7 +4775,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver,
QEMU_MIGRATION_COOKIE_GRAPHICS |
QEMU_MIGRATION_COOKIE_CAPS |
QEMU_MIGRATION_COOKIE_BLOCK_DIRTY_BITMAPS,
- NULL);
+ vm);
if (!mig)
goto error;
@@ -6459,7 +6459,7 @@ qemuMigrationDstFinishOffline(virQEMUDriver *driver,
g_autoptr(qemuMigrationCookie) mig = NULL;
if (!(mig = qemuMigrationCookieParse(driver, vm->def, priv->origname, priv,
- cookiein, cookieinlen, cookie_flags, NULL)))
+ cookiein, cookieinlen, cookie_flags, vm)))
return NULL;
if (qemuMigrationDstPersist(driver, vm, mig, false) < 0)
@@ -6655,7 +6655,7 @@ qemuMigrationDstFinishActive(virQEMUDriver *driver,
vm, flags, retcode);
if (!(mig = qemuMigrationCookieParse(driver, vm->def, priv->origname, priv,
- cookiein, cookieinlen, cookie_flags, NULL)))
+ cookiein, cookieinlen, cookie_flags, vm)))
goto error;
if (retcode != 0) {
--
2.38.1
2
1
Motivation comes from the case when libguestfs has repeatedly created
transient VMs, which in turn created lots of logs without any mechanism
to delete it afterwards.
More motivation in [1]. Previous attempt in [2].
[1]: https://listman.redhat.com/archives/libvir-list/2022-February/msg00425.html
[2]: https://listman.redhat.com/archives/libvir-list/2022-February/msg00865.html
Oleg Vasilev (2):
logging: refactor to store config inside log handler
logging: add log cleanup for obsolete domains
src/logging/log_daemon.c | 6 +-
src/logging/log_daemon_config.c | 9 ++
src/logging/log_daemon_config.h | 3 +
src/logging/log_handler.c | 137 +++++++++++++++++++++++++++----
src/logging/log_handler.h | 17 ++--
src/logging/test_virtlogd.aug.in | 2 +
src/logging/virtlogd.aug | 2 +
src/logging/virtlogd.conf | 7 ++
8 files changed, 153 insertions(+), 30 deletions(-)
--
2.38.1
2
5
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Pushed as trivial.
examples/c/admin/list_clients.c | 2 +-
examples/c/admin/logging.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/c/admin/list_clients.c b/examples/c/admin/list_clients.c
index 70907b4fba2f..169c9a7ec814 100644
--- a/examples/c/admin/list_clients.c
+++ b/examples/c/admin/list_clients.c
@@ -53,7 +53,7 @@ int main(int argc, char **argv)
{
int ret = -1;
virAdmConnectPtr conn = NULL;
- virAdmServerPtr srv = NULL; /* which server list the clients from */
+ virAdmServerPtr srv = NULL; /* which server to list the clients from */
virAdmClientPtr *clients = NULL; /* where to store the servers */
ssize_t i = 0;
int count = 0;
diff --git a/examples/c/admin/logging.c b/examples/c/admin/logging.c
index 730ae40d9d53..575d15a3a67c 100644
--- a/examples/c/admin/logging.c
+++ b/examples/c/admin/logging.c
@@ -77,7 +77,7 @@ int main(int argc, char **argv)
goto cleanup;
}
- /* now, try to change the redefine the current log output and filters */
+ /* now, try to change the current log output and filters */
if (virAdmConnectSetLoggingOutputs(conn, set_outputs, 0) < 0)
goto cleanup;
--
2.38.1
1
0
As of [1]. libselinux changed the type of context_str() - it now
returns a const string. Follow this change in our code base.
1: https://github.com/SELinuxProject/selinux/commit/dd98fa322766760c4e1f029cf1…
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/security/security_selinux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 1f72f61cac..92e85c92e0 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -526,7 +526,7 @@ static char *
virSecuritySELinuxContextAddRange(char *src,
char *dst)
{
- char *str = NULL;
+ const char *str = NULL;
char *ret = NULL;
context_t srccon = NULL;
context_t dstcon = NULL;
@@ -567,7 +567,7 @@ virSecuritySELinuxGenNewContext(const char *basecontext,
{
context_t context = NULL;
char *ret = NULL;
- char *str;
+ const char *str;
char *ourSecContext = NULL;
context_t ourContext = NULL;
--
2.37.4
2
1
I have just tagged v8.10.0-rc1 in the repository and pushed signed
tarballs and source RPMs to https://libvirt.org/sources/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
1
1
This series implements domain state refreshing after reset from libvirt
API and reboot from the guest OS.
Kristina Hanicova (2):
qemu: refresh state after reset
qemu: refresh state after reboot initiated from the guest
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_driver.c | 22 +++++++++++++++++++++-
src/qemu/qemu_process.c | 2 ++
4 files changed, 25 insertions(+), 1 deletion(-)
--
2.38.1
2
3
29 Nov '22
Inside of qemuTPMEmulatorBuildCommand() there are two calls to
qemuTPMSetupEncryption() which simply ignore returned error. This
is suboptimal because then we rely on swtpm binary reporting a
generic error (something among invalid command line arguments)
while an error reported by qemuTPMSetupEncryption() is more
specific.
However, since virCommandSetSendBuffer() only sets an error
inside of virCommand structure (the error is then reported in
virCommandRun()), we need to exempt its retval from error
checking. Thus, the signature of qemuTPMSetupEncryption() is
changed a bit so that -1/0 can be returned to indicate error.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
v2 of:
https://listman.redhat.com/archives/libvir-list/2022-November/235866.html
diff to v1:
- Ignore error from virCommandSetSendBuffer() as it'll be reported
later. Don't actually jump onto error label as it would defeat the
purpose.
src/qemu/qemu_tpm.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index 15ee7db757..bdce060db8 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -224,20 +224,25 @@ qemuTPMEmulatorDeleteStorage(virDomainTPMDef *tpm)
*
* @secretuuid: The UUID with the secret holding passphrase
* @cmd: the virCommand to transfer the secret to
+ * @fd: returned read-end of the pipe
*
- * Returns file descriptor representing the read-end of a pipe.
- * The passphrase can be read from this pipe. Returns < 0 in case
- * of error.
+ * Sets @fd to a file descriptor representing the read-end of a
+ * pipe. The passphrase can be read from this pipe.
*
* This function reads the passphrase and writes it into the
* write-end of a pipe so that the read-end of the pipe can be
* passed to the emulator for reading the passphrase from.
*
- * Note that the returned FD is owned by @cmd.
+ * Note that the returned @fd is owned by @cmd and thus should
+ * only be used to append an argument onto emulator cmdline.
+ *
+ * Returns: 0 on success,
+ * -1 otherwise (with proper error reported).
*/
static int
qemuTPMSetupEncryption(const unsigned char *secretuuid,
- virCommand *cmd)
+ virCommand *cmd,
+ int *fd)
{
g_autoptr(virConnect) conn = NULL;
g_autofree uint8_t *secret = NULL;
@@ -260,7 +265,8 @@ qemuTPMSetupEncryption(const unsigned char *secretuuid,
&secret, &secret_len) < 0)
return -1;
- return virCommandSetSendBuffer(cmd, g_steal_pointer(&secret), secret_len);
+ *fd = virCommandSetSendBuffer(cmd, g_steal_pointer(&secret), secret_len);
+ return 0;
}
@@ -322,7 +328,7 @@ qemuTPMVirCommandAddEncryption(virCommand *cmd,
return -1;
}
- if ((pwdfile_fd = qemuTPMSetupEncryption(secretuuid, cmd)) < 0)
+ if (qemuTPMSetupEncryption(secretuuid, cmd, &pwdfile_fd) < 0)
return -1;
virCommandAddArg(cmd, "--pwdfile-fd");
@@ -634,8 +640,13 @@ qemuTPMEmulatorBuildCommand(virDomainTPMDef *tpm,
goto error;
}
- pwdfile_fd = qemuTPMSetupEncryption(tpm->data.emulator.secretuuid, cmd);
- migpwdfile_fd = qemuTPMSetupEncryption(tpm->data.emulator.secretuuid, cmd);
+ if (qemuTPMSetupEncryption(tpm->data.emulator.secretuuid,
+ cmd, &pwdfile_fd) < 0)
+ goto error;
+
+ if (qemuTPMSetupEncryption(tpm->data.emulator.secretuuid,
+ cmd, &migpwdfile_fd) < 0)
+ goto error;
virCommandAddArg(cmd, "--key");
virCommandAddArgFormat(cmd, "pwdfd=%d,mode=aes-256-cbc", pwdfile_fd);
--
2.37.4
2
1
[PATCH] Document caveats of hypervisor-specific stats in 'VIR_DOMAIN_STATS_VCPU' group
by Peter Krempa 29 Nov '22
by Peter Krempa 29 Nov '22
29 Nov '22
In commit c43718ef67944 I've added a disclaimer that the new stats which
are fetched from qemu and passed directly to the user are not guaranteed
by libvirt. I didn't notice that per-vcpu hypervisor specific stats are
also snuck into the VIR_DOMAIN_STATS_VCPU group along with other
pre-existing stats we do guarantee.
Extend the disclaimer for VIR_DOMAIN_STATS_VCPU too.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
docs/manpages/virsh.rst | 22 ++++++++++++++++++++++
src/libvirt-domain.c | 17 +++++++++++++++++
2 files changed, 39 insertions(+)
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index 5f5f48f83e..1e8a43bc55 100644
--- a/docs/manpages/virsh.rst
+++ b/docs/manpages/virsh.rst
@@ -2399,6 +2399,28 @@ When selecting the *--state* group the following fields are returned:
host scheduler, but was waiting in the queue instead of running.
Exposed to the VM as a steal time.
+This group of statistics also reports additional hypervisor-originating per-vCPU
+stats. The hypervisor-specific statistics in this group have the following
+naming scheme:
+
+ ``vcpu.<num>.$NAME.$TYPE``
+
+ ``$NAME``
+ name of the statistics field provided by the hypervisor
+
+ ``$TYPE``
+ Type of the value. The following types are returned:
+
+ ``cur``
+ current instant value
+ ``sum``
+ aggregate value
+ ``max``
+ peak value
+
+ The returned value may be either an unsigned long long or a boolean. Meaning
+ is hypervisor specific. Please see the disclaimer for the *--vm* group which
+ also consists of hypervisor-specific stats.
*--interface* returns:
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 56c2abf3fa..78c26b2219 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -12270,6 +12270,23 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
* instead of running. Exposed to the VM as a steal
* time.
*
+ * This group of statistics also reports additional hypervisor-originating
+ * per-vCPU stats. The hypervisor-specific statistics in this group have the
+ * following naming scheme:
+ *
+ * "vcpu.<num>.$NAME.$TYPE"
+ *
+ * $NAME - name of the statistics field provided by the hypervisor
+ *
+ * $TYPE - Type of the value. The following types are returned:
+ * 'cur' - current instant value
+ * 'sum' - aggregate value
+ * 'max' - peak value
+ *
+ * The returned value may be either an unsigned long long or a boolean.
+ * Meaning is hypervisor specific. Please see the disclaimer for the
+ * VIR_DOMAIN_STATS_VM group below.
+ *
* VIR_DOMAIN_STATS_INTERFACE:
* Return network interface statistics (from domain point of view).
* The typed parameter keys are in this format:
--
2.38.1
2
1
29 Nov '22
When running virsh snapshot-* command, such as snapshot-create-as /
snapshot-delete, it prints a result message.
On the other hand virsh snapshot-revert command doesn't print a result
message.
So, This patch fixes to add message when running virsh snapshot-revert
command.
---
# virsh snapshot-create-as vm1 test1
Domain snapshot test01 created
# virsh snapshot-revert vm1 test1
# virsh snapshot-delete vm1 test1
Domain snapshot test01 deleted
#
---
Signed-off-by: Haruka Ohata <ohata.haruka(a)fujitsu.com>
---
tests/virsh-snapshot | 3 +++
tools/virsh-snapshot.c | 6 +++++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/virsh-snapshot b/tests/virsh-snapshot
index 4c64bb537b..b09273917b 100755
--- a/tests/virsh-snapshot
+++ b/tests/virsh-snapshot
@@ -100,11 +100,14 @@ Domain snapshot s1 created
Domain snapshot s3 created
Domain snapshot s2 created
+Domain snapshot s3 reverted
Domain snapshot s6 created
Domain snapshot s5 created
+Domain snapshot s6 reverted
Domain snapshot s4 created
+Domain snapshot s1 reverted
Domain snapshot s7 created
Domain snapshot s8 created
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 8fa64ba903..b7ec675e61 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -1783,7 +1783,11 @@ cmdDomainSnapshotRevert(vshControl *ctl, const vshCmd *cmd)
result = virDomainRevertToSnapshot(snapshot, flags);
}
- return result >= 0;
+ if (result < 0)
+ vshError(ctl, _("Failed to revert snapshot %s"), name);
+ else
+ vshPrintExtra(ctl, _("Domain snapshot %s reverted\n"), name);
+ return result;
}
/*
--
2.38.1
2
1
This patch provides basic support for the RISC-V architecture, so
libvirt can run in RISC-V machine.
Signed-off-by: Yu Gu <guyu2876(a)gmail.com>
---
po/POTFILES | 1 +
src/cpu/cpu.c | 2 +
src/cpu/cpu.h | 2 +
src/cpu/cpu_riscv64.c | 118 +++++++++++++++++++++++++++++++
src/cpu/cpu_riscv64.h | 28 ++++++++
src/cpu/cpu_riscv64_data.h | 40 +++++++++++
src/cpu/meson.build | 1 +
src/cpu_map/index.xml | 4 ++
src/cpu_map/meson.build | 1 +
src/cpu_map/riscv64_vendors.xml | 3 +
src/util/virarch.c | 2 +
src/util/virhostcpu.c | 2 +-
src/util/virsysinfo.c | 121 ++++++++++++++++++++++++++++++++
13 files changed, 324 insertions(+), 1 deletion(-)
create mode 100644 src/cpu/cpu_riscv64.c
create mode 100644 src/cpu/cpu_riscv64.h
create mode 100644 src/cpu/cpu_riscv64_data.h
create mode 100644 src/cpu_map/riscv64_vendors.xml
diff --git a/po/POTFILES b/po/POTFILES
index 169e2a41dc..a52795e7c1 100644
--- a/po/POTFILES
+++ b/po/POTFILES
@@ -72,6 +72,7 @@ src/cpu/cpu_map.c
src/cpu/cpu_ppc64.c
src/cpu/cpu_s390.c
src/cpu/cpu_x86.c
+src/cpu/cpu_riscv64.c
src/datatypes.c
src/driver.c
src/esx/esx_driver.c
diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c
index d97ef5e873..8fdc42e719 100644
--- a/src/cpu/cpu.c
+++ b/src/cpu/cpu.c
@@ -27,6 +27,7 @@
#include "cpu_ppc64.h"
#include "cpu_s390.h"
#include "cpu_arm.h"
+#include "cpu_riscv64.h"
#include "capabilities.h"
@@ -39,6 +40,7 @@ static struct cpuArchDriver *drivers[] = {
&cpuDriverPPC64,
&cpuDriverS390,
&cpuDriverArm,
+ &cpuDriverRISCV64,
};
diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h
index 41a62ce486..6e0a06fce4 100644
--- a/src/cpu/cpu.h
+++ b/src/cpu/cpu.h
@@ -27,6 +27,7 @@
#include "cpu_x86_data.h"
#include "cpu_ppc64_data.h"
#include "cpu_arm_data.h"
+#include "cpu_riscv64_data.h"
typedef struct _virCPUData virCPUData;
@@ -36,6 +37,7 @@ struct _virCPUData {
virCPUx86Data x86;
virCPUppc64Data ppc64;
virCPUarmData arm;
+ virCPUriscv64Data riscv64;
/* generic driver needs no data */
} data;
};
diff --git a/src/cpu/cpu_riscv64.c b/src/cpu/cpu_riscv64.c
new file mode 100644
index 0000000000..21f7178cc2
--- /dev/null
+++ b/src/cpu/cpu_riscv64.c
@@ -0,0 +1,118 @@
+/*
+ * cpu_riscv64.c: CPU driver for riscv64(x) CPUs
+ *
+ * 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/>.
+ */
+
+#include <config.h>
+
+#include "cpu.h"
+
+
+#define VIR_FROM_THIS VIR_FROM_CPU
+
+static const virArch archs[] = { VIR_ARCH_RISCV64 };
+
+static virCPUCompareResult
+virCPUriscv64Compare(virCPUDef *host G_GNUC_UNUSED,
+ virCPUDef *cpu G_GNUC_UNUSED,
+ bool failMessages G_GNUC_UNUSED)
+{
+ /* riscv64 relies on QEMU to perform all runability checking. Return
+ * VIR_CPU_COMPARE_IDENTICAL to bypass Libvirt checking.
+ */
+ return VIR_CPU_COMPARE_IDENTICAL;
+}
+
+static int
+virCPUriscv64Update(virCPUDef *guest,
+ const virCPUDef *host,
+ bool relative)
+{
+ g_autoptr(virCPUDef) updated = NULL;
+ size_t i;
+
+ if (!relative)
+ return 0;
+
+ if (guest->mode == VIR_CPU_MODE_CUSTOM) {
+ if (guest->match == VIR_CPU_MATCH_MINIMUM) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("match mode %s not supported"),
+ virCPUMatchTypeToString(guest->match));
+ } else {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("optional CPU features are not supported"));
+ }
+ return -1;
+ }
+
+ if (!host) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("unknown host CPU model"));
+ return -1;
+ }
+
+ if (!(updated = virCPUDefCopyWithoutModel(guest)))
+ return -1;
+
+ updated->mode = VIR_CPU_MODE_CUSTOM;
+ if (virCPUDefCopyModel(updated, host, true) < 0)
+ return -1;
+
+ for (i = 0; i < guest->nfeatures; i++) {
+ if (virCPUDefUpdateFeature(updated,
+ guest->features[i].name,
+ guest->features[i].policy) < 0)
+ return -1;
+ }
+
+ virCPUDefStealModel(guest, updated, false);
+ guest->mode = VIR_CPU_MODE_CUSTOM;
+ guest->match = VIR_CPU_MATCH_EXACT;
+
+ return 0;
+}
+
+
+static int
+virCPUriscv64ValidateFeatures(virCPUDef *cpu)
+{
+ size_t i;
+
+ for (i = 0; i < cpu->nfeatures; i++) {
+ if (cpu->features[i].policy == VIR_CPU_FEATURE_OPTIONAL) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("only cpu feature policies 'require' and "
+ "'disable' are supported for %s"),
+ cpu->features[i].name);
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+struct cpuArchDriver cpuDriverRISCV64 = {
+ .name = "riscv64",
+ .arch = archs,
+ .narch = G_N_ELEMENTS(archs),
+ .compare = virCPUriscv64Compare,
+ .decode = NULL,
+ .encode = NULL,
+ .baseline = NULL,
+ .update = virCPUriscv64Update,
+ .validateFeatures = virCPUriscv64ValidateFeatures,
+};
diff --git a/src/cpu/cpu_riscv64.h b/src/cpu/cpu_riscv64.h
new file mode 100644
index 0000000000..67528415fe
--- /dev/null
+++ b/src/cpu/cpu_riscv64.h
@@ -0,0 +1,28 @@
+/*
+ * cpu_riscv64.h: CPU driver for 64-bit RISC-V CPUs
+ *
+ * Copyright (C) Copyright (C) IBM Corporation, 2010
+ *
+ * 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/>.
+ */
+
+#ifndef __VIR_CPU_RISCV64_H__
+# define __VIR_CPU_RISCV64_H__
+
+# include "cpu.h"
+
+extern struct cpuArchDriver cpuDriverRISCV64;
+
+#endif
diff --git a/src/cpu/cpu_riscv64_data.h b/src/cpu/cpu_riscv64_data.h
new file mode 100644
index 0000000000..819b9e8fde
--- /dev/null
+++ b/src/cpu/cpu_riscv64_data.h
@@ -0,0 +1,40 @@
+/*
+ * cpu_riscv64_data.h: 64-bit riscv64 CPU specific data
+ *
+ * Copyright (C) 2012 IBM Corporation.
+ *
+ * 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/>.
+ */
+
+#ifndef __VIR_CPU_RISCV64_DATA_H__
+# define __VIR_CPU_RISCV64_DATA_H__
+
+# include <stdint.h>
+
+typedef struct _virCPUriscv64Prid virCPUriscv64Prid;
+struct _virCPUriscv64Prid {
+ uint32_t value;
+ uint32_t mask;
+};
+
+# define VIR_CPU_riscv64_DATA_INIT { 0 }
+
+typedef struct _virCPUriscv64Data virCPUriscv64Data;
+struct _virCPUriscv64Data {
+ size_t len;
+ virCPUriscv64Prid *prid;
+};
+
+#endif
diff --git a/src/cpu/meson.build b/src/cpu/meson.build
index b4ad95e46d..eba1d45743 100644
--- a/src/cpu/meson.build
+++ b/src/cpu/meson.build
@@ -5,6 +5,7 @@ cpu_sources = [
'cpu_ppc64.c',
'cpu_s390.c',
'cpu_x86.c',
+ 'cpu_riscv64.c',
]
cpu_lib = static_library(
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index d533a28865..f2c4b1c62a 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -89,6 +89,10 @@
<include filename='ppc64_POWERPC_e6500.xml'/>
</arch>
+ <arch name='riscv64'>
+ <include filename='riscv64_vendors.xml'/>
+ </arch>
+
<arch name='arm'>
<include filename='arm_vendors.xml'/>
<include filename='arm_features.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index 99264289e2..1a02df8268 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -19,6 +19,7 @@ cpumap_data = [
'ppc64_POWERPC_e5500.xml',
'ppc64_POWERPC_e6500.xml',
'ppc64_vendors.xml',
+ 'riscv64_vendors.xml',
'x86_486.xml',
'x86_athlon.xml',
'x86_Broadwell-IBRS.xml',
diff --git a/src/cpu_map/riscv64_vendors.xml b/src/cpu_map/riscv64_vendors.xml
new file mode 100644
index 0000000000..478a23a467
--- /dev/null
+++ b/src/cpu_map/riscv64_vendors.xml
@@ -0,0 +1,3 @@
+<cpus>
+ <vendor name='RISC-V'/>
+</cpus>
\ No newline at end of file
diff --git a/src/util/virarch.c b/src/util/virarch.c
index 2134dd6a9d..3d14ecd193 100644
--- a/src/util/virarch.c
+++ b/src/util/virarch.c
@@ -190,6 +190,8 @@ virArch virArchFromHost(void)
return VIR_ARCH_ALPHA;
case PROCESSOR_ARCHITECTURE_PPC:
return VIR_ARCH_PPC;
+ case PROCESSOR_ARCHITECTURE_RISCV:
+ return VIR_ARCH_RISCV64;
case PROCESSOR_ARCHITECTURE_SHX:
return VIR_ARCH_SH4;
case PROCESSOR_ARCHITECTURE_ARM:
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index c1e8dc8078..08c2290f00 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -544,7 +544,7 @@ virHostCPUParseFrequency(FILE *cpuinfo,
char line[1024];
/* No sensible way to retrieve CPU frequency */
- if (ARCH_IS_ARM(arch))
+ if (ARCH_IS_ARM(arch) || ARCH_IS_RISCV(arch))
return 0;
if (ARCH_IS_X86(arch))
diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c
index 376d5d4816..e281d928c7 100644
--- a/src/util/virsysinfo.c
+++ b/src/util/virsysinfo.c
@@ -623,6 +623,125 @@ virSysinfoReadS390(void)
return g_steal_pointer(&ret);
}
+#if 0
+static int
+virSysinfoParseRISCVSystem(const char *base, virSysinfoSystemDef **sysdef)
+{
+ int ret = -1;
+ virSysinfoSystemDef *def;
+
+ def = g_new0(virSysinfoSystemDef, 1);
+
+#if 0
+ if (!virSysinfoParseS390Line(base, "Manufacturer", &def->manufacturer))
+ goto cleanup;
+
+ if (!virSysinfoParseS390Line(base, "Type", &def->family))
+ goto cleanup;
+#endif
+ def->manufacturer = g_strndup("Virt-RISC-V", sizeof("Virt RISC-V"));
+
+ if (!def->manufacturer && !def->product && !def->version &&
+ !def->serial && !def->uuid && !def->sku && !def->family) {
+ g_clear_pointer(&def, virSysinfoSystemDefFree);
+ }
+
+ *sysdef = g_steal_pointer(&def);
+ ret = 0;
+ cleanup:
+ virSysinfoSystemDefFree(def);
+ return ret;
+}
+#endif
+
+static int
+virSysinfoParseRISCVProcessor(const char *base, virSysinfoDef *ret)
+{
+ const char *tmp_base;
+ char *manufacturer = NULL;
+ char *procline = NULL;
+ char *ncpu = NULL;
+ int result = -1;
+ virSysinfoProcessorDef *processor;
+
+ if (!(tmp_base = virSysinfoParseS390Line(base, "uarch", &manufacturer)))
+ goto error;
+
+ /* Find processor N: line and gather the processor manufacturer,
+ version, serial number, and family */
+ while ((tmp_base = strstr(tmp_base, "processor "))
+ && (tmp_base = virSysinfoParseS390Line(tmp_base, "processor ",
+ &procline))) {
+ VIR_EXPAND_N(ret->processor, ret->nprocessor, 1);
+ processor = &ret->processor[ret->nprocessor - 1];
+ processor->processor_manufacturer = g_strdup(manufacturer);
+
+ VIR_FREE(procline);
+ }
+
+ /* now, for each processor found, extract the frequency information */
+ tmp_base = base;
+
+ while ((tmp_base = strstr(tmp_base, "hart")) &&
+ (tmp_base = virSysinfoParseS390Line(tmp_base, "hart", &ncpu))) {
+ unsigned int n;
+ char *mhz = NULL;
+
+ if (virStrToLong_uip(ncpu, NULL, 10, &n) < 0)
+ goto error;
+
+ if (n >= ret->nprocessor) {
+ VIR_DEBUG("CPU number '%u' out of range", n);
+ goto cleanup;
+ }
+
+ VIR_FREE(ncpu);
+ }
+
+ cleanup:
+ result = 0;
+
+ error:
+ VIR_FREE(manufacturer);
+ VIR_FREE(procline);
+ VIR_FREE(ncpu);
+ return result;
+}
+
+virSysinfoDef *
+virSysinfoReadRISCV(void)
+{
+ g_autoptr(virSysinfoDef) ret = NULL;
+ g_autofree char *outbuf = NULL;
+
+ ret = g_new0(virSysinfoDef, 1);
+
+ /* Gather info from /proc/cpuinfo */
+ if (virFileReadAll(CPUINFO, CPUINFO_FILE_LEN, &outbuf) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to open %s"), CPUINFO);
+ return NULL;
+ }
+
+ if (virSysinfoParseRISCVProcessor(outbuf, ret) < 0)
+ return NULL;
+
+ /* Free buffer before reading next file */
+ VIR_FREE(outbuf);
+
+#if 0
+ /* Gather info from /proc/sysinfo */
+ if (virFileReadAll(SYSINFO, 8192, &outbuf) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to open %s"), SYSINFO);
+ return NULL;
+ }
+
+ if (virSysinfoParseRISCVSystem(outbuf, &ret->system) < 0)
+ return NULL;
+#endif
+ return g_steal_pointer(&ret);
+}
static int
virSysinfoParseBIOS(const char *base, virSysinfoBIOSDef **bios)
@@ -1243,6 +1362,8 @@ virSysinfoRead(void)
return virSysinfoReadPPC();
#elif defined(__arm__) || defined(__aarch64__)
return virSysinfoReadARM();
+#elif defined(__riscv) && __riscv_xlen == 64
+ return virSysinfoReadRISCV();
#elif defined(__s390__) || defined(__s390x__)
return virSysinfoReadS390();
#elif !defined(WIN32) && \
--
2.37.3
2
2
The first one fixes a bug that was reported on the list:
https://listman.redhat.com/archives/libvir-list/2022-November/235922.html
The second one - I've noticed while investigating the first one.
Michal Prívozník (2):
conf: Make VIR_DOMAIN_NET_TYPE_ETHERNET not share 'host view'
virnetdevbandwidth: Unbreak tc filter update on Linux-4.20+
src/conf/domain_conf.c | 2 +-
src/util/virnetdevbandwidth.c | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
--
2.37.4
3
4
Mention 'virt-qemu-sev-validate', SGX EPC, vTPM migration, cpu flag
additions and other notable changes in this release.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
NEWS.rst | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 2ce8ef4b6a..c119d68da6 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -17,10 +17,85 @@ v8.10.0 (unreleased)
* **New features**
+ * Tool for validating SEV firmware boot measurement of QEMU VMs
+
+ The ``virt-qemu-sev-validate`` program will compare a reported SEV/SEV-ES
+ domain launch measurement, to a computed launch measurement. This
+ determines whether the domain has been tampered with during launch.
+
+ * Support for SGX EPC (enclave page cache)
+
+ Users can add a ``<memory model='sgx-epc'>`` device to lauch a VM with
+ ``Intel Software Guard Extensions``.
+
+ * Support migration of vTPM state of QEMU vms on shared storage
+
+ Pass ``--migration`` option if appropriate in order for ``swtpm`` to
+ properly migrate on shared storage.
+
* **Improvements**
+ * Mark close callback (un-)register API as high priority
+
+ High priority APIs use a separate thread pool thus can help in eliminating
+ problems with stuck VMs. Marking the close callback API as high priority
+ allows ``virsh`` to properly connect to the daemon in case the normal
+ priority workers are stuck allowing other high priority API usage.
+
+ * Updated x86 CPU features
+
+ The following features for the x86 platform were added:
+ ``v-vmsave-vmload``, ``vgif``, ``avx512-vp2intersect``, ``avx512-fp16``,
+ ``serialize``, ``tsx-ldtrk``, ``arch-lbr``, ``xfd``, ``intel-pt-lip``,
+ ``avic``, ``sgx``, ``sgxlc``, ``sgx-exinfo``, ``sgx1``, ``sgx2``,
+ ``sgx-debug``, ``sgx-mode64``, ``sgx-provisionkey``, ``sgx-tokenkey``,
+ ``sgx-kss``, ``bus-lock-detect``, ``pks``, ``amx``.
+
+ * Add support for ``hv-avic`` Hyper-V enlightenment
+
+ ``qemu-6.2`` introduced support for the ``hv-avic`` enlightenment which
+ allows to use Hyper-V SynIC with hardware APICv/AVIC enabled.
+
+ * qemu: Run memory preallocation with numa-pinned threads
+
+ Run the thread allocating memory in the proper NUMA node to reduce overhead.
+
+ * RPM packaging changes
+
+ - add optional dependancy of ``libvirt-daemon`` on ``libvirt-client``
+
+ The ``libvirt-guests.`` tool requires the ``virsh`` client to work
+ properly, but we don't want to require the installation of the daemon
+ if the tool is not used.
+
+ - relax required ``python3-libvirt`` version for ``libvirt-client-qemu``
+
+ The ``virt-qemu-qmp-proxy`` tool requires python but doesn't strictly
+ need the newest version. Remove the strict versioning requirement in
+ order to prevent cyclic dependency when building.
+
* **Bug fixes**
+ * Skip initialization of ``cache`` capabilities if host doesn't support them
+
+ Hypervisor drivers would fail to initialize on ``aarch64`` hosts with
+ following error ::
+
+ virStateInitialize:657 : Initialisation of cloud-hypervisor state driver failed: no error
+
+ which prevented the startup of the daemon.
+
+ * Allow incoming connections to guests on routed networks w/firewalld
+
+ A change in handling of implicit rules in ``firewalld 1.0.0`` broke
+ incomming connections to VMs when using ``routed`` network. This is fixed
+ by adding a new ``libvirt-routed`` zone configured to once again allow
+ incoming sessions to guests on routed networks.
+
+ * Fix infinite loop in nodedev driver
+
+ Certain udev entries might be of a size that makes libudev emit EINVAL
+ which caused a busy loop burning CPU. Fix it by ignoring the return code.
v8.9.0 (2022-11-01)
===================
--
2.38.1
2
1
28 Nov '22
When running virsh snapshot-* command, such as snapshot-create-as /
snapshot-delete, it prints a result message.
On the other hand virsh snapshot-revert command doesn't print a result
message.
So, This patch fixes to add message when running virsh snapshot-revert
command.
---
# virsh snapshot-create-as vm1 test1
Domain snapshot test01 created
# virsh snapshot-revert vm1 test1
# virsh snapshot-delete vm1 test1
Domain snapshot test01 deleted
#
---
Signed-off-by: Haruka Ohata <ohata.haruka(a)fujitsu.com>
---
tests/virsh-snapshot | 3 +++
tools/virsh-snapshot.c | 10 +++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/tests/virsh-snapshot b/tests/virsh-snapshot
index 4c64bb537b..b09273917b 100755
--- a/tests/virsh-snapshot
+++ b/tests/virsh-snapshot
@@ -100,11 +100,14 @@ Domain snapshot s1 created
Domain snapshot s3 created
Domain snapshot s2 created
+Domain snapshot s3 reverted
Domain snapshot s6 created
Domain snapshot s5 created
+Domain snapshot s6 reverted
Domain snapshot s4 created
+Domain snapshot s1 reverted
Domain snapshot s7 created
Domain snapshot s8 created
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 8fa64ba903..4576bf1020 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -1745,7 +1745,7 @@ static const vshCmdOptDef opts_snapshot_revert[] = {
};
static bool
-cmdDomainSnapshotRevert(vshControl *ctl, const vshCmd *cmd)
+cmdSnapshotRevert(vshControl *ctl, const vshCmd *cmd)
{
g_autoptr(virshDomain) dom = NULL;
const char *name = NULL;
@@ -1783,7 +1783,11 @@ cmdDomainSnapshotRevert(vshControl *ctl, const vshCmd *cmd)
result = virDomainRevertToSnapshot(snapshot, flags);
}
- return result >= 0;
+ if (virDomainRevertToSnapshot(snapshot, flags) < 0)
+ vshError(ctl, _("Failed to revert snapshot %s"), name);
+ else
+ vshPrintExtra(ctl, _("Domain snapshot %s reverted\n"), name);
+ return result;
}
/*
@@ -1916,7 +1920,7 @@ const vshCmdDef snapshotCmds[] = {
.flags = 0
},
{.name = "snapshot-revert",
- .handler = cmdDomainSnapshotRevert,
+ .handler = cmdSnapshotRevert,
.opts = opts_snapshot_revert,
.info = info_snapshot_revert,
.flags = 0
--
2.38.1
2
1
25 Nov '22
Error message reports that the guest has '0' NUMA nodes
configured when trying to attach a memory device to a guest with
no NUMA nodes. This may be a little misleading because '0' can
also be node's id. A more friendly way is to directly report
that the guest has no NUMA nodes.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2142519
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/conf/domain_validate.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index 5bc7ea10aa..95b8d9b419 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -2257,6 +2257,12 @@ virDomainMemoryDefValidate(const virDomainMemoryDef *mem,
if (mem->targetNode != -1) {
const size_t nodeCount = virDomainNumaGetNodeCount(def->numa);
+ if (nodeCount == 0) {
+ virReportError(VIR_ERR_XML_DETAIL, "%s",
+ _("can't add memory backend as guest has no NUMA nodes configured"));
+ return -1;
+ }
+
if (mem->targetNode >= nodeCount) {
virReportError(VIR_ERR_XML_DETAIL,
_("can't add memory backend for guest node '%d' as the guest has only '%zu' NUMA nodes configured"),
--
2.38.1
2
1
When running "virsh domcapabilities" on a s390x host, all the CPU
models show up with vendor='unknown' - which sounds kind of weird
since the vendor of these mainframe CPUs is well known: IBM.
All CPUs starting with either "z" or "gen" match a real mainframe
CPU by IBM, so let's return the string "IBM" for those now.
The only remaining ones are now the artifical "qemu" and "max"
models from QEMU itself, so it should be OK to get an "unknown"
vendor for those two.
Thanks to Boris Fiuczynski for helping with the domaincapsdata!
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.ibm.com>
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
src/cpu/cpu_s390.c | 11 ++
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 144 +++++++++++-----------
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 144 +++++++++++-----------
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 144 +++++++++++-----------
4 files changed, 227 insertions(+), 216 deletions(-)
diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c
index d908a83928..7416ec6dc5 100644
--- a/src/cpu/cpu_s390.c
+++ b/src/cpu/cpu_s390.c
@@ -109,6 +109,16 @@ virCPUs390ValidateFeatures(virCPUDef *cpu)
}
+static const char *
+virCPUs390GetVendorForModel(const char *modelName)
+{
+ if (modelName[0] == 'z' || STREQLEN(modelName, "gen", 3))
+ return "IBM";
+
+ return NULL;
+}
+
+
struct cpuArchDriver cpuDriverS390 = {
.name = "s390",
.arch = archs,
@@ -119,4 +129,5 @@ struct cpuArchDriver cpuDriverS390 = {
.baseline = NULL,
.update = virCPUs390Update,
.validateFeatures = virCPUs390ValidateFeatures,
+ .getVendorForModel = virCPUs390GetVendorForModel,
};
diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
index 4f176e2d37..66841881a1 100644
--- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
@@ -83,79 +83,79 @@
<feature policy='require' name='cmm'/>
</mode>
<mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>z800-base</model>
- <model usable='yes' vendor='unknown'>z890.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2</model>
- <model usable='yes' vendor='unknown'>z13.2</model>
- <model usable='yes' vendor='unknown'>z9BC-base</model>
- <model usable='yes' vendor='unknown'>z990.5-base</model>
- <model usable='yes' vendor='unknown'>z890.2</model>
- <model usable='yes' vendor='unknown'>z890</model>
- <model usable='yes' vendor='unknown'>z9BC</model>
- <model usable='yes' vendor='unknown'>z13</model>
- <model usable='yes' vendor='unknown'>z196</model>
- <model usable='yes' vendor='unknown'>z13s</model>
- <model usable='yes' vendor='unknown'>z990.3</model>
- <model usable='yes' vendor='unknown'>z13s-base</model>
- <model usable='yes' vendor='unknown'>z9EC</model>
- <model usable='yes' vendor='unknown'>gen15a</model>
- <model usable='yes' vendor='unknown'>z14ZR1-base</model>
- <model usable='yes' vendor='unknown'>z14.2-base</model>
- <model usable='yes' vendor='unknown'>z900.3-base</model>
- <model usable='yes' vendor='unknown'>z13.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12-base</model>
- <model usable='yes' vendor='unknown'>z9BC.2-base</model>
- <model usable='yes' vendor='unknown'>z900.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3</model>
- <model usable='yes' vendor='unknown'>zEC12</model>
- <model usable='yes' vendor='unknown'>z900</model>
- <model usable='yes' vendor='unknown'>z114-base</model>
- <model usable='yes' vendor='unknown'>zEC12-base</model>
- <model usable='yes' vendor='unknown'>z10EC.2</model>
- <model usable='yes' vendor='unknown'>z10EC-base</model>
- <model usable='yes' vendor='unknown'>z900.3</model>
- <model usable='yes' vendor='unknown'>z14ZR1</model>
- <model usable='yes' vendor='unknown'>z10BC</model>
- <model usable='yes' vendor='unknown'>z10BC.2-base</model>
- <model usable='yes' vendor='unknown'>z990.2</model>
- <model usable='yes' vendor='unknown'>z9BC.2</model>
- <model usable='yes' vendor='unknown'>z990</model>
- <model usable='yes' vendor='unknown'>z14</model>
- <model usable='yes' vendor='unknown'>gen15b-base</model>
- <model usable='yes' vendor='unknown'>z990.4</model>
+ <model usable='yes' vendor='IBM'>z800-base</model>
+ <model usable='yes' vendor='IBM'>z890.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2</model>
+ <model usable='yes' vendor='IBM'>z13.2</model>
+ <model usable='yes' vendor='IBM'>z9BC-base</model>
+ <model usable='yes' vendor='IBM'>z990.5-base</model>
+ <model usable='yes' vendor='IBM'>z890.2</model>
+ <model usable='yes' vendor='IBM'>z890</model>
+ <model usable='yes' vendor='IBM'>z9BC</model>
+ <model usable='yes' vendor='IBM'>z13</model>
+ <model usable='yes' vendor='IBM'>z196</model>
+ <model usable='yes' vendor='IBM'>z13s</model>
+ <model usable='yes' vendor='IBM'>z990.3</model>
+ <model usable='yes' vendor='IBM'>z13s-base</model>
+ <model usable='yes' vendor='IBM'>z9EC</model>
+ <model usable='yes' vendor='IBM'>gen15a</model>
+ <model usable='yes' vendor='IBM'>z14ZR1-base</model>
+ <model usable='yes' vendor='IBM'>z14.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.3-base</model>
+ <model usable='yes' vendor='IBM'>z13.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3</model>
+ <model usable='yes' vendor='IBM'>zEC12</model>
+ <model usable='yes' vendor='IBM'>z900</model>
+ <model usable='yes' vendor='IBM'>z114-base</model>
+ <model usable='yes' vendor='IBM'>zEC12-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.2</model>
+ <model usable='yes' vendor='IBM'>z10EC-base</model>
+ <model usable='yes' vendor='IBM'>z900.3</model>
+ <model usable='yes' vendor='IBM'>z14ZR1</model>
+ <model usable='yes' vendor='IBM'>z10BC</model>
+ <model usable='yes' vendor='IBM'>z10BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z990.2</model>
+ <model usable='yes' vendor='IBM'>z9BC.2</model>
+ <model usable='yes' vendor='IBM'>z990</model>
+ <model usable='yes' vendor='IBM'>z14</model>
+ <model usable='yes' vendor='IBM'>gen15b-base</model>
+ <model usable='yes' vendor='IBM'>z990.4</model>
<model usable='yes' vendor='unknown'>max</model>
- <model usable='yes' vendor='unknown'>z10EC.2-base</model>
- <model usable='yes' vendor='unknown'>gen15a-base</model>
- <model usable='yes' vendor='unknown'>z800</model>
- <model usable='yes' vendor='unknown'>zEC12.2</model>
- <model usable='yes' vendor='unknown'>z10EC</model>
- <model usable='yes' vendor='unknown'>z990.2-base</model>
- <model usable='yes' vendor='unknown'>z900-base</model>
- <model usable='yes' vendor='unknown'>z10BC.2</model>
- <model usable='yes' vendor='unknown'>z9EC-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3-base</model>
- <model usable='yes' vendor='unknown'>z114</model>
- <model usable='yes' vendor='unknown'>z890.3</model>
- <model usable='yes' vendor='unknown'>z196-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2</model>
- <model usable='yes' vendor='unknown'>z14.2</model>
- <model usable='yes' vendor='unknown'>z990-base</model>
- <model usable='yes' vendor='unknown'>z900.2</model>
- <model usable='yes' vendor='unknown'>z890-base</model>
- <model usable='yes' vendor='unknown'>z10EC.3</model>
- <model usable='yes' vendor='unknown'>z14-base</model>
- <model usable='yes' vendor='unknown'>z990.4-base</model>
- <model usable='yes' vendor='unknown'>z10EC.3-base</model>
- <model usable='yes' vendor='unknown'>z10BC-base</model>
- <model usable='yes' vendor='unknown'>z13-base</model>
- <model usable='yes' vendor='unknown'>z990.3-base</model>
- <model usable='yes' vendor='unknown'>zEC12.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12</model>
- <model usable='yes' vendor='unknown'>z890.3-base</model>
- <model usable='yes' vendor='unknown'>z990.5</model>
- <model usable='yes' vendor='unknown'>gen15b</model>
+ <model usable='yes' vendor='IBM'>z10EC.2-base</model>
+ <model usable='yes' vendor='IBM'>gen15a-base</model>
+ <model usable='yes' vendor='IBM'>z800</model>
+ <model usable='yes' vendor='IBM'>zEC12.2</model>
+ <model usable='yes' vendor='IBM'>z10EC</model>
+ <model usable='yes' vendor='IBM'>z990.2-base</model>
+ <model usable='yes' vendor='IBM'>z900-base</model>
+ <model usable='yes' vendor='IBM'>z10BC.2</model>
+ <model usable='yes' vendor='IBM'>z9EC-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z114</model>
+ <model usable='yes' vendor='IBM'>z890.3</model>
+ <model usable='yes' vendor='IBM'>z196-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2</model>
+ <model usable='yes' vendor='IBM'>z14.2</model>
+ <model usable='yes' vendor='IBM'>z990-base</model>
+ <model usable='yes' vendor='IBM'>z900.2</model>
+ <model usable='yes' vendor='IBM'>z890-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3</model>
+ <model usable='yes' vendor='IBM'>z14-base</model>
+ <model usable='yes' vendor='IBM'>z990.4-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z10BC-base</model>
+ <model usable='yes' vendor='IBM'>z13-base</model>
+ <model usable='yes' vendor='IBM'>z990.3-base</model>
+ <model usable='yes' vendor='IBM'>zEC12.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12</model>
+ <model usable='yes' vendor='IBM'>z890.3-base</model>
+ <model usable='yes' vendor='IBM'>z990.5</model>
+ <model usable='yes' vendor='IBM'>gen15b</model>
<model usable='no' vendor='unknown'>qemu</model>
</mode>
</cpu>
diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml b/tests/domaincapsdata/qemu_5.2.0.s390x.xml
index 760f514d7b..31ddbfbc75 100644
--- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml
@@ -85,79 +85,79 @@
<feature policy='require' name='cmm'/>
</mode>
<mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>z800-base</model>
- <model usable='yes' vendor='unknown'>z890.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2</model>
- <model usable='yes' vendor='unknown'>z13.2</model>
- <model usable='yes' vendor='unknown'>z990.5-base</model>
- <model usable='yes' vendor='unknown'>z9BC-base</model>
- <model usable='yes' vendor='unknown'>z890.2</model>
- <model usable='yes' vendor='unknown'>z890</model>
- <model usable='yes' vendor='unknown'>z9BC</model>
- <model usable='yes' vendor='unknown'>z13</model>
- <model usable='yes' vendor='unknown'>z196</model>
- <model usable='yes' vendor='unknown'>z13s</model>
- <model usable='yes' vendor='unknown'>z990.3</model>
- <model usable='yes' vendor='unknown'>z13s-base</model>
- <model usable='yes' vendor='unknown'>z9EC</model>
- <model usable='yes' vendor='unknown'>gen15a</model>
- <model usable='yes' vendor='unknown'>z14ZR1-base</model>
- <model usable='yes' vendor='unknown'>z14.2-base</model>
- <model usable='yes' vendor='unknown'>z900.3-base</model>
- <model usable='yes' vendor='unknown'>z13.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12-base</model>
- <model usable='yes' vendor='unknown'>z9BC.2-base</model>
- <model usable='yes' vendor='unknown'>z900.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3</model>
- <model usable='yes' vendor='unknown'>zEC12</model>
- <model usable='yes' vendor='unknown'>z900</model>
- <model usable='yes' vendor='unknown'>z114-base</model>
- <model usable='yes' vendor='unknown'>zEC12-base</model>
- <model usable='yes' vendor='unknown'>z10EC.2</model>
- <model usable='yes' vendor='unknown'>z10EC-base</model>
- <model usable='yes' vendor='unknown'>z900.3</model>
- <model usable='yes' vendor='unknown'>z14ZR1</model>
- <model usable='yes' vendor='unknown'>z10BC</model>
- <model usable='yes' vendor='unknown'>z10BC.2-base</model>
- <model usable='yes' vendor='unknown'>z9BC.2</model>
- <model usable='yes' vendor='unknown'>z990</model>
- <model usable='yes' vendor='unknown'>z990.2</model>
- <model usable='yes' vendor='unknown'>z14</model>
- <model usable='yes' vendor='unknown'>gen15b-base</model>
- <model usable='yes' vendor='unknown'>z990.4</model>
+ <model usable='yes' vendor='IBM'>z800-base</model>
+ <model usable='yes' vendor='IBM'>z890.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2</model>
+ <model usable='yes' vendor='IBM'>z13.2</model>
+ <model usable='yes' vendor='IBM'>z990.5-base</model>
+ <model usable='yes' vendor='IBM'>z9BC-base</model>
+ <model usable='yes' vendor='IBM'>z890.2</model>
+ <model usable='yes' vendor='IBM'>z890</model>
+ <model usable='yes' vendor='IBM'>z9BC</model>
+ <model usable='yes' vendor='IBM'>z13</model>
+ <model usable='yes' vendor='IBM'>z196</model>
+ <model usable='yes' vendor='IBM'>z13s</model>
+ <model usable='yes' vendor='IBM'>z990.3</model>
+ <model usable='yes' vendor='IBM'>z13s-base</model>
+ <model usable='yes' vendor='IBM'>z9EC</model>
+ <model usable='yes' vendor='IBM'>gen15a</model>
+ <model usable='yes' vendor='IBM'>z14ZR1-base</model>
+ <model usable='yes' vendor='IBM'>z14.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.3-base</model>
+ <model usable='yes' vendor='IBM'>z13.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3</model>
+ <model usable='yes' vendor='IBM'>zEC12</model>
+ <model usable='yes' vendor='IBM'>z900</model>
+ <model usable='yes' vendor='IBM'>z114-base</model>
+ <model usable='yes' vendor='IBM'>zEC12-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.2</model>
+ <model usable='yes' vendor='IBM'>z10EC-base</model>
+ <model usable='yes' vendor='IBM'>z900.3</model>
+ <model usable='yes' vendor='IBM'>z14ZR1</model>
+ <model usable='yes' vendor='IBM'>z10BC</model>
+ <model usable='yes' vendor='IBM'>z10BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2</model>
+ <model usable='yes' vendor='IBM'>z990</model>
+ <model usable='yes' vendor='IBM'>z990.2</model>
+ <model usable='yes' vendor='IBM'>z14</model>
+ <model usable='yes' vendor='IBM'>gen15b-base</model>
+ <model usable='yes' vendor='IBM'>z990.4</model>
<model usable='yes' vendor='unknown'>max</model>
- <model usable='yes' vendor='unknown'>z990.2-base</model>
- <model usable='yes' vendor='unknown'>z10EC.2-base</model>
- <model usable='yes' vendor='unknown'>gen15a-base</model>
- <model usable='yes' vendor='unknown'>z800</model>
- <model usable='yes' vendor='unknown'>z10EC</model>
- <model usable='yes' vendor='unknown'>zEC12.2</model>
- <model usable='yes' vendor='unknown'>z900-base</model>
- <model usable='yes' vendor='unknown'>z10BC.2</model>
- <model usable='yes' vendor='unknown'>z9EC-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3-base</model>
- <model usable='yes' vendor='unknown'>z114</model>
- <model usable='yes' vendor='unknown'>z890.3</model>
- <model usable='yes' vendor='unknown'>z196-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2</model>
- <model usable='yes' vendor='unknown'>z14.2</model>
- <model usable='yes' vendor='unknown'>z990-base</model>
- <model usable='yes' vendor='unknown'>z900.2</model>
- <model usable='yes' vendor='unknown'>z10EC.3</model>
- <model usable='yes' vendor='unknown'>z890-base</model>
- <model usable='yes' vendor='unknown'>z14-base</model>
- <model usable='yes' vendor='unknown'>z990.4-base</model>
- <model usable='yes' vendor='unknown'>z10EC.3-base</model>
- <model usable='yes' vendor='unknown'>z10BC-base</model>
- <model usable='yes' vendor='unknown'>z13-base</model>
- <model usable='yes' vendor='unknown'>z990.3-base</model>
- <model usable='yes' vendor='unknown'>zEC12.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12</model>
- <model usable='yes' vendor='unknown'>z890.3-base</model>
- <model usable='yes' vendor='unknown'>z990.5</model>
- <model usable='yes' vendor='unknown'>gen15b</model>
+ <model usable='yes' vendor='IBM'>z990.2-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.2-base</model>
+ <model usable='yes' vendor='IBM'>gen15a-base</model>
+ <model usable='yes' vendor='IBM'>z800</model>
+ <model usable='yes' vendor='IBM'>z10EC</model>
+ <model usable='yes' vendor='IBM'>zEC12.2</model>
+ <model usable='yes' vendor='IBM'>z900-base</model>
+ <model usable='yes' vendor='IBM'>z10BC.2</model>
+ <model usable='yes' vendor='IBM'>z9EC-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z114</model>
+ <model usable='yes' vendor='IBM'>z890.3</model>
+ <model usable='yes' vendor='IBM'>z196-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2</model>
+ <model usable='yes' vendor='IBM'>z14.2</model>
+ <model usable='yes' vendor='IBM'>z990-base</model>
+ <model usable='yes' vendor='IBM'>z900.2</model>
+ <model usable='yes' vendor='IBM'>z10EC.3</model>
+ <model usable='yes' vendor='IBM'>z890-base</model>
+ <model usable='yes' vendor='IBM'>z14-base</model>
+ <model usable='yes' vendor='IBM'>z990.4-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z10BC-base</model>
+ <model usable='yes' vendor='IBM'>z13-base</model>
+ <model usable='yes' vendor='IBM'>z990.3-base</model>
+ <model usable='yes' vendor='IBM'>zEC12.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12</model>
+ <model usable='yes' vendor='IBM'>z890.3-base</model>
+ <model usable='yes' vendor='IBM'>z990.5</model>
+ <model usable='yes' vendor='IBM'>gen15b</model>
<model usable='yes' vendor='unknown'>qemu</model>
</mode>
</cpu>
diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml b/tests/domaincapsdata/qemu_6.0.0.s390x.xml
index b1968668db..1cb19e051b 100644
--- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml
@@ -86,79 +86,79 @@
<feature policy='require' name='cmm'/>
</mode>
<mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>z800-base</model>
- <model usable='yes' vendor='unknown'>z890.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2</model>
- <model usable='yes' vendor='unknown'>z13.2</model>
- <model usable='yes' vendor='unknown'>z990.5-base</model>
- <model usable='yes' vendor='unknown'>z9BC-base</model>
- <model usable='yes' vendor='unknown'>z890.2</model>
- <model usable='yes' vendor='unknown'>z890</model>
- <model usable='yes' vendor='unknown'>z9BC</model>
- <model usable='yes' vendor='unknown'>z13</model>
- <model usable='yes' vendor='unknown'>z196</model>
- <model usable='yes' vendor='unknown'>z13s</model>
- <model usable='yes' vendor='unknown'>z990.3</model>
- <model usable='yes' vendor='unknown'>z13s-base</model>
- <model usable='yes' vendor='unknown'>z9EC</model>
- <model usable='yes' vendor='unknown'>gen15a</model>
- <model usable='yes' vendor='unknown'>z14ZR1-base</model>
- <model usable='yes' vendor='unknown'>z14.2-base</model>
- <model usable='yes' vendor='unknown'>z900.3-base</model>
- <model usable='yes' vendor='unknown'>z13.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12-base</model>
- <model usable='yes' vendor='unknown'>z9BC.2-base</model>
- <model usable='yes' vendor='unknown'>z900.2-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3</model>
- <model usable='yes' vendor='unknown'>zEC12</model>
- <model usable='yes' vendor='unknown'>z900</model>
- <model usable='yes' vendor='unknown'>z114-base</model>
- <model usable='yes' vendor='unknown'>zEC12-base</model>
- <model usable='yes' vendor='unknown'>z10EC.2</model>
- <model usable='yes' vendor='unknown'>z10EC-base</model>
- <model usable='yes' vendor='unknown'>z900.3</model>
- <model usable='yes' vendor='unknown'>z14ZR1</model>
- <model usable='yes' vendor='unknown'>z10BC</model>
- <model usable='yes' vendor='unknown'>z10BC.2-base</model>
- <model usable='yes' vendor='unknown'>z9BC.2</model>
- <model usable='yes' vendor='unknown'>z990</model>
- <model usable='yes' vendor='unknown'>z990.2</model>
- <model usable='yes' vendor='unknown'>z14</model>
- <model usable='yes' vendor='unknown'>gen15b-base</model>
- <model usable='yes' vendor='unknown'>z990.4</model>
+ <model usable='yes' vendor='IBM'>z800-base</model>
+ <model usable='yes' vendor='IBM'>z890.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2</model>
+ <model usable='yes' vendor='IBM'>z13.2</model>
+ <model usable='yes' vendor='IBM'>z990.5-base</model>
+ <model usable='yes' vendor='IBM'>z9BC-base</model>
+ <model usable='yes' vendor='IBM'>z890.2</model>
+ <model usable='yes' vendor='IBM'>z890</model>
+ <model usable='yes' vendor='IBM'>z9BC</model>
+ <model usable='yes' vendor='IBM'>z13</model>
+ <model usable='yes' vendor='IBM'>z196</model>
+ <model usable='yes' vendor='IBM'>z13s</model>
+ <model usable='yes' vendor='IBM'>z990.3</model>
+ <model usable='yes' vendor='IBM'>z13s-base</model>
+ <model usable='yes' vendor='IBM'>z9EC</model>
+ <model usable='yes' vendor='IBM'>gen15a</model>
+ <model usable='yes' vendor='IBM'>z14ZR1-base</model>
+ <model usable='yes' vendor='IBM'>z14.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.3-base</model>
+ <model usable='yes' vendor='IBM'>z13.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3</model>
+ <model usable='yes' vendor='IBM'>zEC12</model>
+ <model usable='yes' vendor='IBM'>z900</model>
+ <model usable='yes' vendor='IBM'>z114-base</model>
+ <model usable='yes' vendor='IBM'>zEC12-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.2</model>
+ <model usable='yes' vendor='IBM'>z10EC-base</model>
+ <model usable='yes' vendor='IBM'>z900.3</model>
+ <model usable='yes' vendor='IBM'>z14ZR1</model>
+ <model usable='yes' vendor='IBM'>z10BC</model>
+ <model usable='yes' vendor='IBM'>z10BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2</model>
+ <model usable='yes' vendor='IBM'>z990</model>
+ <model usable='yes' vendor='IBM'>z990.2</model>
+ <model usable='yes' vendor='IBM'>z14</model>
+ <model usable='yes' vendor='IBM'>gen15b-base</model>
+ <model usable='yes' vendor='IBM'>z990.4</model>
<model usable='yes' vendor='unknown'>max</model>
- <model usable='yes' vendor='unknown'>z10EC.2-base</model>
- <model usable='yes' vendor='unknown'>gen15a-base</model>
- <model usable='yes' vendor='unknown'>z800</model>
- <model usable='yes' vendor='unknown'>z10EC</model>
- <model usable='yes' vendor='unknown'>zEC12.2</model>
- <model usable='yes' vendor='unknown'>z990.2-base</model>
- <model usable='yes' vendor='unknown'>z900-base</model>
- <model usable='yes' vendor='unknown'>z10BC.2</model>
- <model usable='yes' vendor='unknown'>z9EC-base</model>
- <model usable='yes' vendor='unknown'>z9EC.3-base</model>
- <model usable='yes' vendor='unknown'>z114</model>
- <model usable='yes' vendor='unknown'>z890.3</model>
- <model usable='yes' vendor='unknown'>z196-base</model>
- <model usable='yes' vendor='unknown'>z9EC.2-base</model>
- <model usable='yes' vendor='unknown'>z196.2</model>
- <model usable='yes' vendor='unknown'>z14.2</model>
- <model usable='yes' vendor='unknown'>z990-base</model>
- <model usable='yes' vendor='unknown'>z900.2</model>
- <model usable='yes' vendor='unknown'>z890-base</model>
- <model usable='yes' vendor='unknown'>z10EC.3</model>
- <model usable='yes' vendor='unknown'>z14-base</model>
- <model usable='yes' vendor='unknown'>z990.4-base</model>
- <model usable='yes' vendor='unknown'>z10EC.3-base</model>
- <model usable='yes' vendor='unknown'>z10BC-base</model>
- <model usable='yes' vendor='unknown'>z13-base</model>
- <model usable='yes' vendor='unknown'>z990.3-base</model>
- <model usable='yes' vendor='unknown'>zEC12.2-base</model>
- <model usable='yes' vendor='unknown'>zBC12</model>
- <model usable='yes' vendor='unknown'>z890.3-base</model>
- <model usable='yes' vendor='unknown'>z990.5</model>
- <model usable='yes' vendor='unknown'>gen15b</model>
+ <model usable='yes' vendor='IBM'>z10EC.2-base</model>
+ <model usable='yes' vendor='IBM'>gen15a-base</model>
+ <model usable='yes' vendor='IBM'>z800</model>
+ <model usable='yes' vendor='IBM'>z10EC</model>
+ <model usable='yes' vendor='IBM'>zEC12.2</model>
+ <model usable='yes' vendor='IBM'>z990.2-base</model>
+ <model usable='yes' vendor='IBM'>z900-base</model>
+ <model usable='yes' vendor='IBM'>z10BC.2</model>
+ <model usable='yes' vendor='IBM'>z9EC-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z114</model>
+ <model usable='yes' vendor='IBM'>z890.3</model>
+ <model usable='yes' vendor='IBM'>z196-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2-base</model>
+ <model usable='yes' vendor='IBM'>z196.2</model>
+ <model usable='yes' vendor='IBM'>z14.2</model>
+ <model usable='yes' vendor='IBM'>z990-base</model>
+ <model usable='yes' vendor='IBM'>z900.2</model>
+ <model usable='yes' vendor='IBM'>z890-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3</model>
+ <model usable='yes' vendor='IBM'>z14-base</model>
+ <model usable='yes' vendor='IBM'>z990.4-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z10BC-base</model>
+ <model usable='yes' vendor='IBM'>z13-base</model>
+ <model usable='yes' vendor='IBM'>z990.3-base</model>
+ <model usable='yes' vendor='IBM'>zEC12.2-base</model>
+ <model usable='yes' vendor='IBM'>zBC12</model>
+ <model usable='yes' vendor='IBM'>z890.3-base</model>
+ <model usable='yes' vendor='IBM'>z990.5</model>
+ <model usable='yes' vendor='IBM'>gen15b</model>
<model usable='yes' vendor='unknown'>qemu</model>
</mode>
</cpu>
--
2.31.1
3
3
When running "virsh domcapabilities" on a s390x host, all the CPU
models show up with vendor='unknown' - which sounds kind of weird
since the vendor of these mainframe CPUs is well known: IBM.
All CPUs starting with either "z" or "gen" match a real mainframe
CPU by IBM, so let's return the string "IBM" for those now.
The only remaining ones are now the artifical "qemu" and "max"
models from QEMU itself, so it should be OK to get an "unknown"
vendor for those two.
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
src/cpu/cpu_s390.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c
index d908a83928..7416ec6dc5 100644
--- a/src/cpu/cpu_s390.c
+++ b/src/cpu/cpu_s390.c
@@ -109,6 +109,16 @@ virCPUs390ValidateFeatures(virCPUDef *cpu)
}
+static const char *
+virCPUs390GetVendorForModel(const char *modelName)
+{
+ if (modelName[0] == 'z' || STREQLEN(modelName, "gen", 3))
+ return "IBM";
+
+ return NULL;
+}
+
+
struct cpuArchDriver cpuDriverS390 = {
.name = "s390",
.arch = archs,
@@ -119,4 +129,5 @@ struct cpuArchDriver cpuDriverS390 = {
.baseline = NULL,
.update = virCPUs390Update,
.validateFeatures = virCPUs390ValidateFeatures,
+ .getVendorForModel = virCPUs390GetVendorForModel,
};
--
2.31.1
2
2
*** BLURB HERE ***
Michal Prívozník (2):
virsh: Format -V output properly
virsh: Report iSCSI-direct backend in long version
tools/virsh.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--
2.37.4
2
3
Add option to skip cpu feature and model verification in libvirt and rely on qemu 'enforce' option
by manish.mishra 24 Nov '22
by manish.mishra 24 Nov '22
24 Nov '22
Hi Everyone,
We had a requirement to skip all CPU feature validations from libvirt and totally rely on Qemu for following reasons.
* As libvirt always lies behind in term of cpu feature management compare to qemu, so we may not be able to use all of the latest support provided by qemu till it is updated in libvirt too. For example like if new cpu features are added in qemu but not yet updated in libvirt.
* Libvirt does not support cpu model versioning as Qemu.
* Libvirt checks if a features is supported or not based on cpuid, a feature supported by host may not be supported by qemu or there can be some features which are emulated by Qemu so libvirt level checking does not make sense in those cases.
* Qemu already provide an option 'enforce' to validate if features with which vm is started is exactly same as one provided and nothing is silently dropped.
Basically we want another check option like 'qemu-enforce' which will skip all feature and cpu model verfications in libvirt and pass 'enforce' option to qemu. It will work similar to check 'none' i mean no check to verify if provide features are supported by host, also on top of that skip things like virCPUValidateFeatures where ever required.
I understand this is specific to just Qemu and libvirt has to take care for many other emulator, so wanted to check if something like that makes sense as it will be very useful for Qemu atleast. If so we can send a patch.
Thanks
Manish Mishra
4
31
Hi,
virDomainNetTypeSharesHostView[1] contains the logic where for some
interface types it swaps TX and RX values, because what TX from the
inside is RX on the outside and vice versa.
We observe a configuration where <interface type='ethernet' /> shows
swapped values in statistics, because, apparently, the values are
swapped once inside the kernel when going from the inside to the
outside, but not swapped second time because of the mentioned logic.
Is this a bug? Why in the virDomainNetTypeSharesHostView[1] ethernet is
marked as 'non-swapped'?
Maybe we need some more fine-grained way of determining whether to swap
value a second time?
Thanks,
Oleg
[1]:
https://gitlab.com/libvirt/libvirt/-/blob/master/src/conf/domain_conf.c#L29…
2
2
[libvirt PATCH] spec: libvirt-daemon: Add optional dependency on *-client
by Jiri Denemark 24 Nov '22
by Jiri Denemark 24 Nov '22
24 Nov '22
The libvirt-daemon subpackage contains libvirt-guests.sh script (used by
libvirt-guests service), which requires virsh to actually work. But
since dynamic libraries were separated from libvirt-client to
libvirt-libs more than 6 years ago, libvirt-daemon no longer requires
virsh to be installed. So unless libvirt-client is explicitly installed
(either manually or by installing the libvirt meta package),
libvirt-guests will not work.
Just adding libvirt-client as a dependency of libvirt-daemon would go
against the original idea behind splitting libvirt-client: users may not
want to install or use any client binaries on the host where the daemon
runs (either they just use various language bindings or access the
daemon remotely). To solve this we could possibly turn libvirt-daemon
into an empty package and separate the daemons and libvirt-guests into
subpackages to make sure we support both use cases, but marking
libvirt-client as Recommended for libvirt-daemon does the same job in a
much simpler way.
https://bugzilla.redhat.com/show_bug.cgi?id=2136591
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
libvirt.spec.in | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 0bbcdb8956..450f50f5b5 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -441,6 +441,12 @@ Summary: Server side daemon and supporting files for libvirt library
# The client side, i.e. shared libs are in a subpackage
Requires: %{name}-libs = %{version}-%{release}
+# The libvirt-guests.sh script requires virsh from libvirt-client subpackage,
+# but not every deployment wants to use libvirt-guests service. Using
+# Recommends here will install libvirt-client by default (if available), but
+# RPM won't complain if the package is unavailable, masked, or removed later.
+Recommends: %{name}-client = %{version}-%{release}
+
# netcat is needed on the server side so that clients that have
# libvirt < 6.9.0 can connect, but newer versions will prefer
# virt-ssh-helper. Making this a Recommends means that it gets
--
2.38.1
4
6
Hi All,
I've procrastinated long enough and finally decided to switch to modular daemons
in openSUSE Factory libvirt package. For the most part, the Factory spec file
mimics the upstream one. I enabled with_modular_daemons and would like to
confirm the results of my testing.
When upgrading an existing installation running the monolithic daemon, the
monolithic daemon is still enabled after the upgrade. I suppose this behavior is
expected, and fine IMO.
However, when installing the "modularized" packages on a system with no prior
installation, the monolithic daemon is still installed and potentially enabled
in posttrans. Having both the monolithic and modular daemons installed, along
with all associated systemd socket and service files, is a bit confusing to
users IMO. E.g. should one enable libvirtd sockets, virtqemud sockets, both?
Is the intention, over time, to remove the monolithic daemon? Perhaps we could
start by isolating the monolithic daemon in the libvirt-daemon subpackage and
moving the other daemons (virtproxyd, virtlogd, virtlockd, etc) to a new
subpackage? The modular daemons could then drop the libvirt-daemon dependency,
allowing installation without the monolithic daemon.
TIA for your comments.
Regards,
Jim
2
2
23 Nov '22
Our RPC calls can be divided into two groups: regular and high
priority. The latter can be then processed by so called high
priority worker threads. This is our way of defeating a
'deadlock' and allowing some RPCs to be processed even when all
(regular) worker threads are stuck. For instance: if all regular
worker threads get stuck when talking to QEMU on monitor, the
virDomainDestroy() can be processed by a high priority worker
thread(s) and thus unstuck those threads.
Now, this is all fine, except if users want to use virsh
non interactively:
virsh destroy $dom
This does a bit more - it needs to open a connection. And that
consists of multiple RPC calls: AUTH_LIST,
CONNECT_SUPPORTS_FEATURE, CONNECT_OPEN, and finally
CONNECT_REGISTER_CLOSE_CALLBACK. All of them are marked as high
priority except the last one. Therefore, virsh just sits there
with a partially open connection.
There's one requirement for high priority calls though: they can
not get stuck. Hopefully, the reason is obvious by now. And
looking into the server side implementation the
CONNECT_REGISTER_CLOSE_CALLBACK processing can't ever get stuck.
The only driver that implements the callback for public API is
Parallels (vz). And that can't block really.
And for virConnectUnregisterCloseCallback() it's the same story.
Therefore, both can be marked as high priority.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2143840
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/remote/remote_protocol.x | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 79ffc63f03..7dfb4548f4 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -6416,12 +6416,14 @@ enum remote_procedure {
/**
* @generate: none
+ * @priority: high
* @acl: connect:getattr
*/
REMOTE_PROC_CONNECT_REGISTER_CLOSE_CALLBACK = 360,
/**
* @generate: none
+ * @priority: high
* @acl: connect:getattr
*/
REMOTE_PROC_CONNECT_UNREGISTER_CLOSE_CALLBACK = 361,
--
2.37.4
2
1
[libvirt PATCH v2 1/1] qemu: fix vcpu clearing when multiple vcpu hotunplugs timeout
by Shaleen Bathla 22 Nov '22
by Shaleen Bathla 22 Nov '22
22 Nov '22
Problem:
libvirt has a 5 second timeout (generally) for hotplug/unplug
operations which can time out due to heavy load in guest.
vcpu hotunplug occurs one vcpu at a time.
But, if we perform hotplug-unplug repeatedly,
Case 1: qemu sends multiple timedout vcpu unplug notification before
libvirt processed first one.
Case 2: when attempting a hotplug, qemu finishes unplug of another cpu
libvirt waits for an async event notification from qemu regarding
successful vcpu delete.
qemu deletes its vcpu, vcpuinfo and sends notification to libvirt.
libvirt handles vcpu delete notification, and updates vcpuinfo
received from qemu in qemuDomainRefreshVcpuInfo().
qemu's vcpuinfo during refresh will not contain other deleted, sent vcpu
qemu's vcpuinfo will overwrite libvirt's vcpuinfo of the other pending
timedout vcpu(s) which qemu has deleted and notified libvirt.
The overwrite resets other timedout vcpu's alias to NULL and tid to 0.
The error is then seen when validating tid of vcpus.
Example error log:
"internal error: qemu didn't report thread id for vcpu 'XX'"
Solution:
Clear vcpu alias of only the vcpu that hotplug API calls.
Other vcpu-alias won't get reset when vcpuinfo refresh occurs.
Validation is also done for corresponding vcpus only, not all.
Co-authored-by: Partha Satapathy <partha.satapathy(a)oracle.com>
Signed-off-by: Shaleen Bathla <shaleen.bathla(a)oracle.com>
---
src/qemu/qemu_domain.c | 6 ++++--
src/qemu/qemu_hotplug.c | 39 +++++++++++++++++++++++++++++++--------
2 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 3435da5bdc4c..6ae842d0e32f 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -9773,8 +9773,10 @@ qemuDomainRefreshVcpuInfo(virDomainObj *vm,
vcpupriv->vcpus = info[i].vcpus;
VIR_FREE(vcpupriv->type);
vcpupriv->type = g_steal_pointer(&info[i].type);
- VIR_FREE(vcpupriv->alias);
- vcpupriv->alias = g_steal_pointer(&info[i].alias);
+ if (info[i].alias) {
+ VIR_FREE(vcpupriv->alias);
+ vcpupriv->alias = g_steal_pointer(&info[i].alias);
+ }
virJSONValueFree(vcpupriv->props);
vcpupriv->props = g_steal_pointer(&info[i].props);
vcpupriv->enable_id = info[i].id;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index da92ced2f444..f11b90a220ac 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -6090,6 +6090,8 @@ qemuDomainRemoveVcpu(virDomainObj *vm,
unsigned int nvcpus = vcpupriv->vcpus;
virErrorPtr save_error = NULL;
size_t i;
+ bool hasVcpuPids = qemuDomainHasVcpuPids(vm);
+ bool rollback = false;
if (qemuDomainRefreshVcpuInfo(vm, VIR_ASYNC_JOB_NONE, false) < 0)
return -1;
@@ -6097,14 +6099,26 @@ qemuDomainRemoveVcpu(virDomainObj *vm,
/* validation requires us to set the expected state prior to calling it */
for (i = vcpu; i < vcpu + nvcpus; i++) {
vcpuinfo = virDomainDefGetVcpu(vm->def, i);
+ vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpuinfo);
+
vcpuinfo->online = false;
+ VIR_FREE(vcpupriv->alias); /* clear vcpu alias of only this vcpu */
+
+ if (vcpupriv->tid != 0) {
+ if (hasVcpuPids)
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("qemu reported thread id for inactive vcpu '%zu'"), i);
+
+ rollback = true;
+ break;
+ }
}
- if (qemuDomainValidateVcpuInfo(vm) < 0) {
+ if (rollback) {
/* rollback vcpu count if the setting has failed */
virDomainAuditVcpu(vm, oldvcpus, oldvcpus - nvcpus, "update", false);
- for (i = vcpu; i < vcpu + nvcpus; i++) {
+ for (; i >= vcpu; i--) {
vcpuinfo = virDomainDefGetVcpu(vm->def, i);
vcpuinfo->online = true;
}
@@ -6141,6 +6155,9 @@ qemuDomainRemoveVcpuAlias(virDomainObj *vm,
return;
}
}
+
+ VIR_DEBUG("%s not found in vcpulist of domain %s ",
+ alias, vm->def->name);
}
@@ -6209,6 +6226,7 @@ qemuDomainHotplugAddVcpu(virQEMUDriver *driver,
int rc;
int oldvcpus = virDomainDefGetVcpus(vm->def);
size_t i;
+ bool hasVcpuPids = qemuDomainHasVcpuPids(vm);
if (!qemuDomainSupportsNewVcpuHotplug(vm)) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
@@ -6245,14 +6263,19 @@ qemuDomainHotplugAddVcpu(virQEMUDriver *driver,
vcpuinfo->online = true;
- if (vcpupriv->tid > 0 &&
- qemuProcessSetupVcpu(vm, i, true) < 0)
- return -1;
+ if (vcpupriv->tid > 0) {
+ if (qemuProcessSetupVcpu(vm, i, true) < 0) {
+ return -1;
+ }
+ } else {
+ if (hasVcpuPids) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("qemu didn't report thread id for vcpu '%zu'"), i);
+ return -1;
+ }
+ }
}
- if (qemuDomainValidateVcpuInfo(vm) < 0)
- return -1;
-
qemuDomainVcpuPersistOrder(vm->def);
if (virDomainObjSave(vm, driver->xmlopt, cfg->stateDir) < 0)
--
2.31.1
V1 Patch :
https://listman.redhat.com/archives/libvir-list/2022-November/235470.html
V1 Patch Review comments :
https://listman.redhat.com/archives/libvir-list/2022-November/235534.html
Changes in V2 since V1:
- Patch addresses review comments from Peter Krempa.
- Validation is done for per cpu hotplug entity instead of all
2
2
Peter Krempa (5):
internal: Refuse values exceeding range of 'unsigned int' in
virCheckFlags
virsh: vol-create-as: Use 'unsigned int' for flags
qemu: processGuestPanicEvent: Use 'unsigned int' for flags
qemu: migration: Use 'unsigned int' for flags
libxl: migration: Use 'unsigned int' for flags
src/internal.h | 22 +++++++--
src/libxl/libxl_migration.c | 4 +-
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_migration.c | 82 ++++++++++++++++----------------
src/qemu/qemu_migration.h | 10 ++--
src/qemu/qemu_migration_params.c | 6 +--
src/qemu/qemu_migration_params.h | 4 +-
tools/virsh-volume.c | 2 +-
8 files changed, 73 insertions(+), 59 deletions(-)
--
2.37.3
2
6
22 Nov '22
Inside of qemuTPMEmulatorBuildCommand() there are two calls to
qemuTPMSetupEncryption() which simply ignore returned error. This
is suboptimal because then we rely on swtpm binary reporting a
generic error (something among invalid arguments) while an error
reported by qemuTPMSetupEncryption() is more specific.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_tpm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index 15ee7db757..502a77b5b3 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -635,7 +635,12 @@ qemuTPMEmulatorBuildCommand(virDomainTPMDef *tpm,
}
pwdfile_fd = qemuTPMSetupEncryption(tpm->data.emulator.secretuuid, cmd);
+ if (pwdfile_fd < 0)
+ goto error;
+
migpwdfile_fd = qemuTPMSetupEncryption(tpm->data.emulator.secretuuid, cmd);
+ if (migpwdfile_fd < 0)
+ goto error;
virCommandAddArg(cmd, "--key");
virCommandAddArgFormat(cmd, "pwdfd=%d,mode=aes-256-cbc", pwdfile_fd);
--
2.37.4
2
1
22 Nov '22
From: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
For the handling of usb we already allow plenty of read access,
but so far /sys/bus/usb/devices only needed read access to the directory
to enumerate the symlinks in there that point to the actual entries via
relative links to ../../../devices/.
But in more recent systemd with updated libraries a program might do
getattr calls on those symlinks. And while symlinks in apparmor usually
do not matter, as it is the effective target of an access that has to be
allowed, here the getattr calls are on the links themselves.
On USB hostdev usage that causes a set of denials like:
apparmor="DENIED" operation="getattr" class="file"
name="/sys/bus/usb/devices/usb1" comm="qemu-system-x86"
requested_mask="r" denied_mask="r" ...
It is safe to read the links, therefore add a rule to allow it to
the block of rules that covers the usb related access.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
src/security/apparmor/libvirt-qemu | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
index 02ee273e7e..d0289b8943 100644
--- a/src/security/apparmor/libvirt-qemu
+++ b/src/security/apparmor/libvirt-qemu
@@ -42,6 +42,7 @@
# For hostdev access. The actual devices will be added dynamically
/sys/bus/usb/devices/ r,
+ /sys/bus/usb/devices/* r,
/sys/devices/**/usb[0-9]*/** r,
# libusb needs udev data about usb devices (~equal to content of lsusb -v)
/run/udev/data/+usb* r,
--
2.38.1
3
4
22 Nov '22
Use same style in the 'struct option' as:
struct option opt[] = {
{ a, b },
{ a, b },
...
{ a, b },
};
diff to v1:
* use the same style in all the 'struct option'
Signed-off-by: Jiang Jiacheng <jiangjiacheng(a)huawei.com>
---
examples/c/domain/domtop.c | 10 +++++-----
examples/c/domain/suspend.c | 10 +++++-----
src/locking/lock_daemon.c | 12 ++++++------
src/logging/log_daemon.c | 12 ++++++------
src/remote/remote_daemon.c | 14 +++++++-------
src/security/virt-aa-helper.c | 22 +++++++++++-----------
tools/virsh.c | 24 ++++++++++++------------
tools/virt-admin.c | 14 +++++++-------
tools/virt-host-validate.c | 8 ++++----
tools/virt-login-shell-helper.c | 6 +++---
tools/virt-pki-query-dn.c | 6 +++---
11 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/examples/c/domain/domtop.c b/examples/c/domain/domtop.c
index 5228445b7c..dd35ec8661 100644
--- a/examples/c/domain/domtop.c
+++ b/examples/c/domain/domtop.c
@@ -86,11 +86,11 @@ parse_argv(int argc, char *argv[],
unsigned long val;
char *p;
struct option opt[] = {
- {"debug", no_argument, NULL, 'd'},
- {"help", no_argument, NULL, 'h'},
- {"connect", required_argument, NULL, 'c'},
- {"delay", required_argument, NULL, 'D'},
- {NULL, 0, NULL, 0}
+ { "debug", no_argument, NULL, 'd' },
+ { "help", no_argument, NULL, 'h' },
+ { "connect", required_argument, NULL, 'c' },
+ { "delay", required_argument, NULL, 'D' },
+ { NULL, 0, NULL, 0 },
};
while ((arg = getopt_long(argc, argv, "+:dhc:D:", opt, NULL)) != -1) {
diff --git a/examples/c/domain/suspend.c b/examples/c/domain/suspend.c
index 3ff24f6861..6e0bbd5597 100644
--- a/examples/c/domain/suspend.c
+++ b/examples/c/domain/suspend.c
@@ -76,11 +76,11 @@ parse_argv(int argc, char *argv[],
unsigned long val;
char *p;
struct option opt[] = {
- {"debug", no_argument, NULL, 'd'},
- {"help", no_argument, NULL, 'h'},
- {"connect", required_argument, NULL, 'c'},
- {"seconds", required_argument, NULL, 's'},
- {NULL, 0, NULL, 0}
+ { "debug", no_argument, NULL, 'd' },
+ { "help", no_argument, NULL, 'h' },
+ { "connect", required_argument, NULL, 'c' },
+ { "seconds", required_argument, NULL, 's' },
+ { NULL, 0, NULL, 0 },
};
while ((arg = getopt_long(argc, argv, "+:dhc:s:", opt, NULL)) != -1) {
diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index c997d327c4..5eed6b7c26 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -809,14 +809,14 @@ int main(int argc, char **argv) {
int rv;
struct option opts[] = {
- { "verbose", no_argument, &verbose, 'v'},
- { "daemon", no_argument, &godaemon, 'd'},
- { "config", required_argument, NULL, 'f'},
- { "timeout", required_argument, NULL, 't'},
- { "pid-file", required_argument, NULL, 'p'},
+ { "verbose", no_argument, &verbose, 'v' },
+ { "daemon", no_argument, &godaemon, 'd' },
+ { "config", required_argument, NULL, 'f' },
+ { "timeout", required_argument, NULL, 't' },
+ { "pid-file", required_argument, NULL, 'p' },
{ "version", no_argument, NULL, 'V' },
{ "help", no_argument, NULL, 'h' },
- {0, 0, 0, 0}
+ { 0, 0, 0, 0 },
};
privileged = geteuid() == 0;
diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c
index 00fc4148fd..9b70ffad2f 100644
--- a/src/logging/log_daemon.c
+++ b/src/logging/log_daemon.c
@@ -613,14 +613,14 @@ int main(int argc, char **argv) {
int rv;
struct option opts[] = {
- { "verbose", no_argument, &verbose, 'v'},
- { "daemon", no_argument, &godaemon, 'd'},
- { "config", required_argument, NULL, 'f'},
- { "timeout", required_argument, NULL, 't'},
- { "pid-file", required_argument, NULL, 'p'},
+ { "verbose", no_argument, &verbose, 'v' },
+ { "daemon", no_argument, &godaemon, 'd' },
+ { "config", required_argument, NULL, 'f' },
+ { "timeout", required_argument, NULL, 't' },
+ { "pid-file", required_argument, NULL, 'p' },
{ "version", no_argument, NULL, 'V' },
{ "help", no_argument, NULL, 'h' },
- {0, 0, 0, 0}
+ { 0, 0, 0, 0 },
};
privileged = geteuid() == 0;
diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
index f369d09d35..dd9344168b 100644
--- a/src/remote/remote_daemon.c
+++ b/src/remote/remote_daemon.c
@@ -807,17 +807,17 @@ int main(int argc, char **argv) {
mode_t old_umask;
struct option opts[] = {
- { "verbose", no_argument, &verbose, 'v'},
- { "daemon", no_argument, &godaemon, 'd'},
+ { "verbose", no_argument, &verbose, 'v' },
+ { "daemon", no_argument, &godaemon, 'd' },
#if defined(WITH_IP) && defined(LIBVIRTD)
- { "listen", no_argument, &ipsock, 'l'},
+ { "listen", no_argument, &ipsock, 'l' },
#endif /* !(WITH_IP && LIBVIRTD) */
- { "config", required_argument, NULL, 'f'},
- { "timeout", required_argument, NULL, 't'},
- { "pid-file", required_argument, NULL, 'p'},
+ { "config", required_argument, NULL, 'f' },
+ { "timeout", required_argument, NULL, 't' },
+ { "pid-file", required_argument, NULL, 'p' },
{ "version", no_argument, NULL, 'V' },
{ "help", no_argument, NULL, 'h' },
- {0, 0, 0, 0}
+ { 0, 0, 0, 0 },
};
if (virGettextInitialize() < 0 ||
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index a15971b9bb..53a1cd1048 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1337,17 +1337,17 @@ vahParseArgv(vahControl * ctl, int argc, char **argv)
{
int arg, idx = 0;
struct option opt[] = {
- {"add", 0, 0, 'a'},
- {"create", 0, 0, 'c'},
- {"dryrun", 0, 0, 'd'},
- {"delete", 0, 0, 'D'},
- {"add-file", 0, 0, 'f'},
- {"append-file", 0, 0, 'F'},
- {"help", 0, 0, 'h'},
- {"replace", 0, 0, 'r'},
- {"remove", 0, 0, 'R'},
- {"uuid", 1, 0, 'u'},
- {0, 0, 0, 0}
+ { "add", 0, 0, 'a' },
+ { "create", 0, 0, 'c' },
+ { "dryrun", 0, 0, 'd' },
+ { "delete", 0, 0, 'D' },
+ { "add-file", 0, 0, 'f' },
+ { "append-file", 0, 0, 'F' },
+ { "help", 0, 0, 'h' },
+ { "replace", 0, 0, 'r' },
+ { "remove", 0, 0, 'R' },
+ { "uuid", 1, 0, 'u' },
+ { 0, 0, 0, 0 },
};
while ((arg = getopt_long(argc, argv, "acdDhrRH:b:u:p:f:F:", opt,
diff --git a/tools/virsh.c b/tools/virsh.c
index b37d2ce12f..5696941550 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -638,18 +638,18 @@ virshParseArgv(vshControl *ctl, int argc, char **argv)
int longindex = -1;
virshControl *priv = ctl->privData;
struct option opt[] = {
- {"connect", required_argument, NULL, 'c'},
- {"debug", required_argument, NULL, 'd'},
- {"escape", required_argument, NULL, 'e'},
- {"help", no_argument, NULL, 'h'},
- {"keepalive-interval", required_argument, NULL, 'k'},
- {"keepalive-count", required_argument, NULL, 'K'},
- {"log", required_argument, NULL, 'l'},
- {"quiet", no_argument, NULL, 'q'},
- {"readonly", no_argument, NULL, 'r'},
- {"timing", no_argument, NULL, 't'},
- {"version", optional_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
+ { "connect", required_argument, NULL, 'c' },
+ { "debug", required_argument, NULL, 'd' },
+ { "escape", required_argument, NULL, 'e' },
+ { "help", no_argument, NULL, 'h' },
+ { "keepalive-interval", required_argument, NULL, 'k' },
+ { "keepalive-count", required_argument, NULL, 'K' },
+ { "log", required_argument, NULL, 'l' },
+ { "quiet", no_argument, NULL, 'q' },
+ { "readonly", no_argument, NULL, 'r' },
+ { "timing", no_argument, NULL, 't' },
+ { "version", optional_argument, NULL, 'v' },
+ { NULL, 0, NULL, 0 },
};
/* Standard (non-command) options. The leading + ensures that no
diff --git a/tools/virt-admin.c b/tools/virt-admin.c
index 11ba242742..85b010b95f 100644
--- a/tools/virt-admin.c
+++ b/tools/virt-admin.c
@@ -1318,13 +1318,13 @@ vshAdmParseArgv(vshControl *ctl, int argc, char **argv)
size_t i;
int longindex = -1;
struct option opt[] = {
- {"connect", required_argument, NULL, 'c'},
- {"debug", required_argument, NULL, 'd'},
- {"help", no_argument, NULL, 'h'},
- {"log", required_argument, NULL, 'l'},
- {"quiet", no_argument, NULL, 'q'},
- {"version", optional_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
+ { "connect", required_argument, NULL, 'c' },
+ { "debug", required_argument, NULL, 'd' },
+ { "help", no_argument, NULL, 'h' },
+ { "log", required_argument, NULL, 'l' },
+ { "quiet", no_argument, NULL, 'q' },
+ { "version", optional_argument, NULL, 'v' },
+ { NULL, 0, NULL, 0 },
};
/* Standard (non-command) options. The leading + ensures that no
diff --git a/tools/virt-host-validate.c b/tools/virt-host-validate.c
index 4dae97910a..52ca729f85 100644
--- a/tools/virt-host-validate.c
+++ b/tools/virt-host-validate.c
@@ -73,10 +73,10 @@ show_version(FILE *out, const char *argv0)
}
static const struct option argOptions[] = {
- { "help", 0, NULL, 'h', },
- { "version", 0, NULL, 'v', },
- { "quiet", 0, NULL, 'q', },
- { NULL, 0, NULL, '\0', }
+ { "help", 0, NULL, 'h' },
+ { "version", 0, NULL, 'v' },
+ { "quiet", 0, NULL, 'q' },
+ { NULL, 0, NULL, '\0' },
};
int
diff --git a/tools/virt-login-shell-helper.c b/tools/virt-login-shell-helper.c
index 3f8757e496..8feeb8f0fe 100644
--- a/tools/virt-login-shell-helper.c
+++ b/tools/virt-login-shell-helper.c
@@ -179,9 +179,9 @@ main(int argc, char **argv)
bool autoshell = false;
struct option opt[] = {
- {"help", no_argument, NULL, 'h'},
- {"version", optional_argument, NULL, 'V'},
- {NULL, 0, NULL, 0}
+ { "help", no_argument, NULL, 'h' },
+ { "version", optional_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 },
};
if (virInitialize() < 0) {
fprintf(stderr, _("Failed to initialize libvirt error handling"));
diff --git a/tools/virt-pki-query-dn.c b/tools/virt-pki-query-dn.c
index ee3783c1b2..2d7849feb7 100644
--- a/tools/virt-pki-query-dn.c
+++ b/tools/virt-pki-query-dn.c
@@ -61,9 +61,9 @@ main(int argc,
int rv = 0;
struct option opt[] = {
- {"help", no_argument, NULL, 'h'},
- {"version", optional_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
+ { "help", no_argument, NULL, 'h' },
+ { "version", optional_argument, NULL, 'v' },
+ { NULL, 0, NULL, 0 },
};
if (virGettextInitialize() < 0)
--
2.33.0
2
1
22 Nov '22
When running virsh snapshot-* command, such as
snapshot-create-as / snapshot-delete, it prints a result message.
On the other hand virsh snapshot-revert command doesn't print a result
message.
So, This patch fixes to add message when running virsh snapshot-revert
command.
---
# virsh snapshot-create-as vm1 test1
Domain snapshot test01 created
# virsh snapshot-revert vm1 test1
# virsh snapshot-delete vm1 test1
Domain snapshot test01 deleted
#
---
Signed-off-by: Haruka Ohata <ohata.haruka(a)fujitsu.com>
---
tests/virsh-snapshot | 3 +++
tools/virsh-snapshot.c | 1 +
2 files changed, 4 insertions(+)
diff --git a/tests/virsh-snapshot b/tests/virsh-snapshot
index 4c64bb537b..b09273917b 100755
--- a/tests/virsh-snapshot
+++ b/tests/virsh-snapshot
@@ -100,11 +100,14 @@ Domain snapshot s1 created
Domain snapshot s3 created
Domain snapshot s2 created
+Domain snapshot s3 reverted
Domain snapshot s6 created
Domain snapshot s5 created
+Domain snapshot s6 reverted
Domain snapshot s4 created
+Domain snapshot s1 reverted
Domain snapshot s7 created
Domain snapshot s8 created
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 8fa64ba903..6a6c92d0a3 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -1783,6 +1783,7 @@ cmdDomainSnapshotRevert(vshControl *ctl, const vshCmd *cmd)
result = virDomainRevertToSnapshot(snapshot, flags);
}
+ vshPrintExtra(ctl, _("Domain snapshot %s reverted\n"), name);
return result >= 0;
}
--
2.38.1
2
1
[libvirt PATCH 0/1] DO NOT MERGE: RFC: targetted usage of clang-format
by Daniel P. Berrangé 21 Nov '22
by Daniel P. Berrangé 21 Nov '22
21 Nov '22
While we have a code style, it is not perfectly applied across the code
base because its impossible for humans to manage that without using
automated tooling. clang-format is the closest we'll get to a code
formatter we could use, but still it would reformat quite alot of our
code.
I discovered that '/* clang-format off */' can be used to stop it from
reformatting sections of code. It is not practical to add that comment
around all places we don't want touched. I thought we could perhaps
use it as a way to limit clang-format to merely do sorting & regrouping
of #include statements though.
This change illustrates what that would look like for the src/util
directory, so we can consider whuether it is worth it.
I've included a mark.pl script that I usd to auto-add the magic
comment. It gets it wrong sometimes, so needs inspection. If we
did decide to use this, we would need the magic comment in every
existing source file.
Then there is the question about new source files. If a contributor
forgets to add the comment, then entire new source file will be
processed by clang-format. This might be desirable. If so, we will
need to fully expand the .clang-format config file to match ou4r
desired style. Right now I only recorded include file rules.
Or we could just wrong a dumb script to do #include sorting
ourselves and carry on ignoring clang-format.
I'm pretty undecided myself.
Daniel P. Berrangé (1):
DO NOT MERGE: use clang-format for sorting #include statement
.clang-format | 32 +++++++++++++++++++++++++
mark.pl | 41 ++++++++++++++++++++++++++++++++
src/util/glibcompat.c | 2 ++
src/util/glibcompat.h | 4 +++-
src/util/iohelper.c | 10 ++++----
src/util/viralloc.c | 5 +++-
src/util/viralloc.h | 2 ++
src/util/virarch.c | 4 +++-
src/util/virarch.h | 2 ++
src/util/virarptable.c | 2 ++
src/util/virarptable.h | 2 ++
src/util/viraudit.c | 6 +++--
src/util/viraudit.h | 2 ++
src/util/virauth.c | 13 ++++++----
src/util/virauth.h | 2 ++
src/util/virauthconfig.c | 6 +++--
src/util/virauthconfig.h | 2 ++
src/util/virbitmap.c | 5 +++-
src/util/virbitmap.h | 5 ++--
src/util/virbpf.c | 5 +++-
src/util/virbpf.h | 2 ++
src/util/virbuffer.c | 2 ++
src/util/virbuffer.h | 3 ++-
src/util/virccw.c | 4 ++++
src/util/virccw.h | 2 ++
src/util/vircgroup.c | 15 ++++++------
src/util/vircgroup.h | 2 ++
src/util/vircgroupbackend.c | 2 ++
src/util/vircgroupbackend.h | 3 ++-
src/util/vircgrouppriv.h | 2 ++
src/util/vircgroupv1.c | 11 +++++----
src/util/vircgroupv1.h | 2 ++
src/util/vircgroupv2.c | 5 ++--
src/util/vircgroupv2.h | 2 ++
src/util/vircgroupv2devices.c | 5 ++--
src/util/vircgroupv2devices.h | 3 ++-
src/util/vircommand.c | 10 ++++----
src/util/vircommand.h | 2 ++
src/util/vircommandpriv.h | 2 ++
src/util/virconf.c | 20 +++++++++-------
src/util/virconf.h | 3 +++
src/util/vircrypto.c | 9 ++++---
src/util/vircrypto.h | 2 ++
src/util/virdaemon.c | 14 ++++++-----
src/util/virdaemon.h | 2 ++
src/util/virdevmapper.c | 15 +++++++-----
src/util/virdevmapper.h | 2 ++
src/util/virdnsmasq.c | 17 +++++++------
src/util/virdnsmasq.h | 2 ++
src/util/virebtables.c | 7 ++++--
src/util/virebtables.h | 2 ++
src/util/virendian.h | 3 +++
src/util/virenum.c | 2 ++
src/util/virenum.h | 2 ++
src/util/virerror.c | 5 +++-
src/util/virerror.h | 2 ++
src/util/virerrorpriv.h | 2 ++
src/util/virevent.c | 5 +++-
src/util/virevent.h | 2 ++
src/util/vireventglib.c | 5 +++-
src/util/vireventglib.h | 2 ++
src/util/vireventglibwatch.c | 3 +++
src/util/vireventglibwatch.h | 2 ++
src/util/vireventthread.c | 5 +++-
src/util/vireventthread.h | 5 +++-
src/util/virfcp.c | 7 +++---
src/util/virfcp.h | 2 ++
src/util/virfdstream.c | 19 ++++++++-------
src/util/virfdstream.h | 3 +++
src/util/virfile.c | 13 ++++++----
src/util/virfile.h | 2 ++
src/util/virfilecache.c | 13 +++++-----
src/util/virfilecache.h | 5 ++--
src/util/virfirewall.c | 9 ++++---
src/util/virfirewall.h | 4 +++-
src/util/virfirewalld.c | 11 +++++----
src/util/virfirewalld.h | 2 ++
src/util/virfirewalldpriv.h | 2 ++
src/util/virfirmware.c | 5 +++-
src/util/virfirmware.h | 2 ++
src/util/virgdbus.c | 4 +++-
src/util/virgdbus.h | 2 ++
src/util/virgettext.c | 4 +++-
src/util/virgettext.h | 2 ++
src/util/virgic.c | 6 ++++-
src/util/virgic.h | 2 ++
src/util/virglibutil.c | 2 ++
src/util/virglibutil.h | 2 ++
src/util/virhash.c | 8 ++++---
src/util/virhash.h | 2 ++
src/util/virhashcode.c | 5 +++-
src/util/virhashcode.h | 5 +++-
src/util/virhook.c | 16 ++++++++-----
src/util/virhook.h | 2 ++
src/util/virhostcpu.c | 12 ++++++----
src/util/virhostcpu.h | 1 +
src/util/virhostcpupriv.h | 2 ++
src/util/virhostmem.c | 14 ++++++-----
src/util/virhostmem.h | 2 ++
src/util/virhostuptime.c | 8 ++++---
src/util/virhostuptime.h | 2 ++
src/util/viridentity.c | 13 ++++++----
src/util/viridentity.h | 5 +++-
src/util/viridentitypriv.h | 2 ++
src/util/virinitctl.c | 7 ++++--
src/util/virinitctl.h | 2 ++
src/util/viriptables.c | 15 +++++++-----
src/util/viriptables.h | 4 +++-
src/util/viriscsi.c | 2 ++
src/util/viriscsi.h | 2 ++
src/util/virjson.c | 10 ++++----
src/util/virjson.h | 5 ++--
src/util/virkeycode.c | 6 ++++-
src/util/virkeycode.h | 2 ++
src/util/virkmod.c | 6 ++++-
src/util/virkmod.h | 2 ++
src/util/virlease.c | 8 ++++---
src/util/virlease.h | 2 ++
src/util/virlockspace.c | 13 ++++++----
src/util/virlockspace.h | 2 ++
src/util/virlog.c | 24 +++++++++++--------
src/util/virlog.h | 2 ++
src/util/virmacaddr.c | 4 +++-
src/util/virmacaddr.h | 2 ++
src/util/virmacmap.c | 9 ++++---
src/util/virmacmap.h | 2 ++
src/util/virmdev.c | 7 ++++--
src/util/virmdev.h | 4 +++-
src/util/virmodule.c | 5 +++-
src/util/virmodule.h | 2 ++
src/util/virnetdev.c | 24 +++++++++++--------
src/util/virnetdev.h | 9 ++++---
src/util/virnetdevbandwidth.c | 6 ++++-
src/util/virnetdevbandwidth.h | 2 ++
src/util/virnetdevbridge.c | 15 +++++++-----
src/util/virnetdevbridge.h | 2 ++
src/util/virnetdevip.c | 15 +++++++-----
src/util/virnetdevip.h | 2 ++
src/util/virnetdevmacvlan.c | 5 +++-
src/util/virnetdevmacvlan.h | 6 +++--
src/util/virnetdevmidonet.c | 3 +++
src/util/virnetdevmidonet.h | 1 +
src/util/virnetdevopenvswitch.c | 12 ++++++----
src/util/virnetdevopenvswitch.h | 4 +++-
src/util/virnetdevpriv.h | 2 ++
src/util/virnetdevtap.c | 22 ++++++++++-------
src/util/virnetdevtap.h | 4 +++-
src/util/virnetdevveth.c | 5 +++-
src/util/virnetdevveth.h | 2 ++
src/util/virnetdevvlan.c | 5 +++-
src/util/virnetdevvlan.h | 2 ++
src/util/virnetdevvportprofile.c | 5 +++-
src/util/virnetdevvportprofile.h | 6 +++--
src/util/virnetlink.c | 11 +++++----
src/util/virnetlink.h | 2 ++
src/util/virnodesuspend.c | 12 ++++++----
src/util/virnodesuspend.h | 2 ++
src/util/virnuma.c | 14 ++++++-----
src/util/virnuma.h | 1 +
src/util/virnvme.c | 7 ++++--
src/util/virnvme.h | 2 ++
src/util/virobject.c | 6 +++--
src/util/virobject.h | 4 +++-
src/util/virpci.c | 16 +++++++------
src/util/virpci.h | 4 +++-
src/util/virpcivpd.c | 8 ++++---
src/util/virpcivpd.h | 2 ++
src/util/virpcivpdpriv.h | 2 ++
src/util/virperf.c | 6 +++--
src/util/virperf.h | 2 ++
src/util/virpidfile.c | 11 +++++----
src/util/virpidfile.h | 3 +++
src/util/virpolkit.c | 10 +++++---
src/util/virpolkit.h | 2 ++
src/util/virportallocator.c | 9 ++++---
src/util/virportallocator.h | 2 ++
src/util/virprobe.h | 2 ++
src/util/virprocess.c | 13 +++++-----
src/util/virprocess.h | 2 ++
src/util/virqemu.c | 8 ++++---
src/util/virqemu.h | 2 ++
src/util/virrandom.c | 11 +++++----
src/util/virrandom.h | 2 ++
src/util/virresctrl.c | 8 ++++---
src/util/virresctrl.h | 5 ++--
src/util/virresctrlpriv.h | 2 ++
src/util/virrotatingfile.c | 3 +++
src/util/virrotatingfile.h | 2 ++
src/util/virscsi.c | 11 +++++----
src/util/virscsi.h | 2 ++
src/util/virscsihost.c | 6 ++++-
src/util/virscsihost.h | 2 ++
src/util/virscsivhost.c | 8 +++++--
src/util/virscsivhost.h | 2 ++
src/util/virseclabel.c | 5 +++-
src/util/virseclabel.h | 2 ++
src/util/virsecret.c | 5 +++-
src/util/virsecret.h | 5 ++--
src/util/virsecureerase.c | 2 ++
src/util/virsecureerase.h | 2 ++
src/util/virsocket.c | 9 ++++---
src/util/virsocket.h | 2 ++
src/util/virsocketaddr.c | 5 +++-
src/util/virsocketaddr.h | 2 ++
src/util/virstoragefile.c | 5 +++-
src/util/virstoragefile.h | 2 ++
src/util/virstring.c | 6 +++--
src/util/virstring.h | 2 ++
src/util/virsysinfo.c | 9 ++++---
src/util/virsysinfo.h | 2 ++
src/util/virsysinfopriv.h | 2 ++
src/util/virsystemd.c | 17 ++++++-------
src/util/virsystemd.h | 2 ++
src/util/virsystemdpriv.h | 2 ++
src/util/virthread.c | 3 ++-
src/util/virthread.h | 4 +++-
src/util/virthreadjob.c | 5 +++-
src/util/virthreadjob.h | 2 ++
src/util/virthreadpool.c | 5 +++-
src/util/virthreadpool.h | 2 ++
src/util/virtime.c | 5 +++-
src/util/virtime.h | 2 ++
src/util/virtpm.c | 11 +++++----
src/util/virtpm.h | 2 ++
src/util/virtypedparam-public.c | 4 +++-
src/util/virtypedparam.c | 5 +++-
src/util/virtypedparam.h | 2 ++
src/util/viruri.c | 4 +++-
src/util/viruri.h | 2 ++
src/util/virusb.c | 9 ++++---
src/util/virusb.h | 2 ++
src/util/virutil.c | 14 ++++++-----
src/util/virutil.h | 6 +++--
src/util/viruuid.c | 10 ++++----
src/util/viruuid.h | 1 +
src/util/virvhba.c | 5 +++-
src/util/virvhba.h | 2 ++
src/util/virvsock.c | 4 ++--
src/util/virvsock.h | 2 ++
src/util/virxdrdefs.h | 2 ++
src/util/virxml.c | 13 ++++++----
src/util/virxml.h | 7 +++---
242 files changed, 986 insertions(+), 367 deletions(-)
create mode 100644 .clang-format
create mode 100644 mark.pl
--
2.37.3
3
3
*** BLURB HERE ***
Jiang Jiacheng (2):
qemu: convert the flags type to unsigned long
coding-style: Use the same style in the same structure
src/locking/lock_daemon.c | 12 ++++++------
src/logging/log_daemon.c | 12 ++++++------
src/qemu/qemu_migration.c | 4 ++--
src/remote/remote_daemon.c | 14 +++++++-------
4 files changed, 21 insertions(+), 21 deletions(-)
--
2.33.0
3
4
On 32-bit arches, it's possible not only to request
-D_FILE_OFFSET_BITS=64 (which is always done with meson) but also
-D_TIME_BITS=64. With glibc, both of these affect what variant of
stat() or lstat() is called. With 64 bit time it's:
__stat64_time64() or __lstat64_time64(), respectively.
Fortunately, no other variant (__xstat(), __xstat64()) has
_time64 alternative and thus does not need similar treatment.
Similarly, musl is not affected by this.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/404
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Mind you, after this I still see two tests failing:
1) virnettlscontexttest
2) virnettlssessiontest
But I believe the problem is that GnuTLS on my 32bit RPi was not built
with -D_TIME_BITS=64 and thus when generating certificates and setting
their activation/expiry times I get the following errors:
TEST: virnettlscontexttest
1) TLS Context cacertreq.filename + servercertreq.filename ... libvirt: XML-RPC error : The server certificate servercertreq-ctx.pem is not yet active
FAILED
TEST: virnettlssessiontest
1) TLS Session servercertreq.filename + clientcertreq.filename ... libvirt: XML-RPC error : authentication failed: Failed to verify peer's certificate
FAILED
Setting of activation/expiry times is done by calling:
1) gnutls_x509_crt_set_activation_time(..., time_t act_time)
2) gnutls_x509_crt_set_expiration_time(..., time_t exp_time)
And this is how calling the first looks under disassembly:
7428: e51b1128 ldr r1, [fp, #-296] ; 0xfffffed8
742c: e14b2dd4 ldrd r2, [fp, #-212] ; 0xffffff2c
7430: e1a00001 mov r0, r1
7434: ebfff23d bl 3d30 <gnutls_x509_crt_set_activation_time@plt>
Now, ldrd instruction modifies both r2 and r3 by loading 4+4 bytes from
a memory address [1]. But the first thing that
gnutls_x509_crt_set_activation_time() does is overwriting r3 register:
000fb4a0 <gnutls_x509_crt_set_activation_time>:
fb4a0: e52de004 push {lr} ; (str lr, [sp, #-4]!)
fb4a4: e250c000 subs ip, r0, #0
fb4a8: e59f3080 ldr r3, [pc, #128] ; fb530 <gnutls_x509_crt_set_activation_time+0x90>
fb4ac: e24dd00c sub sp, sp, #12
fb4b0: e08f3003 add r3, pc, r3
fb4b4: 0a000009 beq fb4e0 <gnutls_x509_crt_set_activation_time+0x40>
With 32-bit time_t the disassembly looks a bit different:
73e4: e51b3114 ldr r3, [fp, #-276] ; 0xfffffeec
73e8: e51b10f4 ldr r1, [fp, #-244] ; 0xffffff0c
73ec: e1a00003 mov r0, r3
73f0: ebfff250 bl 3d38 <gnutls_x509_crt_set_activation_time@plt>
1: It should be 'ldrd r2, r3, $memAddr' but the second register is
implied by the first one, so it can be shortened:
https://developer.arm.com/documentation/ddi0406/c/Application-Level-Archite…
tests/virmockstathelpers.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tests/virmockstathelpers.c b/tests/virmockstathelpers.c
index 39e270eaac..5b1f3b08a7 100644
--- a/tests/virmockstathelpers.c
+++ b/tests/virmockstathelpers.c
@@ -54,6 +54,10 @@
* Unfortunately, because we are trying to mock replace the C library,
* we need to know about this internal impl detail.
*
+ * Furthermore, support for 64-bit time can be enabled, which on 32-bit
+ * systems with glibc overwrites stat64() to __stat64_time64() and lstat64()
+ * to __lstat64_time64().
+ *
* On macOS stat() and lstat() are resolved to _stat$INODE64 and
* _lstat$INODE64, respectively. stat(2) man page also declares that
* stat64(), lstat64() and fstat64() are deprecated, and when
@@ -168,7 +172,11 @@ static void virMockStatInit(void)
fdebug("real stat %p\n", real_stat);
#endif
#ifdef MOCK_STAT64
+# if defined(__GLIBC__) && defined(_TIME_BITS) && _TIME_BITS == 64
+ VIR_MOCK_REAL_INIT_ALIASED(stat64, "__stat64_time64");
+# else
VIR_MOCK_REAL_INIT(stat64);
+# endif
fdebug("real stat64 %p\n", real_stat64);
#endif
#ifdef MOCK___XSTAT
@@ -188,7 +196,11 @@ static void virMockStatInit(void)
fdebug("real lstat %p\n", real_lstat);
#endif
#ifdef MOCK_LSTAT64
+# if defined(__GLIBC__) && defined(_TIME_BITS) && _TIME_BITS == 64
+ VIR_MOCK_REAL_INIT_ALIASED(lstat64, "__lstat64_time64");
+# else
VIR_MOCK_REAL_INIT(lstat64);
+# endif
fdebug("real lstat64 %p\n", real_lstat64);
#endif
#ifdef MOCK___LXSTAT
--
2.37.4
2
1
21 Nov '22
Peter Krempa (3):
docs: drvqemu: Fix and improve docs about device override types
docs: drvqemu: Give example how to query device properties for
overriding
docs: drvqemu: Remove inaccuate limitations statement
docs/drvqemu.rst | 41 ++++++++++++++++++++++++++++++++++-------
1 file changed, 34 insertions(+), 7 deletions(-)
--
2.37.3
2
5
21 Nov '22
Nothing in virnettlscontexttest nor virnettlssessiontest calls
any of random number generator functions overridden
virrandommock. GnuTLS handles RNG within itself.
Therefore, there's no need to preload the mock.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/virnettlscontexttest.c | 2 +-
tests/virnettlssessiontest.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c
index 403cd8d0ac..2311524db8 100644
--- a/tests/virnettlscontexttest.c
+++ b/tests/virnettlscontexttest.c
@@ -627,7 +627,7 @@ mymain(void)
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
-VIR_TEST_MAIN_PRELOAD(mymain, VIR_TEST_MOCK("virrandom"))
+VIR_TEST_MAIN(mymain);
#else
diff --git a/tests/virnettlssessiontest.c b/tests/virnettlssessiontest.c
index 5b98a6de3e..285cde57d8 100644
--- a/tests/virnettlssessiontest.c
+++ b/tests/virnettlssessiontest.c
@@ -482,7 +482,7 @@ mymain(void)
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
-VIR_TEST_MAIN_PRELOAD(mymain, VIR_TEST_MOCK("virrandom"))
+VIR_TEST_MAIN(mymain);
#else
--
2.37.4
2
1
*** BLURB EVERYWHERE ***
Jiri Denemark (2):
qemu: Always restore post-copy migration job on reconnect
qemu: Ignore failure in post-copy migration when QEMU says completed
src/qemu/qemu_migration.c | 8 ++++++++
src/qemu/qemu_process.c | 15 ++++++++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
--
2.38.1
2
4
We are getting close to the last release of libvirt in 2022. To aim for
the release on Dec 01 I suggest entering the freeze on Thursday Nov 24
and tagging RC2 on Tuesday Nov 29.
I hope this works for everyone.
Jirka
1
0
When there is no vIOMMU, vfio devices don't need to lock the entire guest
memory per-device, but they still need to lock the entire guest memory to
share between all vfio devices. This memory accounting is not shared
with vDPA devices, so it should be added to the memlock limit separately.
Commit 8d5704e2 added support for multiple vfio/vdpa devices but
calculated the limits incorrectly when there were both vdpa and vfio
devices and no vIOMMU. In this case, the memory lock limit was not
increased separately for the vfio devices.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2111317
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
src/qemu/qemu_domain.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index ef1a9c8c74..8ae458ae45 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -9470,10 +9470,14 @@ qemuDomainGetMemLockLimitBytes(virDomainDef *def,
*/
int factor = nvdpa;
- if (def->iommu)
- factor += nvfio;
+ if (nvfio || forceVFIO) {
+ if (nvfio && def->iommu)
+ factor += nvfio;
+ else
+ factor += 1;
+ }
- memKB = MAX(factor, 1) * virDomainDefGetMemoryTotal(def) + 1024 * 1024;
+ memKB = factor * virDomainDefGetMemoryTotal(def) + 1024 * 1024;
}
return memKB << 10;
--
2.38.1
2
1
18 Nov '22
These format are left unchanged when convert 'unsigned long' to
'unsigned long long', which caused compile warning.
Signed-off-by: Jiang Jiacheng <jiangjiacheng(a)huawei.com>
---
src/cpu/cpu_arm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c
index ef72d6dceb..3ec06edef4 100644
--- a/src/cpu/cpu_arm.c
+++ b/src/cpu/cpu_arm.c
@@ -639,7 +639,7 @@ virCPUarmDecode(virCPUDef *cpu,
if (!(model = virCPUarmModelFindByPVR(map, cpuData->pvr))) {
virReportError(VIR_ERR_OPERATION_FAILED,
- _("Cannot find CPU model with PVR 0x%03lx"),
+ _("Cannot find CPU model with PVR 0x%03llx"),
cpuData->pvr);
return -1;
}
@@ -656,7 +656,7 @@ virCPUarmDecode(virCPUDef *cpu,
if (cpuData->vendor_id &&
!(vendor = virCPUarmVendorFindByID(map, cpuData->vendor_id))) {
virReportError(VIR_ERR_OPERATION_FAILED,
- _("Cannot find CPU vendor with vendor id 0x%02lx"),
+ _("Cannot find CPU vendor with vendor id 0x%02llx"),
cpuData->vendor_id);
return -1;
}
--
2.33.0
2
1
17 Nov '22
Just adds a tool to the applications list. This tool helps managing
multiple VMs at once using the python binding.
Signed-off-by: Cédric Bosdonnat <cbosdonnat(a)suse.com>
---
docs/apps.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/apps.rst b/docs/apps.rst
index 1a25c0a21e..57a3d00dca 100644
--- a/docs/apps.rst
+++ b/docs/apps.rst
@@ -70,6 +70,9 @@ virsh
Virt-Lightning uses libvirt, cloud-init and libguestfs to allow
anyone to quickly start a new VM. Very much like a container CLI, but
with a virtual machine.
+`vms <https://github.com/cbosdo/vms>`__
+ vms is a tool wrapping around the libvirt API to manage multiple virtual
+ machines at once with name patterns.
Configuration Management
------------------------
--
2.37.1
3
2
This series further improves the firewalld backend by converting to a
fully native implementation for NAT and routed networks. That is, there
are no iptables rules added by libvirt when the running firewalld is
0.9.0 or later.
The major advantage is that firewalld users can use firewall-cmd to
filter the VM traffic and apply their own policies.
When firewalld < 0.9.0 is present only the "libvirt" zone will be used.
The new "libvirt-nat" and "libvirt-routed" zones are not used. This
maintains compatibility for older distributions (e.g. Ubuntu 20.04).
Patch 1 is a bug fix for my previous series to avoid a bogus error log.
Patches 2-3 converts the routed network to native firewalld.
Patches 4-8 converts the NAT network to native firewalld. It also
introduces the "libvirt-nat" zone.
Eric Garver (8):
util: virFirewallDGetPolicies: gracefully handle older firewalld
network: firewalld: add networkAddHybridFirewallDRules()
network: firewalld: use native routed networks
util: add virFirewallDSourceSetZone()
util: add virFirewallDApplyPolicyRichRules()
network: firewalld: add zone for NAT networks
network: firewalld: add policies for NAT networks
network: firewalld: use native NAT networks
libvirt.spec.in | 2 +
src/libvirt_private.syms | 2 +
src/network/bridge_driver_linux.c | 193 ++++++++++++++++++++---------
src/network/libvirt-nat-out.policy | 13 ++
src/network/libvirt-nat.zone | 10 ++
src/network/libvirt-to-host.policy | 1 +
src/network/meson.build | 10 ++
src/util/virfirewalld.c | 79 +++++++++++-
src/util/virfirewalld.h | 6 +
9 files changed, 258 insertions(+), 58 deletions(-)
create mode 100644 src/network/libvirt-nat-out.policy
create mode 100644 src/network/libvirt-nat.zone
--
2.37.3
5
22
There's this request for us to parse NVDIMMs from .vmx files. Well,
we're not there yet - firstly we'd need to deduce NUMA configuration so
that we know to which guest NUMA node is the NVDIMM attached. But that
is very dynamic and in fact computed on virtual machine startup [1].
Nevertheless, I've accumulated couple of cleanups that are independent
of the feature and can be merged separately.
1: https://frankdenneman.nl/2016/08/22/numa-deep-dive-part-5-esxi-vmkernel-num…
Michal Prívozník (7):
coding-style: Follow our own recommendation wrt spacing around commas
docs: Fill missing docs on STRCASEPREFIX() and STRSKIP()
internal: Introduce STRCASESKIP()
vmx: Convert virVMXConfigScanResultsCollector() to use STRCASESKIP()
vmx: Rework virVMXConfigScanResultsCollector slightly
conf: Introduce virDomainMemoryDefNew()
conf: Declare and use autoptr for virDomainMemoryDef
docs/coding-style.rst | 42 ++++++++++++++++++++++++++++--------
src/conf/domain_conf.c | 48 ++++++++++++++++++++++++------------------
src/conf/domain_conf.h | 2 ++
src/internal.h | 2 ++
src/vmx/vmx.c | 11 +++++-----
5 files changed, 71 insertions(+), 34 deletions(-)
--
2.37.4
4
11
16 Nov '22
Update to v7.2.0-rc1
Notable changes:
- 'virtio-blk-vfio-pci' blockdev backend added
- 'cryptodev-backend-lkcf' object added
- new options/parameters for virtio-*-pci, virtio-*-device, and
vhost-user-* devices:
- 'queue_reset'
- use-started
- use-disabled-flags
- 'dma-translation' option for 'intel-iommu' device
- 'zpcii-disable' commandline parameter removed (not applicable on x86)
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../caps_7.2.0.x86_64.replies | 2124 +++++++++--------
.../caps_7.2.0.x86_64.xml | 4 +-
2 files changed, 1115 insertions(+), 1013 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
index b7eb0356c4..47203b8923 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
@@ -17,11 +17,11 @@
{
"return": {
"qemu": {
- "micro": 50,
+ "micro": 91,
"minor": 1,
"major": 7
},
- "package": "v7.1.0-1579-g5107fd3eff"
+ "package": "v7.2.0-rc1"
},
"id": "libvirt-2"
}
@@ -3367,13 +3367,17 @@
"type": "298"
},
{
- "case": "virtio-blk-vhost-user",
+ "case": "virtio-blk-vfio-pci",
"type": "325"
},
{
- "case": "virtio-blk-vhost-vdpa",
+ "case": "virtio-blk-vhost-user",
"type": "326"
},
+ {
+ "case": "virtio-blk-vhost-vdpa",
+ "type": "327"
+ },
{
"case": "vmdk",
"type": "318"
@@ -3384,7 +3388,7 @@
},
{
"case": "vvfat",
- "type": "327"
+ "type": "328"
}
],
"members": [
@@ -3459,7 +3463,7 @@
},
{
"name": "options",
- "type": "328"
+ "type": "329"
}
],
"meta-type": "object"
@@ -3477,7 +3481,7 @@
},
{
"name": "options",
- "type": "329"
+ "type": "330"
},
{
"name": "force",
@@ -3534,11 +3538,11 @@
},
{
"name": "operation",
- "type": "330"
+ "type": "331"
},
{
"name": "action",
- "type": "331"
+ "type": "332"
},
{
"name": "nospace",
@@ -3557,7 +3561,7 @@
"members": [
{
"name": "type",
- "type": "332"
+ "type": "333"
},
{
"name": "device",
@@ -3588,7 +3592,7 @@
"members": [
{
"name": "type",
- "type": "332"
+ "type": "333"
},
{
"name": "device",
@@ -3618,11 +3622,11 @@
},
{
"name": "operation",
- "type": "330"
+ "type": "331"
},
{
"name": "action",
- "type": "331"
+ "type": "332"
}
],
"meta-type": "object"
@@ -3632,7 +3636,7 @@
"members": [
{
"name": "type",
- "type": "332"
+ "type": "333"
},
{
"name": "device",
@@ -3658,7 +3662,7 @@
"members": [
{
"name": "type",
- "type": "332"
+ "type": "333"
},
{
"name": "id",
@@ -3728,7 +3732,7 @@
},
{
"name": "iothread",
- "type": "333"
+ "type": "334"
},
{
"name": "force",
@@ -3761,7 +3765,7 @@
"members": [
{
"name": "type",
- "type": "334"
+ "type": "335"
},
{
"name": "error",
@@ -3944,7 +3948,7 @@
},
{
"name": "type",
- "type": "332"
+ "type": "333"
},
{
"name": "status",
@@ -3971,7 +3975,7 @@
"members": [
{
"name": "addr",
- "type": "335"
+ "type": "336"
},
{
"name": "tls-creds",
@@ -4031,7 +4035,7 @@
{
"name": "mode",
"default": null,
- "type": "336"
+ "type": "337"
}
],
"meta-type": "object"
@@ -4042,25 +4046,25 @@
"variants": [
{
"case": "nbd",
- "type": "338"
+ "type": "339"
},
{
"case": "vhost-user-blk",
- "type": "339"
+ "type": "340"
},
{
"case": "fuse",
- "type": "340"
+ "type": "341"
},
{
"case": "vduse-blk",
- "type": "341"
+ "type": "342"
}
],
"members": [
{
"name": "type",
- "type": "337"
+ "type": "338"
},
{
"name": "id",
@@ -4103,7 +4107,7 @@
{
"name": "mode",
"default": null,
- "type": "336"
+ "type": "337"
}
],
"meta-type": "object"
@@ -4132,7 +4136,7 @@
},
{
"name": "type",
- "type": "337"
+ "type": "338"
},
{
"name": "node-name",
@@ -4197,7 +4201,7 @@
{
"name": "format",
"default": null,
- "type": "342"
+ "type": "343"
}
],
"meta-type": "object"
@@ -4216,7 +4220,7 @@
{
"name": "format",
"default": null,
- "type": "342"
+ "type": "343"
}
],
"meta-type": "object"
@@ -4235,7 +4239,7 @@
},
{
"name": "backend",
- "type": "343"
+ "type": "344"
}
],
"meta-type": "object"
@@ -4260,7 +4264,7 @@
},
{
"name": "backend",
- "type": "343"
+ "type": "344"
}
],
"meta-type": "object"
@@ -4328,7 +4332,7 @@
{
"name": "format",
"default": null,
- "type": "344"
+ "type": "345"
}
],
"meta-type": "object"
@@ -4338,7 +4342,7 @@
"members": [
{
"name": "status",
- "type": "345"
+ "type": "346"
},
{
"name": "completed",
@@ -4371,7 +4375,7 @@
"members": [
{
"name": "formats",
- "type": "[344]"
+ "type": "[345]"
}
],
"meta-type": "object"
@@ -4396,55 +4400,55 @@
"variants": [
{
"case": "nic",
- "type": "347"
+ "type": "348"
},
{
"case": "user",
- "type": "348"
+ "type": "349"
},
{
"case": "tap",
- "type": "349"
+ "type": "350"
},
{
"case": "l2tpv3",
- "type": "350"
+ "type": "351"
},
{
"case": "socket",
- "type": "351"
+ "type": "352"
},
{
"case": "stream",
- "type": "352"
+ "type": "353"
},
{
"case": "dgram",
- "type": "353"
+ "type": "354"
},
{
"case": "vde",
- "type": "354"
+ "type": "355"
},
{
"case": "bridge",
- "type": "355"
+ "type": "356"
},
{
"case": "hubport",
- "type": "356"
+ "type": "357"
},
{
"case": "netmap",
- "type": "357"
+ "type": "358"
},
{
"case": "vhost-user",
- "type": "358"
+ "type": "359"
},
{
"case": "vhost-vdpa",
- "type": "359"
+ "type": "360"
},
{
"case": "none",
@@ -4458,7 +4462,7 @@
},
{
"name": "type",
- "type": "346"
+ "type": "347"
}
],
"meta-type": "object"
@@ -4502,15 +4506,15 @@
},
{
"name": "multicast",
- "type": "363"
+ "type": "364"
},
{
"name": "unicast",
- "type": "363"
+ "type": "364"
},
{
"name": "vlan",
- "type": "363"
+ "type": "364"
},
{
"name": "broadcast-allowed",
@@ -4609,7 +4613,7 @@
},
{
"name": "addr",
- "type": "364"
+ "type": "365"
}
],
"meta-type": "object"
@@ -4710,11 +4714,11 @@
},
{
"name": "duplex",
- "type": "365"
+ "type": "366"
},
{
"name": "autoneg",
- "type": "366"
+ "type": "367"
}
],
"meta-type": "object"
@@ -4752,15 +4756,15 @@
},
{
"name": "key",
- "type": "367"
+ "type": "368"
},
{
"name": "mask",
- "type": "368"
+ "type": "369"
},
{
"name": "action",
- "type": "369"
+ "type": "370"
}
],
"meta-type": "object"
@@ -4918,7 +4922,7 @@
},
{
"name": "options",
- "type": "370"
+ "type": "371"
}
],
"meta-type": "object"
@@ -4929,7 +4933,7 @@
"variants": [
{
"case": "vnc",
- "type": "373"
+ "type": "374"
},
{
"case": "spice",
@@ -4939,7 +4943,7 @@
"members": [
{
"name": "protocol",
- "type": "371"
+ "type": "372"
},
{
"name": "password",
@@ -4948,7 +4952,7 @@
{
"name": "connected",
"default": null,
- "type": "372"
+ "type": "373"
}
],
"meta-type": "object"
@@ -4959,7 +4963,7 @@
"variants": [
{
"case": "vnc",
- "type": "374"
+ "type": "375"
},
{
"case": "spice",
@@ -4969,7 +4973,7 @@
"members": [
{
"name": "protocol",
- "type": "371"
+ "type": "372"
},
{
"name": "time",
@@ -4998,7 +5002,7 @@
{
"name": "format",
"default": null,
- "type": "375"
+ "type": "376"
}
],
"meta-type": "object"
@@ -5041,12 +5045,12 @@
},
{
"name": "mouse-mode",
- "type": "376"
+ "type": "377"
},
{
"name": "channels",
"default": null,
- "type": "[377]"
+ "type": "[378]"
}
],
"meta-type": "object"
@@ -5056,11 +5060,11 @@
"members": [
{
"name": "server",
- "type": "378"
+ "type": "379"
},
{
"name": "client",
- "type": "378"
+ "type": "379"
}
],
"meta-type": "object"
@@ -5070,11 +5074,11 @@
"members": [
{
"name": "server",
- "type": "379"
+ "type": "380"
},
{
"name": "client",
- "type": "377"
+ "type": "378"
}
],
"meta-type": "object"
@@ -5084,11 +5088,11 @@
"members": [
{
"name": "server",
- "type": "378"
+ "type": "379"
},
{
"name": "client",
- "type": "378"
+ "type": "379"
}
],
"meta-type": "object"
@@ -5108,7 +5112,7 @@
{
"name": "family",
"default": null,
- "type": "380"
+ "type": "381"
},
{
"name": "service",
@@ -5123,7 +5127,7 @@
{
"name": "clients",
"default": null,
- "type": "[381]"
+ "type": "[382]"
}
],
"meta-type": "object"
@@ -5142,20 +5146,20 @@
},
{
"name": "server",
- "type": "[382]"
+ "type": "[383]"
},
{
"name": "clients",
- "type": "[381]"
+ "type": "[382]"
},
{
"name": "auth",
- "type": "383"
+ "type": "384"
},
{
"name": "vencrypt",
"default": null,
- "type": "384"
+ "type": "385"
},
{
"name": "display",
@@ -5180,11 +5184,11 @@
"members": [
{
"name": "server",
- "type": "385"
+ "type": "386"
},
{
"name": "client",
- "type": "386"
+ "type": "387"
}
],
"meta-type": "object"
@@ -5194,11 +5198,11 @@
"members": [
{
"name": "server",
- "type": "385"
+ "type": "386"
},
{
"name": "client",
- "type": "381"
+ "type": "382"
}
],
"meta-type": "object"
@@ -5208,11 +5212,11 @@
"members": [
{
"name": "server",
- "type": "385"
+ "type": "386"
},
{
"name": "client",
- "type": "381"
+ "type": "382"
}
],
"meta-type": "object"
@@ -5249,7 +5253,7 @@
"members": [
{
"name": "keys",
- "type": "[387]"
+ "type": "[388]"
},
{
"name": "hold-time",
@@ -5274,7 +5278,7 @@
},
{
"name": "events",
- "type": "[388]"
+ "type": "[389]"
}
],
"meta-type": "object"
@@ -5285,19 +5289,19 @@
"variants": [
{
"case": "curses",
- "type": "393"
+ "type": "394"
},
{
"case": "egl-headless",
- "type": "394"
+ "type": "395"
},
{
"case": "dbus",
- "type": "395"
+ "type": "396"
},
{
"case": "sdl",
- "type": "396"
+ "type": "397"
},
{
"case": "default",
@@ -5315,7 +5319,7 @@
"members": [
{
"name": "type",
- "type": "389"
+ "type": "390"
},
{
"name": "full-screen",
@@ -5335,7 +5339,7 @@
{
"name": "gl",
"default": null,
- "type": "390"
+ "type": "391"
}
],
"meta-type": "object"
@@ -5346,13 +5350,13 @@
"variants": [
{
"case": "vnc",
- "type": "398"
+ "type": "399"
}
],
"members": [
{
"name": "type",
- "type": "397"
+ "type": "398"
}
],
"meta-type": "object"
@@ -5363,13 +5367,13 @@
"variants": [
{
"case": "vnc",
- "type": "400"
+ "type": "401"
}
],
"members": [
{
"name": "type",
- "type": "399"
+ "type": "400"
}
],
"meta-type": "object"
@@ -5380,27 +5384,27 @@
{
"name": "status",
"default": null,
- "type": "401"
+ "type": "402"
},
{
"name": "ram",
"default": null,
- "type": "402"
+ "type": "403"
},
{
"name": "disk",
"default": null,
- "type": "402"
+ "type": "403"
},
{
"name": "vfio",
"default": null,
- "type": "403"
+ "type": "404"
},
{
"name": "xbzrle-cache",
"default": null,
- "type": "404"
+ "type": "405"
},
{
"name": "total-time",
@@ -5450,12 +5454,12 @@
{
"name": "compression",
"default": null,
- "type": "405"
+ "type": "406"
},
{
"name": "socket-address",
"default": null,
- "type": "[364]"
+ "type": "[365]"
}
],
"meta-type": "object"
@@ -5480,7 +5484,7 @@
"members": [
{
"name": "capability",
- "type": "406"
+ "type": "407"
},
{
"name": "state",
@@ -5555,17 +5559,17 @@
{
"name": "tls-creds",
"default": null,
- "type": "333"
+ "type": "334"
},
{
"name": "tls-hostname",
"default": null,
- "type": "333"
+ "type": "334"
},
{
"name": "tls-authz",
"default": null,
- "type": "333"
+ "type": "334"
},
{
"name": "max-bandwidth",
@@ -5613,7 +5617,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "407"
+ "type": "408"
},
{
"name": "multifd-zlib-level",
@@ -5628,7 +5632,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[408]"
+ "type": "[409]"
}
],
"meta-type": "object"
@@ -5757,7 +5761,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "407"
+ "type": "408"
},
{
"name": "multifd-zlib-level",
@@ -5772,7 +5776,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[408]"
+ "type": "[409]"
}
],
"meta-type": "object"
@@ -5811,7 +5815,7 @@
"members": [
{
"name": "status",
- "type": "401"
+ "type": "402"
}
],
"meta-type": "object"
@@ -5831,11 +5835,11 @@
"members": [
{
"name": "mode",
- "type": "409"
+ "type": "410"
},
{
"name": "reason",
- "type": "410"
+ "type": "411"
}
],
"meta-type": "object"
@@ -5845,7 +5849,7 @@
"members": [
{
"name": "state",
- "type": "401"
+ "type": "402"
}
],
"meta-type": "object"
@@ -5964,15 +5968,15 @@
"members": [
{
"name": "mode",
- "type": "409"
+ "type": "410"
},
{
"name": "last-mode",
- "type": "409"
+ "type": "410"
},
{
"name": "reason",
- "type": "410"
+ "type": "411"
}
],
"meta-type": "object"
@@ -6012,7 +6016,7 @@
{
"name": "mode",
"default": null,
- "type": "411"
+ "type": "412"
}
],
"meta-type": "object"
@@ -6027,7 +6031,7 @@
},
{
"name": "status",
- "type": "412"
+ "type": "413"
},
{
"name": "start-time",
@@ -6043,12 +6047,12 @@
},
{
"name": "mode",
- "type": "411"
+ "type": "412"
},
{
"name": "vcpu-dirty-rate",
"default": null,
- "type": "[413]"
+ "type": "[414]"
}
],
"meta-type": "object"
@@ -6169,12 +6173,12 @@
"members": [
{
"name": "actions",
- "type": "[414]"
+ "type": "[415]"
},
{
"name": "properties",
"default": null,
- "type": "415"
+ "type": "416"
}
],
"meta-type": "object"
@@ -6208,7 +6212,7 @@
},
{
"name": "state",
- "type": "416"
+ "type": "417"
},
{
"name": "vcpu",
@@ -6247,7 +6251,7 @@
{
"name": "enable",
"default": null,
- "type": "[417]"
+ "type": "[418]"
}
],
"meta-type": "object"
@@ -6257,7 +6261,7 @@
"members": [
{
"name": "qemu",
- "type": "418"
+ "type": "419"
},
{
"name": "package",
@@ -6292,31 +6296,31 @@
"variants": [
{
"case": "builtin",
- "type": "420"
+ "type": "421"
},
{
"case": "enum",
- "type": "421"
+ "type": "422"
},
{
"case": "array",
- "type": "422"
+ "type": "423"
},
{
"case": "object",
- "type": "423"
+ "type": "424"
},
{
"case": "alternate",
- "type": "424"
+ "type": "425"
},
{
"case": "command",
- "type": "425"
+ "type": "426"
},
{
"case": "event",
- "type": "426"
+ "type": "427"
}
],
"members": [
@@ -6326,7 +6330,7 @@
},
{
"name": "meta-type",
- "type": "419"
+ "type": "420"
},
{
"name": "features",
@@ -6469,164 +6473,168 @@
"variants": [
{
"case": "authz-list",
- "type": "428"
+ "type": "429"
},
{
"case": "authz-listfile",
- "type": "429"
+ "type": "430"
},
{
"case": "authz-pam",
- "type": "430"
+ "type": "431"
},
{
"case": "authz-simple",
- "type": "431"
+ "type": "432"
},
{
"case": "can-host-socketcan",
- "type": "432"
+ "type": "433"
},
{
"case": "colo-compare",
- "type": "433"
+ "type": "434"
},
{
"case": "cryptodev-backend",
- "type": "434"
+ "type": "435"
},
{
"case": "cryptodev-backend-builtin",
- "type": "434"
+ "type": "435"
},
{
- "case": "cryptodev-vhost-user",
+ "case": "cryptodev-backend-lkcf",
"type": "435"
},
{
- "case": "dbus-vmstate",
+ "case": "cryptodev-vhost-user",
"type": "436"
},
{
- "case": "filter-buffer",
+ "case": "dbus-vmstate",
"type": "437"
},
{
- "case": "filter-dump",
+ "case": "filter-buffer",
"type": "438"
},
{
- "case": "filter-mirror",
+ "case": "filter-dump",
"type": "439"
},
{
- "case": "filter-redirector",
+ "case": "filter-mirror",
"type": "440"
},
{
- "case": "filter-replay",
+ "case": "filter-redirector",
"type": "441"
},
{
- "case": "filter-rewriter",
+ "case": "filter-replay",
"type": "442"
},
{
- "case": "input-barrier",
+ "case": "filter-rewriter",
"type": "443"
},
{
- "case": "input-linux",
+ "case": "input-barrier",
"type": "444"
},
{
- "case": "iothread",
+ "case": "input-linux",
"type": "445"
},
{
- "case": "main-loop",
+ "case": "iothread",
"type": "446"
},
{
- "case": "memory-backend-epc",
+ "case": "main-loop",
"type": "447"
},
{
- "case": "memory-backend-file",
+ "case": "memory-backend-epc",
"type": "448"
},
{
- "case": "memory-backend-memfd",
+ "case": "memory-backend-file",
"type": "449"
},
{
- "case": "memory-backend-ram",
+ "case": "memory-backend-memfd",
"type": "450"
},
{
- "case": "pr-manager-helper",
+ "case": "memory-backend-ram",
"type": "451"
},
{
- "case": "qtest",
+ "case": "pr-manager-helper",
"type": "452"
},
{
- "case": "rng-builtin",
+ "case": "qtest",
"type": "453"
},
{
- "case": "rng-egd",
+ "case": "rng-builtin",
"type": "454"
},
{
- "case": "rng-random",
+ "case": "rng-egd",
"type": "455"
},
{
- "case": "secret",
+ "case": "rng-random",
"type": "456"
},
{
- "case": "secret_keyring",
+ "case": "secret",
"type": "457"
},
{
- "case": "sev-guest",
+ "case": "secret_keyring",
"type": "458"
},
{
- "case": "thread-context",
+ "case": "sev-guest",
"type": "459"
},
{
- "case": "throttle-group",
+ "case": "thread-context",
"type": "460"
},
{
- "case": "tls-creds-anon",
+ "case": "throttle-group",
"type": "461"
},
{
- "case": "tls-creds-psk",
+ "case": "tls-creds-anon",
"type": "462"
},
{
- "case": "tls-creds-x509",
+ "case": "tls-creds-psk",
"type": "463"
},
{
- "case": "tls-cipher-suites",
+ "case": "tls-creds-x509",
"type": "464"
},
{
- "case": "x-remote-object",
+ "case": "tls-cipher-suites",
"type": "465"
},
{
- "case": "x-vfio-user-server",
+ "case": "x-remote-object",
"type": "466"
},
+ {
+ "case": "x-vfio-user-server",
+ "type": "467"
+ },
{
"case": "can-bus",
"type": "0"
@@ -6643,7 +6651,7 @@
"members": [
{
"name": "qom-type",
- "type": "427"
+ "type": "428"
},
{
"name": "id",
@@ -6743,7 +6751,7 @@
"variants": [
{
"case": "s390x",
- "type": "469"
+ "type": "470"
},
{
"case": "aarch64",
@@ -6882,11 +6890,11 @@
{
"name": "props",
"default": null,
- "type": "467"
+ "type": "468"
},
{
"name": "target",
- "type": "468"
+ "type": "469"
}
],
"meta-type": "object"
@@ -6957,7 +6965,7 @@
"members": [
{
"name": "arch",
- "type": "468"
+ "type": "469"
}
],
"meta-type": "object"
@@ -7081,7 +7089,7 @@
},
{
"name": "policy",
- "type": "470"
+ "type": "471"
}
],
"meta-type": "object"
@@ -7104,7 +7112,7 @@
},
{
"name": "props",
- "type": "467"
+ "type": "468"
},
{
"name": "qom-path",
@@ -7120,29 +7128,29 @@
"variants": [
{
"case": "node",
- "type": "472"
+ "type": "473"
},
{
"case": "dist",
- "type": "473"
+ "type": "474"
},
{
"case": "cpu",
- "type": "474"
+ "type": "475"
},
{
"case": "hmat-lb",
- "type": "475"
+ "type": "476"
},
{
"case": "hmat-cache",
- "type": "476"
+ "type": "477"
}
],
"members": [
{
"name": "type",
- "type": "471"
+ "type": "472"
}
],
"meta-type": "object"
@@ -7203,29 +7211,29 @@
"variants": [
{
"case": "dimm",
- "type": "478"
+ "type": "479"
},
{
"case": "nvdimm",
- "type": "478"
+ "type": "479"
},
{
"case": "virtio-pmem",
- "type": "479"
+ "type": "480"
},
{
"case": "virtio-mem",
- "type": "480"
+ "type": "481"
},
{
"case": "sgx-epc",
- "type": "481"
+ "type": "482"
}
],
"members": [
{
"name": "type",
- "type": "477"
+ "type": "478"
}
],
"meta-type": "object"
@@ -7288,11 +7296,11 @@
"members": [
{
"name": "type",
- "type": "484"
+ "type": "485"
},
{
"name": "model",
- "type": "482"
+ "type": "483"
}
],
"meta-type": "object"
@@ -7302,7 +7310,7 @@
"members": [
{
"name": "model",
- "type": "482"
+ "type": "483"
}
],
"meta-type": "object"
@@ -7354,7 +7362,7 @@
"members": [
{
"name": "mode",
- "type": "485"
+ "type": "486"
},
{
"name": "filename",
@@ -7409,11 +7417,11 @@
"variants": [
{
"case": "block-node",
- "type": "487"
+ "type": "488"
},
{
"case": "chardev",
- "type": "488"
+ "type": "489"
},
{
"case": "migration",
@@ -7423,7 +7431,7 @@
"members": [
{
"name": "type",
- "type": "486"
+ "type": "487"
}
],
"meta-type": "object"
@@ -7592,7 +7600,7 @@
},
{
"name": "fds",
- "type": "[489]"
+ "type": "[490]"
}
],
"meta-type": "object"
@@ -7622,7 +7630,7 @@
},
{
"name": "parameters",
- "type": "[490]"
+ "type": "[491]"
}
],
"meta-type": "object"
@@ -7688,7 +7696,7 @@
},
{
"name": "state",
- "type": "491"
+ "type": "492"
},
{
"name": "handle",
@@ -7800,7 +7808,7 @@
},
{
"name": "sections",
- "type": "[492]"
+ "type": "[493]"
}
],
"meta-type": "object"
@@ -7824,7 +7832,7 @@
},
{
"name": "slot-type",
- "type": "493"
+ "type": "494"
},
{
"name": "source",
@@ -7861,7 +7869,7 @@
},
{
"name": "devices",
- "type": "[494]"
+ "type": "[495]"
}
],
"meta-type": "object"
@@ -7872,7 +7880,7 @@
"variants": [
{
"case": "vcpu",
- "type": "497"
+ "type": "498"
},
{
"case": "vm",
@@ -7882,12 +7890,12 @@
"members": [
{
"name": "target",
- "type": "495"
+ "type": "496"
},
{
"name": "providers",
"default": null,
- "type": "[496]"
+ "type": "[497]"
}
],
"meta-type": "object"
@@ -7902,7 +7910,7 @@
"members": [
{
"name": "provider",
- "type": "498"
+ "type": "499"
},
{
"name": "qom-path",
@@ -7911,7 +7919,7 @@
},
{
"name": "stats",
- "type": "[499]"
+ "type": "[500]"
}
],
"meta-type": "object"
@@ -7922,7 +7930,7 @@
{
"name": "provider",
"default": null,
- "type": "498"
+ "type": "499"
}
],
"meta-type": "object"
@@ -7937,15 +7945,15 @@
"members": [
{
"name": "provider",
- "type": "498"
+ "type": "499"
},
{
"name": "target",
- "type": "495"
+ "type": "496"
},
{
"name": "stats",
- "type": "[500]"
+ "type": "[501]"
}
],
"meta-type": "object"
@@ -8000,15 +8008,15 @@
},
{
"name": "guest-features",
- "type": "501"
+ "type": "502"
},
{
"name": "host-features",
- "type": "501"
+ "type": "502"
},
{
"name": "backend-features",
- "type": "501"
+ "type": "502"
},
{
"name": "num-vqs",
@@ -8016,7 +8024,7 @@
},
{
"name": "status",
- "type": "502"
+ "type": "503"
},
{
"name": "isr",
@@ -8065,7 +8073,7 @@
{
"name": "vhost-dev",
"default": null,
- "type": "503"
+ "type": "504"
}
],
"meta-type": "object"
@@ -8252,15 +8260,15 @@
},
{
"name": "descs",
- "type": "[504]"
+ "type": "[505]"
},
{
"name": "avail",
- "type": "505"
+ "type": "506"
},
{
"name": "used",
- "type": "506"
+ "type": "507"
}
],
"meta-type": "object"
@@ -8512,17 +8520,17 @@
"variants": [
{
"case": "hyper-v",
- "type": "508"
+ "type": "509"
},
{
"case": "s390",
- "type": "509"
+ "type": "510"
}
],
"members": [
{
"name": "type",
- "type": "507"
+ "type": "508"
}
],
"meta-type": "object"
@@ -8741,22 +8749,22 @@
},
{
"name": "timed_stats",
- "type": "[510]"
+ "type": "[511]"
},
{
"name": "rd_latency_histogram",
"default": null,
- "type": "511"
+ "type": "512"
},
{
"name": "wr_latency_histogram",
"default": null,
- "type": "511"
+ "type": "512"
},
{
"name": "flush_latency_histogram",
"default": null,
- "type": "511"
+ "type": "512"
}
],
"meta-type": "object"
@@ -8767,15 +8775,15 @@
"variants": [
{
"case": "file",
- "type": "512"
+ "type": "513"
},
{
"case": "host_device",
- "type": "512"
+ "type": "513"
},
{
"case": "nvme",
- "type": "513"
+ "type": "514"
},
{
"case": "blkdebug",
@@ -8929,6 +8937,10 @@
"case": "vhdx",
"type": "0"
},
+ {
+ "case": "virtio-blk-vfio-pci",
+ "type": "0"
+ },
{
"case": "virtio-blk-vhost-user",
"type": "0"
@@ -9211,7 +9223,7 @@
{
"name": "format-specific",
"default": null,
- "type": "514"
+ "type": "515"
}
],
"meta-type": "object"
@@ -9289,7 +9301,7 @@
},
{
"name": "type",
- "type": "515"
+ "type": "516"
},
{
"name": "name",
@@ -9320,11 +9332,11 @@
},
{
"name": "perm",
- "type": "[516]"
+ "type": "[517]"
},
{
"name": "shared-perm",
- "type": "[516]"
+ "type": "[517]"
}
],
"meta-type": "object"
@@ -9488,6 +9500,9 @@
{
"name": "vhdx"
},
+ {
+ "name": "virtio-blk-vfio-pci"
+ },
{
"name": "virtio-blk-vhost-user"
},
@@ -9547,6 +9562,7 @@
"throttle",
"vdi",
"vhdx",
+ "virtio-blk-vfio-pci",
"virtio-blk-vhost-user",
"virtio-blk-vhost-vdpa",
"vmdk",
@@ -9591,7 +9607,7 @@
"members": [
{
"name": "image",
- "type": "517"
+ "type": "518"
},
{
"name": "config",
@@ -9631,22 +9647,22 @@
{
"name": "inject-error",
"default": null,
- "type": "[518]"
+ "type": "[519]"
},
{
"name": "set-state",
"default": null,
- "type": "[519]"
+ "type": "[520]"
},
{
"name": "take-child-perms",
"default": null,
- "type": "[516]"
+ "type": "[517]"
},
{
"name": "unshare-child-perms",
"default": null,
- "type": "[516]"
+ "type": "[517]"
}
],
"meta-type": "object"
@@ -9656,11 +9672,11 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "log",
- "type": "517"
+ "type": "518"
},
{
"name": "log-sector-size",
@@ -9685,11 +9701,11 @@
"members": [
{
"name": "test",
- "type": "517"
+ "type": "518"
},
{
"name": "raw",
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -9699,7 +9715,7 @@
"members": [
{
"name": "image",
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -9709,7 +9725,7 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -9719,11 +9735,11 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "target",
- "type": "517"
+ "type": "518"
},
{
"name": "bitmap",
@@ -9733,7 +9749,7 @@
{
"name": "on-cbw-error",
"default": null,
- "type": "520"
+ "type": "521"
},
{
"name": "cbw-timeout",
@@ -9748,7 +9764,7 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "bottom",
@@ -9773,12 +9789,12 @@
{
"name": "locking",
"default": null,
- "type": "521"
+ "type": "522"
},
{
"name": "aio",
"default": null,
- "type": "522"
+ "type": "523"
},
{
"name": "aio-max-batch",
@@ -9902,7 +9918,7 @@
},
{
"name": "server",
- "type": "[364]"
+ "type": "[365]"
},
{
"name": "debug",
@@ -10037,7 +10053,7 @@
"members": [
{
"name": "transport",
- "type": "523"
+ "type": "524"
},
{
"name": "portal",
@@ -10070,7 +10086,7 @@
{
"name": "header-digest",
"default": null,
- "type": "524"
+ "type": "525"
},
{
"name": "timeout",
@@ -10085,7 +10101,7 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "key-secret",
@@ -10100,7 +10116,7 @@
"members": [
{
"name": "server",
- "type": "364"
+ "type": "365"
},
{
"name": "export",
@@ -10143,7 +10159,7 @@
"members": [
{
"name": "server",
- "type": "525"
+ "type": "526"
},
{
"name": "path",
@@ -10221,7 +10237,7 @@
"name": "314",
"members": [
{
- "name": "filename",
+ "name": "path",
"type": "str"
}
],
@@ -10232,7 +10248,7 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "prealloc-align",
@@ -10252,12 +10268,12 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "backing",
"default": null,
- "type": "526"
+ "type": "527"
},
{
"name": "lazy-refcounts",
@@ -10282,7 +10298,7 @@
{
"name": "overlap-check",
"default": null,
- "type": "527"
+ "type": "528"
},
{
"name": "cache-size",
@@ -10312,12 +10328,12 @@
{
"name": "encrypt",
"default": null,
- "type": "528"
+ "type": "529"
},
{
"name": "data-file",
"default": null,
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -10327,17 +10343,17 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "backing",
"default": null,
- "type": "526"
+ "type": "527"
},
{
"name": "encrypt",
"default": null,
- "type": "529"
+ "type": "530"
}
],
"meta-type": "object"
@@ -10347,12 +10363,12 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "backing",
"default": null,
- "type": "526"
+ "type": "527"
}
],
"meta-type": "object"
@@ -10367,7 +10383,7 @@
},
{
"name": "children",
- "type": "[517]"
+ "type": "[518]"
},
{
"name": "vote-threshold",
@@ -10381,7 +10397,7 @@
{
"name": "read-pattern",
"default": null,
- "type": "530"
+ "type": "531"
}
],
"meta-type": "object"
@@ -10391,7 +10407,7 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "offset",
@@ -10435,7 +10451,7 @@
{
"name": "encrypt",
"default": null,
- "type": "531"
+ "type": "532"
},
{
"name": "user",
@@ -10445,7 +10461,7 @@
{
"name": "auth-client-required",
"default": null,
- "type": "[532]"
+ "type": "[533]"
},
{
"name": "key-secret",
@@ -10455,7 +10471,7 @@
{
"name": "server",
"default": null,
- "type": "[533]"
+ "type": "[534]"
}
],
"meta-type": "object"
@@ -10465,11 +10481,11 @@
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "mode",
- "type": "534"
+ "type": "535"
},
{
"name": "top-id",
@@ -10484,7 +10500,7 @@
"members": [
{
"name": "server",
- "type": "535"
+ "type": "536"
},
{
"name": "path",
@@ -10498,7 +10514,7 @@
{
"name": "host-key-check",
"default": null,
- "type": "536"
+ "type": "537"
}
],
"meta-type": "object"
@@ -10512,7 +10528,7 @@
},
{
"name": "file",
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -10539,6 +10555,16 @@
},
{
"name": "327",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "328",
"members": [
{
"name": "dir",
@@ -10573,64 +10599,64 @@
"meta-type": "array"
},
{
- "name": "328",
+ "name": "329",
"tag": "driver",
"variants": [
{
"case": "file",
- "type": "537"
+ "type": "538"
},
{
"case": "gluster",
- "type": "538"
+ "type": "539"
},
{
"case": "luks",
- "type": "539"
+ "type": "540"
},
{
"case": "nfs",
- "type": "540"
+ "type": "541"
},
{
"case": "parallels",
- "type": "541"
+ "type": "542"
},
{
"case": "qcow",
- "type": "542"
+ "type": "543"
},
{
"case": "qcow2",
- "type": "543"
+ "type": "544"
},
{
"case": "qed",
- "type": "544"
+ "type": "545"
},
{
"case": "rbd",
- "type": "545"
+ "type": "546"
},
{
"case": "ssh",
- "type": "546"
+ "type": "547"
},
{
"case": "vdi",
- "type": "547"
+ "type": "548"
},
{
"case": "vhdx",
- "type": "548"
+ "type": "549"
},
{
"case": "vmdk",
- "type": "549"
+ "type": "550"
},
{
"case": "vpc",
- "type": "550"
+ "type": "551"
},
{
"case": "blkdebug",
@@ -10748,6 +10774,10 @@
"case": "throttle",
"type": "0"
},
+ {
+ "case": "virtio-blk-vfio-pci",
+ "type": "0"
+ },
{
"case": "virtio-blk-vhost-user",
"type": "0"
@@ -10770,16 +10800,16 @@
"meta-type": "object"
},
{
- "name": "329",
+ "name": "330",
"tag": "driver",
"variants": [
{
"case": "luks",
- "type": "551"
+ "type": "552"
},
{
"case": "qcow2",
- "type": "552"
+ "type": "553"
},
{
"case": "blkdebug",
@@ -10937,6 +10967,10 @@
"case": "vhdx",
"type": "0"
},
+ {
+ "case": "virtio-blk-vfio-pci",
+ "type": "0"
+ },
{
"case": "virtio-blk-vhost-user",
"type": "0"
@@ -10967,7 +11001,7 @@
"meta-type": "object"
},
{
- "name": "330",
+ "name": "331",
"members": [
{
"name": "read"
@@ -10983,7 +11017,7 @@
]
},
{
- "name": "331",
+ "name": "332",
"members": [
{
"name": "ignore"
@@ -11003,7 +11037,7 @@
]
},
{
- "name": "332",
+ "name": "333",
"members": [
{
"name": "commit"
@@ -11047,7 +11081,7 @@
]
},
{
- "name": "333",
+ "name": "334",
"members": [
{
"type": "str"
@@ -11059,7 +11093,7 @@
"meta-type": "alternate"
},
{
- "name": "334",
+ "name": "335",
"members": [
{
"name": "read"
@@ -11079,36 +11113,36 @@
]
},
{
- "name": "335",
+ "name": "336",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "554"
+ "type": "555"
},
{
"case": "unix",
- "type": "555"
+ "type": "556"
},
{
"case": "vsock",
- "type": "556"
+ "type": "557"
},
{
"case": "fd",
- "type": "557"
+ "type": "558"
}
],
"members": [
{
"name": "type",
- "type": "553"
+ "type": "554"
}
],
"meta-type": "object"
},
{
- "name": "336",
+ "name": "337",
"members": [
{
"name": "safe"
@@ -11124,7 +11158,7 @@
]
},
{
- "name": "337",
+ "name": "338",
"members": [
{
"name": "nbd"
@@ -11148,7 +11182,7 @@
]
},
{
- "name": "338",
+ "name": "339",
"members": [
{
"name": "name",
@@ -11174,11 +11208,11 @@
"meta-type": "object"
},
{
- "name": "339",
+ "name": "340",
"members": [
{
"name": "addr",
- "type": "364"
+ "type": "365"
},
{
"name": "logical-block-size",
@@ -11194,7 +11228,7 @@
"meta-type": "object"
},
{
- "name": "340",
+ "name": "341",
"members": [
{
"name": "mountpoint",
@@ -11208,13 +11242,13 @@
{
"name": "allow-other",
"default": null,
- "type": "558"
+ "type": "559"
}
],
"meta-type": "object"
},
{
- "name": "341",
+ "name": "342",
"members": [
{
"name": "name",
@@ -11244,7 +11278,7 @@
"meta-type": "object"
},
{
- "name": "342",
+ "name": "343",
"members": [
{
"name": "utf8"
@@ -11260,108 +11294,108 @@
]
},
{
- "name": "343",
+ "name": "344",
"tag": "type",
"variants": [
{
"case": "file",
- "type": "560"
+ "type": "561"
},
{
"case": "serial",
- "type": "561"
+ "type": "562"
},
{
"case": "parallel",
- "type": "561"
+ "type": "562"
},
{
"case": "pipe",
- "type": "561"
+ "type": "562"
},
{
"case": "socket",
- "type": "562"
+ "type": "563"
},
{
"case": "udp",
- "type": "563"
+ "type": "564"
},
{
"case": "pty",
- "type": "564"
+ "type": "565"
},
{
"case": "null",
- "type": "564"
+ "type": "565"
},
{
"case": "mux",
- "type": "565"
+ "type": "566"
},
{
"case": "msmouse",
- "type": "564"
+ "type": "565"
},
{
"case": "wctablet",
- "type": "564"
+ "type": "565"
},
{
"case": "braille",
- "type": "564"
+ "type": "565"
},
{
"case": "testdev",
- "type": "564"
+ "type": "565"
},
{
"case": "stdio",
- "type": "566"
+ "type": "567"
},
{
"case": "console",
- "type": "564"
+ "type": "565"
},
{
"case": "spicevmc",
- "type": "567"
+ "type": "568"
},
{
"case": "spiceport",
- "type": "568"
+ "type": "569"
},
{
"case": "qemu-vdagent",
- "type": "569"
+ "type": "570"
},
{
"case": "dbus",
- "type": "570"
+ "type": "571"
},
{
"case": "vc",
- "type": "571"
+ "type": "572"
},
{
"case": "ringbuf",
- "type": "572"
+ "type": "573"
},
{
"case": "memory",
- "type": "572"
+ "type": "573"
}
],
"members": [
{
"name": "type",
- "type": "559"
+ "type": "560"
}
],
"meta-type": "object"
},
{
- "name": "344",
+ "name": "345",
"members": [
{
"name": "elf"
@@ -11389,7 +11423,7 @@
]
},
{
- "name": "345",
+ "name": "346",
"members": [
{
"name": "none"
@@ -11413,12 +11447,12 @@
]
},
{
- "name": "[344]",
- "element-type": "344",
+ "name": "[345]",
+ "element-type": "345",
"meta-type": "array"
},
{
- "name": "346",
+ "name": "347",
"members": [
{
"name": "none"
@@ -11482,7 +11516,7 @@
]
},
{
- "name": "347",
+ "name": "348",
"members": [
{
"name": "netdev",
@@ -11513,7 +11547,7 @@
"meta-type": "object"
},
{
- "name": "348",
+ "name": "349",
"members": [
{
"name": "hostname",
@@ -11573,7 +11607,7 @@
{
"name": "dnssearch",
"default": null,
- "type": "[573]"
+ "type": "[574]"
},
{
"name": "domainname",
@@ -11613,12 +11647,12 @@
{
"name": "hostfwd",
"default": null,
- "type": "[573]"
+ "type": "[574]"
},
{
"name": "guestfwd",
"default": null,
- "type": "[573]"
+ "type": "[574]"
},
{
"name": "tftp-server-name",
@@ -11629,7 +11663,7 @@
"meta-type": "object"
},
{
- "name": "349",
+ "name": "350",
"members": [
{
"name": "ifname",
@@ -11710,7 +11744,7 @@
"meta-type": "object"
},
{
- "name": "350",
+ "name": "351",
"members": [
{
"name": "src",
@@ -11783,7 +11817,7 @@
"meta-type": "object"
},
{
- "name": "351",
+ "name": "352",
"members": [
{
"name": "fd",
@@ -11819,11 +11853,11 @@
"meta-type": "object"
},
{
- "name": "352",
+ "name": "353",
"members": [
{
"name": "addr",
- "type": "364"
+ "type": "365"
},
{
"name": "server",
@@ -11834,23 +11868,23 @@
"meta-type": "object"
},
{
- "name": "353",
+ "name": "354",
"members": [
{
"name": "local",
"default": null,
- "type": "364"
+ "type": "365"
},
{
"name": "remote",
"default": null,
- "type": "364"
+ "type": "365"
}
],
"meta-type": "object"
},
{
- "name": "354",
+ "name": "355",
"members": [
{
"name": "sock",
@@ -11876,7 +11910,7 @@
"meta-type": "object"
},
{
- "name": "355",
+ "name": "356",
"members": [
{
"name": "br",
@@ -11892,7 +11926,7 @@
"meta-type": "object"
},
{
- "name": "356",
+ "name": "357",
"members": [
{
"name": "hubid",
@@ -11907,7 +11941,7 @@
"meta-type": "object"
},
{
- "name": "357",
+ "name": "358",
"members": [
{
"name": "ifname",
@@ -11922,7 +11956,7 @@
"meta-type": "object"
},
{
- "name": "358",
+ "name": "359",
"members": [
{
"name": "chardev",
@@ -11942,7 +11976,7 @@
"meta-type": "object"
},
{
- "name": "359",
+ "name": "360",
"members": [
{
"name": "vhostdev",
@@ -11971,7 +12005,7 @@
"meta-type": "object"
},
{
- "name": "363",
+ "name": "364",
"members": [
{
"name": "normal"
@@ -11996,36 +12030,36 @@
"meta-type": "array"
},
{
- "name": "364",
+ "name": "365",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "535"
+ "type": "536"
},
{
"case": "unix",
- "type": "574"
+ "type": "575"
},
{
"case": "vsock",
- "type": "575"
+ "type": "576"
},
{
"case": "fd",
- "type": "573"
+ "type": "574"
}
],
"members": [
{
"name": "type",
- "type": "553"
+ "type": "554"
}
],
"meta-type": "object"
},
{
- "name": "365",
+ "name": "366",
"members": [
{
"name": "half"
@@ -12041,7 +12075,7 @@
]
},
{
- "name": "366",
+ "name": "367",
"members": [
{
"name": "off"
@@ -12057,7 +12091,7 @@
]
},
{
- "name": "367",
+ "name": "368",
"members": [
{
"name": "priority",
@@ -12116,7 +12150,7 @@
"meta-type": "object"
},
{
- "name": "368",
+ "name": "369",
"members": [
{
"name": "in-pport",
@@ -12157,7 +12191,7 @@
"meta-type": "object"
},
{
- "name": "369",
+ "name": "370",
"members": [
{
"name": "goto-tbl",
@@ -12193,16 +12227,16 @@
"meta-type": "object"
},
{
- "name": "370",
+ "name": "371",
"tag": "type",
"variants": [
{
"case": "passthrough",
- "type": "576"
+ "type": "577"
},
{
"case": "emulator",
- "type": "577"
+ "type": "578"
}
],
"members": [
@@ -12214,7 +12248,7 @@
"meta-type": "object"
},
{
- "name": "371",
+ "name": "372",
"members": [
{
"name": "vnc"
@@ -12230,7 +12264,7 @@
]
},
{
- "name": "372",
+ "name": "373",
"members": [
{
"name": "keep"
@@ -12250,7 +12284,7 @@
]
},
{
- "name": "373",
+ "name": "374",
"members": [
{
"name": "display",
@@ -12261,7 +12295,7 @@
"meta-type": "object"
},
{
- "name": "374",
+ "name": "375",
"members": [
{
"name": "display",
@@ -12272,7 +12306,7 @@
"meta-type": "object"
},
{
- "name": "375",
+ "name": "376",
"members": [
{
"name": "ppm"
@@ -12288,7 +12322,7 @@
]
},
{
- "name": "376",
+ "name": "377",
"members": [
{
"name": "client"
@@ -12308,12 +12342,12 @@
]
},
{
- "name": "[377]",
- "element-type": "377",
+ "name": "[378]",
+ "element-type": "378",
"meta-type": "array"
},
{
- "name": "377",
+ "name": "378",
"members": [
{
"name": "host",
@@ -12325,7 +12359,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "connection-id",
@@ -12347,7 +12381,7 @@
"meta-type": "object"
},
{
- "name": "378",
+ "name": "379",
"members": [
{
"name": "host",
@@ -12359,13 +12393,13 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
}
],
"meta-type": "object"
},
{
- "name": "379",
+ "name": "380",
"members": [
{
"name": "host",
@@ -12377,7 +12411,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "auth",
@@ -12388,7 +12422,7 @@
"meta-type": "object"
},
{
- "name": "380",
+ "name": "381",
"members": [
{
"name": "ipv4"
@@ -12416,12 +12450,12 @@
]
},
{
- "name": "[381]",
- "element-type": "381",
+ "name": "[382]",
+ "element-type": "382",
"meta-type": "array"
},
{
- "name": "381",
+ "name": "382",
"members": [
{
"name": "host",
@@ -12433,7 +12467,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "websocket",
@@ -12453,12 +12487,12 @@
"meta-type": "object"
},
{
- "name": "[382]",
- "element-type": "382",
+ "name": "[383]",
+ "element-type": "383",
"meta-type": "array"
},
{
- "name": "382",
+ "name": "383",
"members": [
{
"name": "host",
@@ -12470,7 +12504,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "websocket",
@@ -12478,18 +12512,18 @@
},
{
"name": "auth",
- "type": "383"
+ "type": "384"
},
{
"name": "vencrypt",
"default": null,
- "type": "384"
+ "type": "385"
}
],
"meta-type": "object"
},
{
- "name": "383",
+ "name": "384",
"members": [
{
"name": "none"
@@ -12533,7 +12567,7 @@
]
},
{
- "name": "384",
+ "name": "385",
"members": [
{
"name": "plain"
@@ -12577,7 +12611,7 @@
]
},
{
- "name": "385",
+ "name": "386",
"members": [
{
"name": "host",
@@ -12589,7 +12623,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "websocket",
@@ -12604,7 +12638,7 @@
"meta-type": "object"
},
{
- "name": "386",
+ "name": "387",
"members": [
{
"name": "host",
@@ -12616,7 +12650,7 @@
},
{
"name": "family",
- "type": "380"
+ "type": "381"
},
{
"name": "websocket",
@@ -12626,67 +12660,67 @@
"meta-type": "object"
},
{
- "name": "[387]",
- "element-type": "387",
+ "name": "[388]",
+ "element-type": "388",
"meta-type": "array"
},
{
- "name": "387",
+ "name": "388",
"tag": "type",
"variants": [
{
"case": "number",
- "type": "579"
+ "type": "580"
},
{
"case": "qcode",
- "type": "580"
+ "type": "581"
}
],
"members": [
{
"name": "type",
- "type": "578"
+ "type": "579"
}
],
"meta-type": "object"
},
{
- "name": "[388]",
- "element-type": "388",
+ "name": "[389]",
+ "element-type": "389",
"meta-type": "array"
},
{
- "name": "388",
+ "name": "389",
"tag": "type",
"variants": [
{
"case": "key",
- "type": "582"
+ "type": "583"
},
{
"case": "btn",
- "type": "583"
+ "type": "584"
},
{
"case": "rel",
- "type": "584"
+ "type": "585"
},
{
"case": "abs",
- "type": "584"
+ "type": "585"
}
],
"members": [
{
"name": "type",
- "type": "581"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "389",
+ "name": "390",
"members": [
{
"name": "default"
@@ -12722,7 +12756,7 @@
]
},
{
- "name": "390",
+ "name": "391",
"members": [
{
"name": "off"
@@ -12746,7 +12780,7 @@
]
},
{
- "name": "391",
+ "name": "392",
"members": [
{
"name": "grab-on-hover",
@@ -12772,7 +12806,7 @@
"meta-type": "object"
},
{
- "name": "392",
+ "name": "393",
"members": [
{
"name": "left-command-key",
@@ -12793,7 +12827,7 @@
"meta-type": "object"
},
{
- "name": "393",
+ "name": "394",
"members": [
{
"name": "charset",
@@ -12804,7 +12838,7 @@
"meta-type": "object"
},
{
- "name": "394",
+ "name": "395",
"members": [
{
"name": "rendernode",
@@ -12815,7 +12849,7 @@
"meta-type": "object"
},
{
- "name": "395",
+ "name": "396",
"members": [
{
"name": "rendernode",
@@ -12841,18 +12875,18 @@
"meta-type": "object"
},
{
- "name": "396",
+ "name": "397",
"members": [
{
"name": "grab-mod",
"default": null,
- "type": "585"
+ "type": "586"
}
],
"meta-type": "object"
},
{
- "name": "397",
+ "name": "398",
"members": [
{
"name": "vnc"
@@ -12864,7 +12898,7 @@
]
},
{
- "name": "398",
+ "name": "399",
"members": [
{
"name": "tls-certs",
@@ -12875,7 +12909,7 @@
"meta-type": "object"
},
{
- "name": "399",
+ "name": "400",
"members": [
{
"name": "vnc"
@@ -12887,18 +12921,18 @@
]
},
{
- "name": "400",
+ "name": "401",
"members": [
{
"name": "addresses",
"default": null,
- "type": "[364]"
+ "type": "[365]"
}
],
"meta-type": "object"
},
{
- "name": "401",
+ "name": "402",
"members": [
{
"name": "none"
@@ -12962,7 +12996,7 @@
]
},
{
- "name": "402",
+ "name": "403",
"members": [
{
"name": "transferred",
@@ -13040,7 +13074,7 @@
"meta-type": "object"
},
{
- "name": "403",
+ "name": "404",
"members": [
{
"name": "transferred",
@@ -13050,7 +13084,7 @@
"meta-type": "object"
},
{
- "name": "404",
+ "name": "405",
"members": [
{
"name": "cache-size",
@@ -13084,7 +13118,7 @@
"meta-type": "object"
},
{
- "name": "405",
+ "name": "406",
"members": [
{
"name": "pages",
@@ -13110,12 +13144,12 @@
"meta-type": "object"
},
{
- "name": "[364]",
- "element-type": "364",
+ "name": "[365]",
+ "element-type": "365",
"meta-type": "array"
},
{
- "name": "406",
+ "name": "407",
"members": [
{
"name": "xbzrle"
@@ -13213,7 +13247,7 @@
]
},
{
- "name": "407",
+ "name": "408",
"members": [
{
"name": "none"
@@ -13233,12 +13267,12 @@
]
},
{
- "name": "[408]",
- "element-type": "408",
+ "name": "[409]",
+ "element-type": "409",
"meta-type": "array"
},
{
- "name": "408",
+ "name": "409",
"members": [
{
"name": "node-name",
@@ -13250,13 +13284,13 @@
},
{
"name": "bitmaps",
- "type": "[586]"
+ "type": "[587]"
}
],
"meta-type": "object"
},
{
- "name": "409",
+ "name": "410",
"members": [
{
"name": "none"
@@ -13276,7 +13310,7 @@
]
},
{
- "name": "410",
+ "name": "411",
"members": [
{
"name": "none"
@@ -13300,7 +13334,7 @@
]
},
{
- "name": "411",
+ "name": "412",
"members": [
{
"name": "page-sampling"
@@ -13320,7 +13354,7 @@
]
},
{
- "name": "412",
+ "name": "413",
"members": [
{
"name": "unstarted"
@@ -13340,12 +13374,12 @@
]
},
{
- "name": "[413]",
- "element-type": "413",
+ "name": "[414]",
+ "element-type": "414",
"meta-type": "array"
},
{
- "name": "413",
+ "name": "414",
"members": [
{
"name": "id",
@@ -13359,84 +13393,84 @@
"meta-type": "object"
},
{
- "name": "[414]",
- "element-type": "414",
+ "name": "[415]",
+ "element-type": "415",
"meta-type": "array"
},
{
- "name": "414",
+ "name": "415",
"tag": "type",
"variants": [
{
"case": "abort",
- "type": "588"
+ "type": "589"
},
{
"case": "block-dirty-bitmap-add",
- "type": "589"
+ "type": "590"
},
{
"case": "block-dirty-bitmap-remove",
- "type": "590"
+ "type": "591"
},
{
"case": "block-dirty-bitmap-clear",
- "type": "590"
+ "type": "591"
},
{
"case": "block-dirty-bitmap-enable",
- "type": "590"
+ "type": "591"
},
{
"case": "block-dirty-bitmap-disable",
- "type": "590"
+ "type": "591"
},
{
"case": "block-dirty-bitmap-merge",
- "type": "591"
+ "type": "592"
},
{
"case": "blockdev-backup",
- "type": "592"
+ "type": "593"
},
{
"case": "blockdev-snapshot",
- "type": "593"
+ "type": "594"
},
{
"case": "blockdev-snapshot-internal-sync",
- "type": "594"
+ "type": "595"
},
{
"case": "blockdev-snapshot-sync",
- "type": "595"
+ "type": "596"
},
{
"case": "drive-backup",
- "type": "596"
+ "type": "597"
}
],
"members": [
{
"name": "type",
- "type": "587"
+ "type": "588"
}
],
"meta-type": "object"
},
{
- "name": "415",
+ "name": "416",
"members": [
{
"name": "completion-mode",
"default": null,
- "type": "597"
+ "type": "598"
}
],
"meta-type": "object"
},
{
- "name": "416",
+ "name": "417",
"members": [
{
"name": "unavailable"
@@ -13456,12 +13490,12 @@
]
},
{
- "name": "[417]",
- "element-type": "417",
+ "name": "[418]",
+ "element-type": "418",
"meta-type": "array"
},
{
- "name": "417",
+ "name": "418",
"members": [
{
"name": "oob"
@@ -13473,7 +13507,7 @@
]
},
{
- "name": "418",
+ "name": "419",
"members": [
{
"name": "major",
@@ -13491,7 +13525,7 @@
"meta-type": "object"
},
{
- "name": "419",
+ "name": "420",
"members": [
{
"name": "builtin"
@@ -13527,21 +13561,21 @@
]
},
{
- "name": "420",
+ "name": "421",
"members": [
{
"name": "json-type",
- "type": "598"
+ "type": "599"
}
],
"meta-type": "object"
},
{
- "name": "421",
+ "name": "422",
"members": [
{
"name": "members",
- "type": "[599]"
+ "type": "[600]"
},
{
"name": "values",
@@ -13554,7 +13588,7 @@
"meta-type": "object"
},
{
- "name": "422",
+ "name": "423",
"members": [
{
"name": "element-type",
@@ -13564,11 +13598,11 @@
"meta-type": "object"
},
{
- "name": "423",
+ "name": "424",
"members": [
{
"name": "members",
- "type": "[600]"
+ "type": "[601]"
},
{
"name": "tag",
@@ -13578,23 +13612,23 @@
{
"name": "variants",
"default": null,
- "type": "[601]"
+ "type": "[602]"
}
],
"meta-type": "object"
},
{
- "name": "424",
+ "name": "425",
"members": [
{
"name": "members",
- "type": "[602]"
+ "type": "[603]"
}
],
"meta-type": "object"
},
{
- "name": "425",
+ "name": "426",
"members": [
{
"name": "arg-type",
@@ -13613,7 +13647,7 @@
"meta-type": "object"
},
{
- "name": "426",
+ "name": "427",
"members": [
{
"name": "arg-type",
@@ -13623,7 +13657,7 @@
"meta-type": "object"
},
{
- "name": "427",
+ "name": "428",
"members": [
{
"name": "authz-list"
@@ -13652,6 +13686,9 @@
{
"name": "cryptodev-backend-builtin"
},
+ {
+ "name": "cryptodev-backend-lkcf"
+ },
{
"name": "cryptodev-vhost-user"
},
@@ -13772,6 +13809,7 @@
"colo-compare",
"cryptodev-backend",
"cryptodev-backend-builtin",
+ "cryptodev-backend-lkcf",
"cryptodev-vhost-user",
"dbus-vmstate",
"filter-buffer",
@@ -13809,23 +13847,23 @@
]
},
{
- "name": "428",
+ "name": "429",
"members": [
{
"name": "policy",
"default": null,
- "type": "603"
+ "type": "604"
},
{
"name": "rules",
"default": null,
- "type": "[604]"
+ "type": "[605]"
}
],
"meta-type": "object"
},
{
- "name": "429",
+ "name": "430",
"members": [
{
"name": "filename",
@@ -13840,7 +13878,7 @@
"meta-type": "object"
},
{
- "name": "430",
+ "name": "431",
"members": [
{
"name": "service",
@@ -13850,7 +13888,7 @@
"meta-type": "object"
},
{
- "name": "431",
+ "name": "432",
"members": [
{
"name": "identity",
@@ -13860,7 +13898,7 @@
"meta-type": "object"
},
{
- "name": "432",
+ "name": "433",
"members": [
{
"name": "if",
@@ -13874,7 +13912,7 @@
"meta-type": "object"
},
{
- "name": "433",
+ "name": "434",
"members": [
{
"name": "primary_in",
@@ -13921,7 +13959,7 @@
"meta-type": "object"
},
{
- "name": "434",
+ "name": "435",
"members": [
{
"name": "queues",
@@ -13932,7 +13970,7 @@
"meta-type": "object"
},
{
- "name": "435",
+ "name": "436",
"members": [
{
"name": "queues",
@@ -13947,7 +13985,7 @@
"meta-type": "object"
},
{
- "name": "436",
+ "name": "437",
"members": [
{
"name": "addr",
@@ -13962,7 +14000,7 @@
"meta-type": "object"
},
{
- "name": "437",
+ "name": "438",
"members": [
{
"name": "netdev",
@@ -13971,7 +14009,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -13986,7 +14024,7 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
},
{
"name": "interval",
@@ -13996,7 +14034,7 @@
"meta-type": "object"
},
{
- "name": "438",
+ "name": "439",
"members": [
{
"name": "netdev",
@@ -14005,7 +14043,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -14020,7 +14058,7 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
},
{
"name": "file",
@@ -14035,7 +14073,7 @@
"meta-type": "object"
},
{
- "name": "439",
+ "name": "440",
"members": [
{
"name": "netdev",
@@ -14044,7 +14082,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -14059,7 +14097,7 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
},
{
"name": "outdev",
@@ -14074,7 +14112,7 @@
"meta-type": "object"
},
{
- "name": "440",
+ "name": "441",
"members": [
{
"name": "netdev",
@@ -14083,7 +14121,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -14098,7 +14136,7 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
},
{
"name": "indev",
@@ -14119,7 +14157,7 @@
"meta-type": "object"
},
{
- "name": "441",
+ "name": "442",
"members": [
{
"name": "netdev",
@@ -14128,7 +14166,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -14143,13 +14181,13 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
}
],
"meta-type": "object"
},
{
- "name": "442",
+ "name": "443",
"members": [
{
"name": "netdev",
@@ -14158,7 +14196,7 @@
{
"name": "queue",
"default": null,
- "type": "605"
+ "type": "606"
},
{
"name": "status",
@@ -14173,7 +14211,7 @@
{
"name": "insert",
"default": null,
- "type": "606"
+ "type": "607"
},
{
"name": "vnet_hdr_support",
@@ -14184,7 +14222,7 @@
"meta-type": "object"
},
{
- "name": "443",
+ "name": "444",
"members": [
{
"name": "name",
@@ -14224,7 +14262,7 @@
"meta-type": "object"
},
{
- "name": "444",
+ "name": "445",
"members": [
{
"name": "evdev",
@@ -14243,13 +14281,13 @@
{
"name": "grab-toggle",
"default": null,
- "type": "607"
+ "type": "608"
}
],
"meta-type": "object"
},
{
- "name": "445",
+ "name": "446",
"members": [
{
"name": "aio-max-batch",
@@ -14285,7 +14323,7 @@
"meta-type": "object"
},
{
- "name": "446",
+ "name": "447",
"members": [
{
"name": "aio-max-batch",
@@ -14306,7 +14344,7 @@
"meta-type": "object"
},
{
- "name": "447",
+ "name": "448",
"members": [
{
"name": "dump",
@@ -14326,7 +14364,7 @@
{
"name": "policy",
"default": null,
- "type": "470"
+ "type": "471"
},
{
"name": "prealloc",
@@ -14366,7 +14404,7 @@
"meta-type": "object"
},
{
- "name": "448",
+ "name": "449",
"members": [
{
"name": "dump",
@@ -14386,7 +14424,7 @@
{
"name": "policy",
"default": null,
- "type": "470"
+ "type": "471"
},
{
"name": "prealloc",
@@ -14450,7 +14488,7 @@
"meta-type": "object"
},
{
- "name": "449",
+ "name": "450",
"members": [
{
"name": "dump",
@@ -14470,7 +14508,7 @@
{
"name": "policy",
"default": null,
- "type": "470"
+ "type": "471"
},
{
"name": "prealloc",
@@ -14525,7 +14563,7 @@
"meta-type": "object"
},
{
- "name": "450",
+ "name": "451",
"members": [
{
"name": "dump",
@@ -14545,7 +14583,7 @@
{
"name": "policy",
"default": null,
- "type": "470"
+ "type": "471"
},
{
"name": "prealloc",
@@ -14585,7 +14623,7 @@
"meta-type": "object"
},
{
- "name": "451",
+ "name": "452",
"members": [
{
"name": "path",
@@ -14595,7 +14633,7 @@
"meta-type": "object"
},
{
- "name": "452",
+ "name": "453",
"members": [
{
"name": "chardev",
@@ -14610,7 +14648,7 @@
"meta-type": "object"
},
{
- "name": "453",
+ "name": "454",
"members": [
{
"name": "opened",
@@ -14624,7 +14662,7 @@
"meta-type": "object"
},
{
- "name": "454",
+ "name": "455",
"members": [
{
"name": "opened",
@@ -14642,7 +14680,7 @@
"meta-type": "object"
},
{
- "name": "455",
+ "name": "456",
"members": [
{
"name": "opened",
@@ -14661,7 +14699,7 @@
"meta-type": "object"
},
{
- "name": "456",
+ "name": "457",
"members": [
{
"name": "loaded",
@@ -14674,7 +14712,7 @@
{
"name": "format",
"default": null,
- "type": "608"
+ "type": "609"
},
{
"name": "keyid",
@@ -14700,7 +14738,7 @@
"meta-type": "object"
},
{
- "name": "457",
+ "name": "458",
"members": [
{
"name": "loaded",
@@ -14713,7 +14751,7 @@
{
"name": "format",
"default": null,
- "type": "608"
+ "type": "609"
},
{
"name": "keyid",
@@ -14733,7 +14771,7 @@
"meta-type": "object"
},
{
- "name": "458",
+ "name": "459",
"members": [
{
"name": "sev-device",
@@ -14778,7 +14816,7 @@
"meta-type": "object"
},
{
- "name": "459",
+ "name": "460",
"members": [
{
"name": "cpu-affinity",
@@ -14794,12 +14832,12 @@
"meta-type": "object"
},
{
- "name": "460",
+ "name": "461",
"members": [
{
"name": "limits",
"default": null,
- "type": "609"
+ "type": "610"
},
{
"name": "x-iops-total",
@@ -14957,7 +14995,7 @@
"meta-type": "object"
},
{
- "name": "461",
+ "name": "462",
"members": [
{
"name": "verify-peer",
@@ -14972,7 +15010,7 @@
{
"name": "endpoint",
"default": null,
- "type": "610"
+ "type": "611"
},
{
"name": "priority",
@@ -14991,7 +15029,7 @@
"meta-type": "object"
},
{
- "name": "462",
+ "name": "463",
"members": [
{
"name": "verify-peer",
@@ -15006,7 +15044,7 @@
{
"name": "endpoint",
"default": null,
- "type": "610"
+ "type": "611"
},
{
"name": "priority",
@@ -15030,7 +15068,7 @@
"meta-type": "object"
},
{
- "name": "463",
+ "name": "464",
"members": [
{
"name": "verify-peer",
@@ -15045,7 +15083,7 @@
{
"name": "endpoint",
"default": null,
- "type": "610"
+ "type": "611"
},
{
"name": "priority",
@@ -15074,7 +15112,7 @@
"meta-type": "object"
},
{
- "name": "464",
+ "name": "465",
"members": [
{
"name": "verify-peer",
@@ -15089,7 +15127,7 @@
{
"name": "endpoint",
"default": null,
- "type": "610"
+ "type": "611"
},
{
"name": "priority",
@@ -15100,7 +15138,7 @@
"meta-type": "object"
},
{
- "name": "465",
+ "name": "466",
"members": [
{
"name": "fd",
@@ -15114,11 +15152,11 @@
"meta-type": "object"
},
{
- "name": "466",
+ "name": "467",
"members": [
{
"name": "socket",
- "type": "364"
+ "type": "365"
},
{
"name": "device",
@@ -15128,7 +15166,7 @@
"meta-type": "object"
},
{
- "name": "467",
+ "name": "468",
"members": [
{
"name": "node-id",
@@ -15164,7 +15202,7 @@
"meta-type": "object"
},
{
- "name": "468",
+ "name": "469",
"members": [
{
"name": "aarch64"
@@ -15296,17 +15334,17 @@
]
},
{
- "name": "469",
+ "name": "470",
"members": [
{
"name": "cpu-state",
- "type": "611"
+ "type": "612"
}
],
"meta-type": "object"
},
{
- "name": "470",
+ "name": "471",
"members": [
{
"name": "default"
@@ -15330,7 +15368,7 @@
]
},
{
- "name": "471",
+ "name": "472",
"members": [
{
"name": "node"
@@ -15358,7 +15396,7 @@
]
},
{
- "name": "472",
+ "name": "473",
"members": [
{
"name": "nodeid",
@@ -15389,7 +15427,7 @@
"meta-type": "object"
},
{
- "name": "473",
+ "name": "474",
"members": [
{
"name": "src",
@@ -15407,7 +15445,7 @@
"meta-type": "object"
},
{
- "name": "474",
+ "name": "475",
"members": [
{
"name": "node-id",
@@ -15443,7 +15481,7 @@
"meta-type": "object"
},
{
- "name": "475",
+ "name": "476",
"members": [
{
"name": "initiator",
@@ -15455,11 +15493,11 @@
},
{
"name": "hierarchy",
- "type": "612"
+ "type": "613"
},
{
"name": "data-type",
- "type": "613"
+ "type": "614"
},
{
"name": "latency",
@@ -15475,7 +15513,7 @@
"meta-type": "object"
},
{
- "name": "476",
+ "name": "477",
"members": [
{
"name": "node-id",
@@ -15491,11 +15529,11 @@
},
{
"name": "associativity",
- "type": "614"
+ "type": "615"
},
{
"name": "policy",
- "type": "615"
+ "type": "616"
},
{
"name": "line",
@@ -15505,7 +15543,7 @@
"meta-type": "object"
},
{
- "name": "477",
+ "name": "478",
"members": [
{
"name": "dimm"
@@ -15532,16 +15570,6 @@
"sgx-epc"
]
},
- {
- "name": "478",
- "members": [
- {
- "name": "data",
- "type": "616"
- }
- ],
- "meta-type": "object"
- },
{
"name": "479",
"members": [
@@ -15574,6 +15602,16 @@
},
{
"name": "482",
+ "members": [
+ {
+ "name": "data",
+ "type": "620"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "483",
"members": [
{
"name": "name",
@@ -15588,7 +15626,7 @@
"meta-type": "object"
},
{
- "name": "483",
+ "name": "484",
"members": [
{
"name": "incompatible"
@@ -15612,7 +15650,7 @@
]
},
{
- "name": "484",
+ "name": "485",
"members": [
{
"name": "static"
@@ -15628,7 +15666,7 @@
]
},
{
- "name": "485",
+ "name": "486",
"members": [
{
"name": "none"
@@ -15648,7 +15686,7 @@
]
},
{
- "name": "486",
+ "name": "487",
"members": [
{
"name": "block-node"
@@ -15668,7 +15706,7 @@
]
},
{
- "name": "487",
+ "name": "488",
"members": [
{
"name": "node-name",
@@ -15678,7 +15716,7 @@
"meta-type": "object"
},
{
- "name": "488",
+ "name": "489",
"members": [
{
"name": "id",
@@ -15688,12 +15726,12 @@
"meta-type": "object"
},
{
- "name": "[489]",
- "element-type": "489",
+ "name": "[490]",
+ "element-type": "490",
"meta-type": "array"
},
{
- "name": "489",
+ "name": "490",
"members": [
{
"name": "fd",
@@ -15708,12 +15746,12 @@
"meta-type": "object"
},
{
- "name": "[490]",
- "element-type": "490",
+ "name": "[491]",
+ "element-type": "491",
"meta-type": "array"
},
{
- "name": "490",
+ "name": "491",
"members": [
{
"name": "name",
@@ -15721,7 +15759,7 @@
},
{
"name": "type",
- "type": "620"
+ "type": "621"
},
{
"name": "help",
@@ -15737,7 +15775,7 @@
"meta-type": "object"
},
{
- "name": "491",
+ "name": "492",
"members": [
{
"name": "uninit"
@@ -15769,12 +15807,12 @@
]
},
{
- "name": "[492]",
- "element-type": "492",
+ "name": "[493]",
+ "element-type": "493",
"meta-type": "array"
},
{
- "name": "492",
+ "name": "493",
"members": [
{
"name": "node",
@@ -15788,7 +15826,7 @@
"meta-type": "object"
},
{
- "name": "493",
+ "name": "494",
"members": [
{
"name": "DIMM"
@@ -15804,12 +15842,12 @@
]
},
{
- "name": "[494]",
- "element-type": "494",
+ "name": "[495]",
+ "element-type": "495",
"meta-type": "array"
},
{
- "name": "494",
+ "name": "495",
"members": [
{
"name": "bus",
@@ -15825,11 +15863,11 @@
},
{
"name": "class_info",
- "type": "621"
+ "type": "622"
},
{
"name": "id",
- "type": "622"
+ "type": "623"
},
{
"name": "irq",
@@ -15847,17 +15885,17 @@
{
"name": "pci_bridge",
"default": null,
- "type": "623"
+ "type": "624"
},
{
"name": "regions",
- "type": "[624]"
+ "type": "[625]"
}
],
"meta-type": "object"
},
{
- "name": "495",
+ "name": "496",
"members": [
{
"name": "vm"
@@ -15873,16 +15911,16 @@
]
},
{
- "name": "[496]",
- "element-type": "496",
+ "name": "[497]",
+ "element-type": "497",
"meta-type": "array"
},
{
- "name": "496",
+ "name": "497",
"members": [
{
"name": "provider",
- "type": "498"
+ "type": "499"
},
{
"name": "names",
@@ -15893,7 +15931,7 @@
"meta-type": "object"
},
{
- "name": "497",
+ "name": "498",
"members": [
{
"name": "vcpus",
@@ -15904,7 +15942,7 @@
"meta-type": "object"
},
{
- "name": "498",
+ "name": "499",
"members": [
{
"name": "kvm"
@@ -15916,12 +15954,12 @@
]
},
{
- "name": "[499]",
- "element-type": "499",
+ "name": "[500]",
+ "element-type": "500",
"meta-type": "array"
},
{
- "name": "499",
+ "name": "500",
"members": [
{
"name": "name",
@@ -15929,18 +15967,18 @@
},
{
"name": "value",
- "type": "625"
+ "type": "626"
}
],
"meta-type": "object"
},
{
- "name": "[500]",
- "element-type": "500",
+ "name": "[501]",
+ "element-type": "501",
"meta-type": "array"
},
{
- "name": "500",
+ "name": "501",
"members": [
{
"name": "name",
@@ -15948,12 +15986,12 @@
},
{
"name": "type",
- "type": "626"
+ "type": "627"
},
{
"name": "unit",
"default": null,
- "type": "627"
+ "type": "628"
},
{
"name": "base",
@@ -15973,7 +16011,7 @@
"meta-type": "object"
},
{
- "name": "501",
+ "name": "502",
"members": [
{
"name": "transports",
@@ -15993,7 +16031,7 @@
"meta-type": "object"
},
{
- "name": "502",
+ "name": "503",
"members": [
{
"name": "statuses",
@@ -16008,7 +16046,7 @@
"meta-type": "object"
},
{
- "name": "503",
+ "name": "504",
"members": [
{
"name": "n-mem-sections",
@@ -16028,19 +16066,19 @@
},
{
"name": "features",
- "type": "501"
+ "type": "502"
},
{
"name": "acked-features",
- "type": "501"
+ "type": "502"
},
{
"name": "backend-features",
- "type": "501"
+ "type": "502"
},
{
"name": "protocol-features",
- "type": "628"
+ "type": "629"
},
{
"name": "max-queues",
@@ -16062,12 +16100,12 @@
"meta-type": "object"
},
{
- "name": "[504]",
- "element-type": "504",
+ "name": "[505]",
+ "element-type": "505",
"meta-type": "array"
},
{
- "name": "504",
+ "name": "505",
"members": [
{
"name": "addr",
@@ -16085,7 +16123,7 @@
"meta-type": "object"
},
{
- "name": "505",
+ "name": "506",
"members": [
{
"name": "flags",
@@ -16103,7 +16141,7 @@
"meta-type": "object"
},
{
- "name": "506",
+ "name": "507",
"members": [
{
"name": "flags",
@@ -16117,7 +16155,7 @@
"meta-type": "object"
},
{
- "name": "507",
+ "name": "508",
"members": [
{
"name": "hyper-v"
@@ -16133,7 +16171,7 @@
]
},
{
- "name": "508",
+ "name": "509",
"members": [
{
"name": "arg1",
@@ -16159,7 +16197,7 @@
"meta-type": "object"
},
{
- "name": "509",
+ "name": "510",
"members": [
{
"name": "core",
@@ -16175,18 +16213,18 @@
},
{
"name": "reason",
- "type": "629"
+ "type": "630"
}
],
"meta-type": "object"
},
{
- "name": "[510]",
- "element-type": "510",
+ "name": "[511]",
+ "element-type": "511",
"meta-type": "array"
},
{
- "name": "510",
+ "name": "511",
"members": [
{
"name": "interval_length",
@@ -16240,7 +16278,7 @@
"meta-type": "object"
},
{
- "name": "511",
+ "name": "512",
"members": [
{
"name": "boundaries",
@@ -16254,7 +16292,7 @@
"meta-type": "object"
},
{
- "name": "512",
+ "name": "513",
"members": [
{
"name": "discard-nb-ok",
@@ -16272,7 +16310,7 @@
"meta-type": "object"
},
{
- "name": "513",
+ "name": "514",
"members": [
{
"name": "completion-errors",
@@ -16295,36 +16333,36 @@
"meta-type": "array"
},
{
- "name": "514",
+ "name": "515",
"tag": "type",
"variants": [
{
"case": "qcow2",
- "type": "631"
+ "type": "632"
},
{
"case": "vmdk",
- "type": "632"
+ "type": "633"
},
{
"case": "luks",
- "type": "633"
+ "type": "634"
},
{
"case": "rbd",
- "type": "634"
+ "type": "635"
}
],
"members": [
{
"name": "type",
- "type": "630"
+ "type": "631"
}
],
"meta-type": "object"
},
{
- "name": "515",
+ "name": "516",
"members": [
{
"name": "block-backend"
@@ -16344,12 +16382,12 @@
]
},
{
- "name": "[516]",
- "element-type": "516",
+ "name": "[517]",
+ "element-type": "517",
"meta-type": "array"
},
{
- "name": "516",
+ "name": "517",
"members": [
{
"name": "consistent-read"
@@ -16373,7 +16411,7 @@
]
},
{
- "name": "517",
+ "name": "518",
"members": [
{
"type": "49"
@@ -16385,16 +16423,16 @@
"meta-type": "alternate"
},
{
- "name": "[518]",
- "element-type": "518",
+ "name": "[519]",
+ "element-type": "519",
"meta-type": "array"
},
{
- "name": "518",
+ "name": "519",
"members": [
{
"name": "event",
- "type": "635"
+ "type": "636"
},
{
"name": "state",
@@ -16404,7 +16442,7 @@
{
"name": "iotype",
"default": null,
- "type": "636"
+ "type": "637"
},
{
"name": "errno",
@@ -16430,16 +16468,16 @@
"meta-type": "object"
},
{
- "name": "[519]",
- "element-type": "519",
+ "name": "[520]",
+ "element-type": "520",
"meta-type": "array"
},
{
- "name": "519",
+ "name": "520",
"members": [
{
"name": "event",
- "type": "635"
+ "type": "636"
},
{
"name": "state",
@@ -16454,7 +16492,7 @@
"meta-type": "object"
},
{
- "name": "520",
+ "name": "521",
"members": [
{
"name": "break-guest-write"
@@ -16470,7 +16508,7 @@
]
},
{
- "name": "521",
+ "name": "522",
"members": [
{
"name": "auto"
@@ -16490,7 +16528,7 @@
]
},
{
- "name": "522",
+ "name": "523",
"members": [
{
"name": "threads"
@@ -16510,7 +16548,7 @@
]
},
{
- "name": "523",
+ "name": "524",
"members": [
{
"name": "tcp"
@@ -16526,7 +16564,7 @@
]
},
{
- "name": "524",
+ "name": "525",
"members": [
{
"name": "crc32c"
@@ -16550,11 +16588,11 @@
]
},
{
- "name": "525",
+ "name": "526",
"members": [
{
"name": "type",
- "type": "637"
+ "type": "638"
},
{
"name": "host",
@@ -16564,7 +16602,7 @@
"meta-type": "object"
},
{
- "name": "526",
+ "name": "527",
"members": [
{
"type": "49"
@@ -16579,62 +16617,62 @@
"meta-type": "alternate"
},
{
- "name": "527",
+ "name": "528",
"members": [
{
- "type": "638"
+ "type": "639"
},
{
- "type": "639"
+ "type": "640"
}
],
"meta-type": "alternate"
},
{
- "name": "528",
+ "name": "529",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "641"
+ "type": "642"
},
{
"case": "luks",
- "type": "642"
+ "type": "643"
}
],
"members": [
{
"name": "format",
- "type": "640"
+ "type": "641"
}
],
"meta-type": "object"
},
{
- "name": "529",
+ "name": "530",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "641"
+ "type": "642"
}
],
"members": [
{
"name": "format",
- "type": "643"
+ "type": "644"
}
],
"meta-type": "object"
},
{
- "name": "[517]",
- "element-type": "517",
+ "name": "[518]",
+ "element-type": "518",
"meta-type": "array"
},
{
- "name": "530",
+ "name": "531",
"members": [
{
"name": "quorum"
@@ -16650,33 +16688,33 @@
]
},
{
- "name": "531",
+ "name": "532",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "645"
+ "type": "646"
},
{
"case": "luks2",
- "type": "646"
+ "type": "647"
}
],
"members": [
{
"name": "format",
- "type": "644"
+ "type": "645"
}
],
"meta-type": "object"
},
{
- "name": "[532]",
- "element-type": "532",
+ "name": "[533]",
+ "element-type": "533",
"meta-type": "array"
},
{
- "name": "532",
+ "name": "533",
"members": [
{
"name": "cephx"
@@ -16692,12 +16730,12 @@
]
},
{
- "name": "[533]",
- "element-type": "533",
+ "name": "[534]",
+ "element-type": "534",
"meta-type": "array"
},
{
- "name": "533",
+ "name": "534",
"members": [
{
"name": "host",
@@ -16711,7 +16749,7 @@
"meta-type": "object"
},
{
- "name": "534",
+ "name": "535",
"members": [
{
"name": "primary"
@@ -16727,7 +16765,7 @@
]
},
{
- "name": "535",
+ "name": "536",
"members": [
{
"name": "host",
@@ -16771,12 +16809,12 @@
"meta-type": "object"
},
{
- "name": "536",
+ "name": "537",
"tag": "mode",
"variants": [
{
"case": "hash",
- "type": "648"
+ "type": "649"
},
{
"case": "none",
@@ -16790,13 +16828,13 @@
"members": [
{
"name": "mode",
- "type": "647"
+ "type": "648"
}
],
"meta-type": "object"
},
{
- "name": "537",
+ "name": "538",
"members": [
{
"name": "filename",
@@ -16809,7 +16847,7 @@
{
"name": "preallocation",
"default": null,
- "type": "649"
+ "type": "650"
},
{
"name": "nocow",
@@ -16825,7 +16863,7 @@
"meta-type": "object"
},
{
- "name": "538",
+ "name": "539",
"members": [
{
"name": "location",
@@ -16838,13 +16876,13 @@
{
"name": "preallocation",
"default": null,
- "type": "649"
+ "type": "650"
}
],
"meta-type": "object"
},
{
- "name": "539",
+ "name": "540",
"members": [
{
"name": "key-secret",
@@ -16854,27 +16892,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "650"
+ "type": "651"
},
{
"name": "cipher-mode",
"default": null,
- "type": "651"
+ "type": "652"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "652"
+ "type": "653"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "653"
+ "type": "654"
},
{
"name": "hash-alg",
"default": null,
- "type": "653"
+ "type": "654"
},
{
"name": "iter-time",
@@ -16883,7 +16921,7 @@
},
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -16892,13 +16930,13 @@
{
"name": "preallocation",
"default": null,
- "type": "649"
+ "type": "650"
}
],
"meta-type": "object"
},
{
- "name": "540",
+ "name": "541",
"members": [
{
"name": "location",
@@ -16912,11 +16950,11 @@
"meta-type": "object"
},
{
- "name": "541",
+ "name": "542",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -16931,11 +16969,11 @@
"meta-type": "object"
},
{
- "name": "542",
+ "name": "543",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -16949,22 +16987,22 @@
{
"name": "encrypt",
"default": null,
- "type": "654"
+ "type": "655"
}
],
"meta-type": "object"
},
{
- "name": "543",
+ "name": "544",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "data-file",
"default": null,
- "type": "517"
+ "type": "518"
},
{
"name": "data-file-raw",
@@ -16983,7 +17021,7 @@
{
"name": "version",
"default": null,
- "type": "655"
+ "type": "656"
},
{
"name": "backing-file",
@@ -16998,7 +17036,7 @@
{
"name": "encrypt",
"default": null,
- "type": "654"
+ "type": "655"
},
{
"name": "cluster-size",
@@ -17008,7 +17046,7 @@
{
"name": "preallocation",
"default": null,
- "type": "649"
+ "type": "650"
},
{
"name": "lazy-refcounts",
@@ -17023,17 +17061,17 @@
{
"name": "compression-type",
"default": null,
- "type": "656"
+ "type": "657"
}
],
"meta-type": "object"
},
{
- "name": "544",
+ "name": "545",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -17063,7 +17101,7 @@
"meta-type": "object"
},
{
- "name": "545",
+ "name": "546",
"members": [
{
"name": "location",
@@ -17081,13 +17119,13 @@
{
"name": "encrypt",
"default": null,
- "type": "657"
+ "type": "658"
}
],
"meta-type": "object"
},
{
- "name": "546",
+ "name": "547",
"members": [
{
"name": "location",
@@ -17101,11 +17139,11 @@
"meta-type": "object"
},
{
- "name": "547",
+ "name": "548",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -17114,17 +17152,17 @@
{
"name": "preallocation",
"default": null,
- "type": "649"
+ "type": "650"
}
],
"meta-type": "object"
},
{
- "name": "548",
+ "name": "549",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -17143,7 +17181,7 @@
{
"name": "subformat",
"default": null,
- "type": "658"
+ "type": "659"
},
{
"name": "block-state-zero",
@@ -17154,11 +17192,11 @@
"meta-type": "object"
},
{
- "name": "549",
+ "name": "550",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -17167,12 +17205,12 @@
{
"name": "extents",
"default": null,
- "type": "[517]"
+ "type": "[518]"
},
{
"name": "subformat",
"default": null,
- "type": "659"
+ "type": "660"
},
{
"name": "backing-file",
@@ -17182,7 +17220,7 @@
{
"name": "adapter-type",
"default": null,
- "type": "660"
+ "type": "661"
},
{
"name": "hwversion",
@@ -17203,11 +17241,11 @@
"meta-type": "object"
},
{
- "name": "550",
+ "name": "551",
"members": [
{
"name": "file",
- "type": "517"
+ "type": "518"
},
{
"name": "size",
@@ -17216,7 +17254,7 @@
{
"name": "subformat",
"default": null,
- "type": "661"
+ "type": "662"
},
{
"name": "force-size",
@@ -17227,11 +17265,11 @@
"meta-type": "object"
},
{
- "name": "551",
+ "name": "552",
"members": [
{
"name": "state",
- "type": "662"
+ "type": "663"
},
{
"name": "new-secret",
@@ -17262,12 +17300,12 @@
"meta-type": "object"
},
{
- "name": "552",
+ "name": "553",
"members": [
{
"name": "encrypt",
"default": null,
- "type": "663"
+ "type": "664"
}
],
"meta-type": "object"
@@ -17278,7 +17316,7 @@
"meta-type": "builtin"
},
{
- "name": "553",
+ "name": "554",
"members": [
{
"name": "inet"
@@ -17302,47 +17340,47 @@
]
},
{
- "name": "554",
+ "name": "555",
"members": [
{
"name": "data",
- "type": "535"
+ "type": "536"
}
],
"meta-type": "object"
},
{
- "name": "555",
+ "name": "556",
"members": [
{
"name": "data",
- "type": "574"
+ "type": "575"
}
],
"meta-type": "object"
},
{
- "name": "556",
+ "name": "557",
"members": [
{
"name": "data",
- "type": "575"
+ "type": "576"
}
],
"meta-type": "object"
},
{
- "name": "557",
+ "name": "558",
"members": [
{
"name": "data",
- "type": "573"
+ "type": "574"
}
],
"meta-type": "object"
},
{
- "name": "558",
+ "name": "559",
"members": [
{
"name": "off"
@@ -17362,7 +17400,7 @@
]
},
{
- "name": "559",
+ "name": "560",
"members": [
{
"name": "file"
@@ -17457,16 +17495,6 @@
"memory"
]
},
- {
- "name": "560",
- "members": [
- {
- "name": "data",
- "type": "664"
- }
- ],
- "meta-type": "object"
- },
{
"name": "561",
"members": [
@@ -17588,12 +17616,22 @@
"meta-type": "object"
},
{
- "name": "[573]",
- "element-type": "573",
+ "name": "573",
+ "members": [
+ {
+ "name": "data",
+ "type": "677"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[574]",
+ "element-type": "574",
"meta-type": "array"
},
{
- "name": "573",
+ "name": "574",
"members": [
{
"name": "str",
@@ -17603,7 +17641,7 @@
"meta-type": "object"
},
{
- "name": "574",
+ "name": "575",
"members": [
{
"name": "path",
@@ -17623,7 +17661,7 @@
"meta-type": "object"
},
{
- "name": "575",
+ "name": "576",
"members": [
{
"name": "cid",
@@ -17637,27 +17675,27 @@
"meta-type": "object"
},
{
- "name": "576",
+ "name": "577",
"members": [
{
"name": "data",
- "type": "677"
+ "type": "678"
}
],
"meta-type": "object"
},
{
- "name": "577",
+ "name": "578",
"members": [
{
"name": "data",
- "type": "678"
+ "type": "679"
}
],
"meta-type": "object"
},
{
- "name": "578",
+ "name": "579",
"members": [
{
"name": "number"
@@ -17673,7 +17711,7 @@
]
},
{
- "name": "579",
+ "name": "580",
"members": [
{
"name": "data",
@@ -17683,17 +17721,17 @@
"meta-type": "object"
},
{
- "name": "580",
+ "name": "581",
"members": [
{
"name": "data",
- "type": "679"
+ "type": "680"
}
],
"meta-type": "object"
},
{
- "name": "581",
+ "name": "582",
"members": [
{
"name": "key"
@@ -17717,37 +17755,37 @@
]
},
{
- "name": "582",
+ "name": "583",
"members": [
{
"name": "data",
- "type": "680"
+ "type": "681"
}
],
"meta-type": "object"
},
{
- "name": "583",
+ "name": "584",
"members": [
{
"name": "data",
- "type": "681"
+ "type": "682"
}
],
"meta-type": "object"
},
{
- "name": "584",
+ "name": "585",
"members": [
{
"name": "data",
- "type": "682"
+ "type": "683"
}
],
"meta-type": "object"
},
{
- "name": "585",
+ "name": "586",
"members": [
{
"name": "lctrl-lalt"
@@ -17772,12 +17810,12 @@
"meta-type": "builtin"
},
{
- "name": "[586]",
- "element-type": "586",
+ "name": "[587]",
+ "element-type": "587",
"meta-type": "array"
},
{
- "name": "586",
+ "name": "587",
"members": [
{
"name": "name",
@@ -17790,13 +17828,13 @@
{
"name": "transform",
"default": null,
- "type": "683"
+ "type": "684"
}
],
"meta-type": "object"
},
{
- "name": "587",
+ "name": "588",
"members": [
{
"name": "abort"
@@ -17855,17 +17893,17 @@
]
},
{
- "name": "588",
+ "name": "589",
"members": [
{
"name": "data",
- "type": "684"
+ "type": "685"
}
],
"meta-type": "object"
},
{
- "name": "589",
+ "name": "590",
"members": [
{
"name": "data",
@@ -17875,7 +17913,7 @@
"meta-type": "object"
},
{
- "name": "590",
+ "name": "591",
"members": [
{
"name": "data",
@@ -17885,7 +17923,7 @@
"meta-type": "object"
},
{
- "name": "591",
+ "name": "592",
"members": [
{
"name": "data",
@@ -17895,7 +17933,7 @@
"meta-type": "object"
},
{
- "name": "592",
+ "name": "593",
"members": [
{
"name": "data",
@@ -17905,7 +17943,7 @@
"meta-type": "object"
},
{
- "name": "593",
+ "name": "594",
"members": [
{
"name": "data",
@@ -17915,7 +17953,7 @@
"meta-type": "object"
},
{
- "name": "594",
+ "name": "595",
"members": [
{
"name": "data",
@@ -17925,7 +17963,7 @@
"meta-type": "object"
},
{
- "name": "595",
+ "name": "596",
"members": [
{
"name": "data",
@@ -17935,7 +17973,7 @@
"meta-type": "object"
},
{
- "name": "596",
+ "name": "597",
"members": [
{
"name": "data",
@@ -17945,7 +17983,7 @@
"meta-type": "object"
},
{
- "name": "597",
+ "name": "598",
"members": [
{
"name": "individual"
@@ -17961,7 +17999,7 @@
]
},
{
- "name": "598",
+ "name": "599",
"members": [
{
"name": "string"
@@ -18001,12 +18039,12 @@
]
},
{
- "name": "[599]",
- "element-type": "599",
+ "name": "[600]",
+ "element-type": "600",
"meta-type": "array"
},
{
- "name": "599",
+ "name": "600",
"members": [
{
"name": "name",
@@ -18021,12 +18059,12 @@
"meta-type": "object"
},
{
- "name": "[600]",
- "element-type": "600",
+ "name": "[601]",
+ "element-type": "601",
"meta-type": "array"
},
{
- "name": "600",
+ "name": "601",
"members": [
{
"name": "name",
@@ -18050,12 +18088,12 @@
"meta-type": "object"
},
{
- "name": "[601]",
- "element-type": "601",
+ "name": "[602]",
+ "element-type": "602",
"meta-type": "array"
},
{
- "name": "601",
+ "name": "602",
"members": [
{
"name": "case",
@@ -18069,12 +18107,12 @@
"meta-type": "object"
},
{
- "name": "[602]",
- "element-type": "602",
+ "name": "[603]",
+ "element-type": "603",
"meta-type": "array"
},
{
- "name": "602",
+ "name": "603",
"members": [
{
"name": "type",
@@ -18084,7 +18122,7 @@
"meta-type": "object"
},
{
- "name": "603",
+ "name": "604",
"members": [
{
"name": "deny"
@@ -18100,12 +18138,12 @@
]
},
{
- "name": "[604]",
- "element-type": "604",
+ "name": "[605]",
+ "element-type": "605",
"meta-type": "array"
},
{
- "name": "604",
+ "name": "605",
"members": [
{
"name": "match",
@@ -18113,18 +18151,18 @@
},
{
"name": "policy",
- "type": "603"
+ "type": "604"
},
{
"name": "format",
"default": null,
- "type": "685"
+ "type": "686"
}
],
"meta-type": "object"
},
{
- "name": "605",
+ "name": "606",
"members": [
{
"name": "all"
@@ -18144,7 +18182,7 @@
]
},
{
- "name": "606",
+ "name": "607",
"members": [
{
"name": "before"
@@ -18160,7 +18198,7 @@
]
},
{
- "name": "607",
+ "name": "608",
"members": [
{
"name": "ctrl-ctrl"
@@ -18192,7 +18230,7 @@
]
},
{
- "name": "608",
+ "name": "609",
"members": [
{
"name": "raw"
@@ -18208,7 +18246,7 @@
]
},
{
- "name": "609",
+ "name": "610",
"members": [
{
"name": "iops-total",
@@ -18309,7 +18347,7 @@
"meta-type": "object"
},
{
- "name": "610",
+ "name": "611",
"members": [
{
"name": "client"
@@ -18325,7 +18363,7 @@
]
},
{
- "name": "611",
+ "name": "612",
"members": [
{
"name": "uninitialized"
@@ -18353,7 +18391,7 @@
]
},
{
- "name": "612",
+ "name": "613",
"members": [
{
"name": "memory"
@@ -18377,7 +18415,7 @@
]
},
{
- "name": "613",
+ "name": "614",
"members": [
{
"name": "access-latency"
@@ -18409,7 +18447,7 @@
]
},
{
- "name": "614",
+ "name": "615",
"members": [
{
"name": "none"
@@ -18429,7 +18467,7 @@
]
},
{
- "name": "615",
+ "name": "616",
"members": [
{
"name": "none"
@@ -18449,7 +18487,7 @@
]
},
{
- "name": "616",
+ "name": "617",
"members": [
{
"name": "id",
@@ -18488,7 +18526,7 @@
"meta-type": "object"
},
{
- "name": "617",
+ "name": "618",
"members": [
{
"name": "id",
@@ -18511,7 +18549,7 @@
"meta-type": "object"
},
{
- "name": "618",
+ "name": "619",
"members": [
{
"name": "id",
@@ -18550,7 +18588,7 @@
"meta-type": "object"
},
{
- "name": "619",
+ "name": "620",
"members": [
{
"name": "id",
@@ -18577,7 +18615,7 @@
"meta-type": "object"
},
{
- "name": "620",
+ "name": "621",
"members": [
{
"name": "string"
@@ -18601,7 +18639,7 @@
]
},
{
- "name": "621",
+ "name": "622",
"members": [
{
"name": "desc",
@@ -18616,7 +18654,7 @@
"meta-type": "object"
},
{
- "name": "622",
+ "name": "623",
"members": [
{
"name": "device",
@@ -18640,27 +18678,27 @@
"meta-type": "object"
},
{
- "name": "623",
+ "name": "624",
"members": [
{
"name": "bus",
- "type": "686"
+ "type": "687"
},
{
"name": "devices",
"default": null,
- "type": "[494]"
+ "type": "[495]"
}
],
"meta-type": "object"
},
{
- "name": "[624]",
- "element-type": "624",
+ "name": "[625]",
+ "element-type": "625",
"meta-type": "array"
},
{
- "name": "624",
+ "name": "625",
"members": [
{
"name": "bar",
@@ -18692,7 +18730,7 @@
"meta-type": "object"
},
{
- "name": "625",
+ "name": "626",
"members": [
{
"type": "int"
@@ -18707,7 +18745,7 @@
"meta-type": "alternate"
},
{
- "name": "626",
+ "name": "627",
"members": [
{
"name": "cumulative"
@@ -18735,7 +18773,7 @@
]
},
{
- "name": "627",
+ "name": "628",
"members": [
{
"name": "bytes"
@@ -18759,7 +18797,7 @@
]
},
{
- "name": "628",
+ "name": "629",
"members": [
{
"name": "protocols",
@@ -18774,7 +18812,7 @@
"meta-type": "object"
},
{
- "name": "629",
+ "name": "630",
"members": [
{
"name": "unknown"
@@ -18802,7 +18840,7 @@
]
},
{
- "name": "630",
+ "name": "631",
"members": [
{
"name": "qcow2"
@@ -18826,47 +18864,47 @@
]
},
{
- "name": "631",
+ "name": "632",
"members": [
{
"name": "data",
- "type": "687"
+ "type": "688"
}
],
"meta-type": "object"
},
{
- "name": "632",
+ "name": "633",
"members": [
{
"name": "data",
- "type": "688"
+ "type": "689"
}
],
"meta-type": "object"
},
{
- "name": "633",
+ "name": "634",
"members": [
{
"name": "data",
- "type": "689"
+ "type": "690"
}
],
"meta-type": "object"
},
{
- "name": "634",
+ "name": "635",
"members": [
{
"name": "data",
- "type": "690"
+ "type": "691"
}
],
"meta-type": "object"
},
{
- "name": "635",
+ "name": "636",
"members": [
{
"name": "l1_update"
@@ -19066,7 +19104,7 @@
]
},
{
- "name": "636",
+ "name": "637",
"members": [
{
"name": "read"
@@ -19098,7 +19136,7 @@
]
},
{
- "name": "637",
+ "name": "638",
"members": [
{
"name": "inet"
@@ -19110,12 +19148,12 @@
]
},
{
- "name": "638",
+ "name": "639",
"members": [
{
"name": "template",
"default": null,
- "type": "639"
+ "type": "640"
},
{
"name": "main-header",
@@ -19166,7 +19204,7 @@
"meta-type": "object"
},
{
- "name": "639",
+ "name": "640",
"members": [
{
"name": "none"
@@ -19190,7 +19228,7 @@
]
},
{
- "name": "640",
+ "name": "641",
"members": [
{
"name": "aes"
@@ -19206,7 +19244,7 @@
]
},
{
- "name": "641",
+ "name": "642",
"members": [
{
"name": "key-secret",
@@ -19217,7 +19255,7 @@
"meta-type": "object"
},
{
- "name": "642",
+ "name": "643",
"members": [
{
"name": "key-secret",
@@ -19228,7 +19266,7 @@
"meta-type": "object"
},
{
- "name": "643",
+ "name": "644",
"members": [
{
"name": "aes"
@@ -19240,7 +19278,7 @@
]
},
{
- "name": "644",
+ "name": "645",
"members": [
{
"name": "luks"
@@ -19256,7 +19294,7 @@
]
},
{
- "name": "645",
+ "name": "646",
"members": [
{
"name": "key-secret",
@@ -19266,7 +19304,7 @@
"meta-type": "object"
},
{
- "name": "646",
+ "name": "647",
"members": [
{
"name": "key-secret",
@@ -19276,7 +19314,7 @@
"meta-type": "object"
},
{
- "name": "647",
+ "name": "648",
"members": [
{
"name": "none"
@@ -19296,11 +19334,11 @@
]
},
{
- "name": "648",
+ "name": "649",
"members": [
{
"name": "type",
- "type": "691"
+ "type": "692"
},
{
"name": "hash",
@@ -19310,7 +19348,7 @@
"meta-type": "object"
},
{
- "name": "649",
+ "name": "650",
"members": [
{
"name": "off"
@@ -19334,7 +19372,7 @@
]
},
{
- "name": "650",
+ "name": "651",
"members": [
{
"name": "aes-128"
@@ -19390,7 +19428,7 @@
]
},
{
- "name": "651",
+ "name": "652",
"members": [
{
"name": "ecb"
@@ -19414,7 +19452,7 @@
]
},
{
- "name": "652",
+ "name": "653",
"members": [
{
"name": "plain"
@@ -19434,7 +19472,7 @@
]
},
{
- "name": "653",
+ "name": "654",
"members": [
{
"name": "md5"
@@ -19470,28 +19508,28 @@
]
},
{
- "name": "654",
+ "name": "655",
"tag": "format",
"variants": [
{
"case": "qcow",
- "type": "641"
+ "type": "642"
},
{
"case": "luks",
- "type": "693"
+ "type": "694"
}
],
"members": [
{
"name": "format",
- "type": "692"
+ "type": "693"
}
],
"meta-type": "object"
},
{
- "name": "655",
+ "name": "656",
"members": [
{
"name": "v2"
@@ -19507,7 +19545,7 @@
]
},
{
- "name": "656",
+ "name": "657",
"members": [
{
"name": "zlib"
@@ -19523,28 +19561,28 @@
]
},
{
- "name": "657",
+ "name": "658",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "694"
+ "type": "695"
},
{
"case": "luks2",
- "type": "695"
+ "type": "696"
}
],
"members": [
{
"name": "format",
- "type": "644"
+ "type": "645"
}
],
"meta-type": "object"
},
{
- "name": "658",
+ "name": "659",
"members": [
{
"name": "dynamic"
@@ -19560,7 +19598,7 @@
]
},
{
- "name": "659",
+ "name": "660",
"members": [
{
"name": "monolithicSparse"
@@ -19588,7 +19626,7 @@
]
},
{
- "name": "660",
+ "name": "661",
"members": [
{
"name": "ide"
@@ -19612,7 +19650,7 @@
]
},
{
- "name": "661",
+ "name": "662",
"members": [
{
"name": "dynamic"
@@ -19628,7 +19666,7 @@
]
},
{
- "name": "662",
+ "name": "663",
"members": [
{
"name": "active"
@@ -19644,12 +19682,12 @@
]
},
{
- "name": "663",
+ "name": "664",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "696"
+ "type": "697"
},
{
"case": "qcow",
@@ -19659,13 +19697,13 @@
"members": [
{
"name": "format",
- "type": "692"
+ "type": "693"
}
],
"meta-type": "object"
},
{
- "name": "664",
+ "name": "665",
"members": [
{
"name": "logfile",
@@ -19695,7 +19733,7 @@
"meta-type": "object"
},
{
- "name": "665",
+ "name": "666",
"members": [
{
"name": "logfile",
@@ -19715,7 +19753,7 @@
"meta-type": "object"
},
{
- "name": "666",
+ "name": "667",
"members": [
{
"name": "logfile",
@@ -19729,7 +19767,7 @@
},
{
"name": "addr",
- "type": "335"
+ "type": "336"
},
{
"name": "tls-creds",
@@ -19780,7 +19818,7 @@
"meta-type": "object"
},
{
- "name": "667",
+ "name": "668",
"members": [
{
"name": "logfile",
@@ -19794,18 +19832,18 @@
},
{
"name": "remote",
- "type": "335"
+ "type": "336"
},
{
"name": "local",
"default": null,
- "type": "335"
+ "type": "336"
}
],
"meta-type": "object"
},
{
- "name": "668",
+ "name": "669",
"members": [
{
"name": "logfile",
@@ -19821,7 +19859,7 @@
"meta-type": "object"
},
{
- "name": "669",
+ "name": "670",
"members": [
{
"name": "logfile",
@@ -19841,7 +19879,7 @@
"meta-type": "object"
},
{
- "name": "670",
+ "name": "671",
"members": [
{
"name": "logfile",
@@ -19862,7 +19900,7 @@
"meta-type": "object"
},
{
- "name": "671",
+ "name": "672",
"members": [
{
"name": "logfile",
@@ -19882,7 +19920,7 @@
"meta-type": "object"
},
{
- "name": "672",
+ "name": "673",
"members": [
{
"name": "logfile",
@@ -19902,7 +19940,7 @@
"meta-type": "object"
},
{
- "name": "673",
+ "name": "674",
"members": [
{
"name": "logfile",
@@ -19928,7 +19966,7 @@
"meta-type": "object"
},
{
- "name": "674",
+ "name": "675",
"members": [
{
"name": "logfile",
@@ -19948,7 +19986,7 @@
"meta-type": "object"
},
{
- "name": "675",
+ "name": "676",
"members": [
{
"name": "logfile",
@@ -19984,7 +20022,7 @@
"meta-type": "object"
},
{
- "name": "676",
+ "name": "677",
"members": [
{
"name": "logfile",
@@ -20005,7 +20043,7 @@
"meta-type": "object"
},
{
- "name": "677",
+ "name": "678",
"members": [
{
"name": "path",
@@ -20021,7 +20059,7 @@
"meta-type": "object"
},
{
- "name": "678",
+ "name": "679",
"members": [
{
"name": "chardev",
@@ -20031,7 +20069,7 @@
"meta-type": "object"
},
{
- "name": "679",
+ "name": "680",
"members": [
{
"name": "unmapped"
@@ -20639,11 +20677,11 @@
]
},
{
- "name": "680",
+ "name": "681",
"members": [
{
"name": "key",
- "type": "387"
+ "type": "388"
},
{
"name": "down",
@@ -20653,11 +20691,11 @@
"meta-type": "object"
},
{
- "name": "681",
+ "name": "682",
"members": [
{
"name": "button",
- "type": "697"
+ "type": "698"
},
{
"name": "down",
@@ -20667,11 +20705,11 @@
"meta-type": "object"
},
{
- "name": "682",
+ "name": "683",
"members": [
{
"name": "axis",
- "type": "698"
+ "type": "699"
},
{
"name": "value",
@@ -20681,7 +20719,7 @@
"meta-type": "object"
},
{
- "name": "683",
+ "name": "684",
"members": [
{
"name": "persistent",
@@ -20692,13 +20730,13 @@
"meta-type": "object"
},
{
- "name": "684",
+ "name": "685",
"members": [
],
"meta-type": "object"
},
{
- "name": "685",
+ "name": "686",
"members": [
{
"name": "exact"
@@ -20714,7 +20752,7 @@
]
},
{
- "name": "686",
+ "name": "687",
"members": [
{
"name": "number",
@@ -20730,21 +20768,21 @@
},
{
"name": "io_range",
- "type": "699"
+ "type": "700"
},
{
"name": "memory_range",
- "type": "699"
+ "type": "700"
},
{
"name": "prefetchable_range",
- "type": "699"
+ "type": "700"
}
],
"meta-type": "object"
},
{
- "name": "687",
+ "name": "688",
"members": [
{
"name": "compat",
@@ -20782,22 +20820,22 @@
{
"name": "encrypt",
"default": null,
- "type": "700"
+ "type": "701"
},
{
"name": "bitmaps",
"default": null,
- "type": "[701]"
+ "type": "[702]"
},
{
"name": "compression-type",
- "type": "656"
+ "type": "657"
}
],
"meta-type": "object"
},
{
- "name": "688",
+ "name": "689",
"members": [
{
"name": "create-type",
@@ -20819,28 +20857,28 @@
"meta-type": "object"
},
{
- "name": "689",
+ "name": "690",
"members": [
{
"name": "cipher-alg",
- "type": "650"
+ "type": "651"
},
{
"name": "cipher-mode",
- "type": "651"
+ "type": "652"
},
{
"name": "ivgen-alg",
- "type": "652"
+ "type": "653"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "653"
+ "type": "654"
},
{
"name": "hash-alg",
- "type": "653"
+ "type": "654"
},
{
"name": "payload-offset",
@@ -20856,24 +20894,24 @@
},
{
"name": "slots",
- "type": "[702]"
+ "type": "[703]"
}
],
"meta-type": "object"
},
{
- "name": "690",
+ "name": "691",
"members": [
{
"name": "encryption-format",
"default": null,
- "type": "644"
+ "type": "645"
}
],
"meta-type": "object"
},
{
- "name": "691",
+ "name": "692",
"members": [
{
"name": "md5"
@@ -20893,7 +20931,7 @@
]
},
{
- "name": "692",
+ "name": "693",
"members": [
{
"name": "qcow"
@@ -20909,7 +20947,7 @@
]
},
{
- "name": "693",
+ "name": "694",
"members": [
{
"name": "key-secret",
@@ -20919,27 +20957,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "650"
+ "type": "651"
},
{
"name": "cipher-mode",
"default": null,
- "type": "651"
+ "type": "652"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "652"
+ "type": "653"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "653"
+ "type": "654"
},
{
"name": "hash-alg",
"default": null,
- "type": "653"
+ "type": "654"
},
{
"name": "iter-time",
@@ -20950,7 +20988,7 @@
"meta-type": "object"
},
{
- "name": "694",
+ "name": "695",
"members": [
{
"name": "key-secret",
@@ -20959,13 +20997,13 @@
{
"name": "cipher-alg",
"default": null,
- "type": "650"
+ "type": "651"
}
],
"meta-type": "object"
},
{
- "name": "695",
+ "name": "696",
"members": [
{
"name": "key-secret",
@@ -20974,17 +21012,17 @@
{
"name": "cipher-alg",
"default": null,
- "type": "650"
+ "type": "651"
}
],
"meta-type": "object"
},
{
- "name": "696",
+ "name": "697",
"members": [
{
"name": "state",
- "type": "662"
+ "type": "663"
},
{
"name": "new-secret",
@@ -21015,7 +21053,7 @@
"meta-type": "object"
},
{
- "name": "697",
+ "name": "698",
"members": [
{
"name": "left"
@@ -21059,7 +21097,7 @@
]
},
{
- "name": "698",
+ "name": "699",
"members": [
{
"name": "x"
@@ -21075,7 +21113,7 @@
]
},
{
- "name": "699",
+ "name": "700",
"members": [
{
"name": "base",
@@ -21089,12 +21127,12 @@
"meta-type": "object"
},
{
- "name": "700",
+ "name": "701",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "689"
+ "type": "690"
},
{
"case": "aes",
@@ -21104,18 +21142,18 @@
"members": [
{
"name": "format",
- "type": "640"
+ "type": "641"
}
],
"meta-type": "object"
},
{
- "name": "[701]",
- "element-type": "701",
+ "name": "[702]",
+ "element-type": "702",
"meta-type": "array"
},
{
- "name": "701",
+ "name": "702",
"members": [
{
"name": "name",
@@ -21127,7 +21165,7 @@
},
{
"name": "flags",
- "type": "[703]"
+ "type": "[704]"
}
],
"meta-type": "object"
@@ -21138,12 +21176,12 @@
"meta-type": "array"
},
{
- "name": "[702]",
- "element-type": "702",
+ "name": "[703]",
+ "element-type": "703",
"meta-type": "array"
},
{
- "name": "702",
+ "name": "703",
"members": [
{
"name": "active",
@@ -21167,12 +21205,12 @@
"meta-type": "object"
},
{
- "name": "[703]",
- "element-type": "703",
+ "name": "[704]",
+ "element-type": "704",
"meta-type": "array"
},
{
- "name": "703",
+ "name": "704",
"members": [
{
"name": "in-use"
@@ -22954,6 +22992,10 @@
"name": "Conroe-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "cryptodev-backend-lkcf",
+ "parent": "cryptodev-backend"
+ },
{
"name": "apic",
"parent": "apic-common"
@@ -24680,6 +24722,12 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": true,
"name": "write-zeroes",
@@ -25094,6 +25142,12 @@
"name": "x-mtu-bypass-backend",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": true,
"name": "ctrl_rx_extra",
@@ -25334,6 +25388,11 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
{
"default-value": true,
"name": "use-disabled-flag",
@@ -25390,7 +25449,8 @@
},
{
"default-value": true,
- "name": "use-started",
+ "name": "queue_reset",
+ "description": "on/off",
"type": "bool"
},
{
@@ -26873,6 +26933,12 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": false,
"name": "packed",
@@ -26924,8 +26990,8 @@
{
"return": [
{
- "default-value": false,
- "name": "packed",
+ "default-value": true,
+ "name": "queue_reset",
"description": "on/off",
"type": "bool"
},
@@ -26934,6 +27000,12 @@
"name": "use-disabled-flag",
"type": "bool"
},
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": false,
"name": "iommu_platform",
@@ -27330,13 +27402,13 @@
},
{
"default-value": true,
- "name": "event_idx",
- "description": "on/off",
+ "name": "use-disabled-flag",
"type": "bool"
},
{
"default-value": true,
- "name": "use-disabled-flag",
+ "name": "event_idx",
+ "description": "on/off",
"type": "bool"
},
{
@@ -27364,6 +27436,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
{
"default-value": true,
"name": "notify_on_empty",
@@ -27371,8 +27447,10 @@
"type": "bool"
},
{
- "name": "iothread",
- "type": "link<iothread>"
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
},
{
"default-value": false,
@@ -27431,8 +27509,8 @@
{
"return": [
{
- "default-value": false,
- "name": "packed",
+ "default-value": true,
+ "name": "queue_reset",
"description": "on/off",
"type": "bool"
},
@@ -27441,6 +27519,12 @@
"name": "use-disabled-flag",
"type": "bool"
},
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": false,
"name": "iommu_platform",
@@ -27557,6 +27641,11 @@
"name": "x-scalable-mode",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "dma-translation",
+ "type": "bool"
+ },
{
"default-value": false,
"name": "caching-mode",
@@ -27584,8 +27673,8 @@
"type": "bool"
},
{
- "default-value": true,
- "name": "dma-translation",
+ "default-value": false,
+ "name": "x-pasid-mode",
"type": "bool"
},
{
@@ -27982,8 +28071,8 @@
{
"return": [
{
- "default-value": false,
- "name": "packed",
+ "default-value": true,
+ "name": "queue_reset",
"description": "on/off",
"type": "bool"
},
@@ -27992,6 +28081,12 @@
"name": "use-disabled-flag",
"type": "bool"
},
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": false,
"name": "iommu_platform",
@@ -28241,6 +28336,10 @@
"name": "node",
"type": "uint32"
},
+ {
+ "name": "requested-size",
+ "type": "size"
+ },
{
"default-value": false,
"name": "x-disable-legacy-check",
@@ -28253,8 +28352,10 @@
"type": "bool"
},
{
- "name": "requested-size",
- "type": "size"
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
},
{
"default-value": true,
@@ -28460,6 +28561,12 @@
"name": "use-disabled-flag",
"type": "bool"
},
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"name": "virtio-backend",
"type": "child<virtio-iommu-device>"
@@ -33190,11 +33297,6 @@
"return": [
{
"parameters": [
- {
- "name": "zpcii-disable",
- "help": "disable zPCI interpretation facilities",
- "type": "boolean"
- },
{
"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",
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
index b478c53502..0fa042a339 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
@@ -200,10 +200,10 @@
<flag name='query-stats'/>
<flag name='query-stats-schemas'/>
<flag name='thread-context'/>
- <version>7001050</version>
+ <version>7001091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100245</microcodeVersion>
- <package>v7.1.0-1579-g5107fd3eff</package>
+ <package>v7.2.0-rc1</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
--
2.37.3
2
1
Avocado has changed something in their internals between v98.0 and v99.0 which
caused our TCK test suite to start failing in GitLab. The problem could not be
identified easily because GitLab doesn't run 'after_script' when a job timeout
is reached [1]. Avocado issue created here [2].
Here's a successful pipeline with the patch applied [3].
[1] https://gitlab.com/gitlab-org/gitlab/-/issues/15603
[2] https://github.com/avocado-framework/avocado/issues/5521
[3] https://gitlab.com/eskultety/libvirt/-/pipelines/695512878
Erik Skultety (1):
ci: integration: Lock the Avocado version to 98.0 for now
ci/integration-template.yml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--
2.38.1
2
2
See 2/7 for explanation.
Michal Prívozník (7):
qemu_capabilities: Introduce QEMU_CAPS_THREAD_CONTEXT
qemu_command: Introduce qemuBuildThreadContextProps()
qemu: Delete thread-context objects at domain startup
qemu_command: Generate thread-context object for guest NUMA memory
qemu: Generate thread-context object for memory devices
qemu_command: Generate thread-context object for main guest memory
qemu_hotplug: Generate thread-context object for memory device
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 83 +++++++++++++++++++
src/qemu/qemu_command.h | 5 ++
src/qemu/qemu_domain.c | 2 +
src/qemu/qemu_domain.h | 2 +
src/qemu/qemu_hotplug.c | 22 +++++
src/qemu/qemu_process.c | 47 +++++++++++
src/qemu/qemu_process.h | 2 +
.../caps_7.2.0.x86_64.xml | 1 +
.../hugepages-memaccess.x86_64-latest.args | 15 ++--
.../hugepages-memaccess2.x86_64-latest.args | 15 ++--
...pages-numa-default-dimm.x86_64-latest.args | 3 +-
.../hugepages-shared.x86_64-latest.args | 12 ++-
...memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 6 +-
...emory-hotplug-dimm-addr.x86_64-latest.args | 3 +-
...mory-hotplug-virtio-mem.x86_64-latest.args | 3 +-
.../numatune-memnode.x86_64-latest.args | 9 +-
.../numatune-system-memory.x86_64-latest.args | 3 +-
.../pages-dimm-discard.x86_64-latest.args | 3 +-
21 files changed, 217 insertions(+), 25 deletions(-)
--
2.37.4
3
15
yay, blurb
Martin Kletzander (2):
util: Remove return value from virTypedParamsCopy
virGetConnectGeneric: Only delegate existing identities
src/driver.c | 14 ++++++--------
src/libvirt-domain.c | 3 +--
src/util/viridentity.c | 10 ++++------
src/util/virtypedparam.c | 6 ++----
src/util/virtypedparam.h | 6 +++---
src/vz/vz_driver.c | 3 +--
6 files changed, 17 insertions(+), 25 deletions(-)
--
2.38.1
2
3
Two notable changes:
* the macOS platform has switched from x86_64 to aarch64
* if a new pipeline starts before a previous one finishes,
jobs marked 'interruptible: true' will be auto-cancelled
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
NB: the macOS changes are pending on approval of:
https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/333
ci/gitlab.yml | 1 +
ci/gitlab/build-templates.yml | 37 ++++++++++++++++++-------------
ci/gitlab/builds.yml | 6 ++---
ci/gitlab/container-templates.yml | 1 +
ci/gitlab/sanity-checks.yml | 1 +
ci/manifest.yml | 2 +-
6 files changed, 28 insertions(+), 20 deletions(-)
diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index bdc5e0a96f..3866dcf545 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -67,6 +67,7 @@ workflow:
debug:
image: docker.io/library/alpine:3
stage: sanity_checks
+ interruptible: true
needs: []
script:
- printenv | sort
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
index 5d7d6c59c5..259cf2b173 100644
--- a/ci/gitlab/build-templates.yml
+++ b/ci/gitlab/build-templates.yml
@@ -9,14 +9,14 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
-# - Validating patches targetting default upstream branch
+# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
-# - Validating patches targetting a non-default upstream branch
-# - Validating patches targetting default upstream branch which
+# - Validating patches targeting a non-default upstream branch
+# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
@@ -26,6 +26,7 @@
.gitlab_native_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest
stage: builds
+ interruptible: true
before_script:
- cat /packages.txt
rules:
@@ -36,14 +37,14 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting the default branch
+ # upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
when: on_success
- # upstream+forks: merge requests targetting the default branch, without CI changes
+ # upstream+forks: merge requests targeting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
@@ -61,6 +62,7 @@
.gitlab_native_build_job_local_env:
image: $IMAGE
stage: builds
+ interruptible: true
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
@@ -79,7 +81,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting non-default branches
+ # upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -93,7 +95,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
- # upstream+forks: merge requests targetting the default branch, with CI changes
+ # upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
@@ -106,7 +108,7 @@
- ci/containers/$NAME.Dockerfile
when: on_success
- # upstream+forks: merge requests targetting non-default branches
+ # upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -121,14 +123,14 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
-# - Validating patches targetting default upstream branch
+# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
-# - Validating patches targetting a non-default upstream branch
-# - Validating patches targetting default upstream branch which
+# - Validating patches targeting a non-default upstream branch
+# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
@@ -138,6 +140,7 @@
.gitlab_cross_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CROSS:latest
stage: builds
+ interruptible: true
before_script:
- cat /packages.txt
rules:
@@ -148,14 +151,14 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting the default branch
+ # upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
when: on_success
- # upstream+forks: merge requests targetting the default branch, without CI changes
+ # upstream+forks: merge requests targeting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
@@ -173,6 +176,7 @@
.gitlab_cross_build_job_local_env:
image: $IMAGE
stage: builds
+ interruptible: true
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
@@ -191,7 +195,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting non-default branches
+ # upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -205,7 +209,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
- # upstream+forks: merge requests targetting the default branch, with CI changes
+ # upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
@@ -218,7 +222,7 @@
- ci/containers/$NAME.Dockerfile
when: on_success
- # upstream+forks: merge requests targetting non-default branches
+ # upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -232,6 +236,7 @@
.cirrus_build_job:
stage: builds
image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
+ interruptible: true
needs: []
script:
- source ci/cirrus/$NAME.vars
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index e2f2f39320..0e2daebe97 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -860,14 +860,14 @@ x86_64-freebsd-13:
UPGRADE_COMMAND: pkg upgrade -y
-x86_64-macos-12:
+aarch64-macos-12:
extends: .cirrus_build_job
needs: []
allow_failure: false
variables:
- CIRRUS_VM_IMAGE_NAME: monterey-base
+ CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-monterey-base:latest
CIRRUS_VM_IMAGE_SELECTOR: image
- CIRRUS_VM_INSTANCE_TYPE: osx_instance
+ CIRRUS_VM_INSTANCE_TYPE: macos_instance
INSTALL_COMMAND: brew install
NAME: macos-12
PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
diff --git a/ci/gitlab/container-templates.yml b/ci/gitlab/container-templates.yml
index a577028d11..edb4aba676 100644
--- a/ci/gitlab/container-templates.yml
+++ b/ci/gitlab/container-templates.yml
@@ -16,6 +16,7 @@
.container_job:
image: docker:stable
stage: containers
+ interruptible: false
needs: []
services:
- docker:dind
diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml
index f843c7f708..cdcfb9bf91 100644
--- a/ci/gitlab/sanity-checks.yml
+++ b/ci/gitlab/sanity-checks.yml
@@ -9,6 +9,7 @@ check-dco:
stage: sanity_checks
needs: []
image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
+ interruptible: true
script:
- /check-dco "$RUN_UPSTREAM_NAMESPACE"
rules:
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 865a82a4a9..2aec92dd26 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -175,7 +175,7 @@ targets:
macos-12:
jobs:
- - arch: x86_64
+ - arch: aarch64
variables:
PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
--
2.37.3
2
1
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
NEWS.rst | 2 +-
src/qemu/qemu.conf.in | 2 +-
src/qemu/qemu_monitor.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/NEWS.rst b/NEWS.rst
index e584bc1fed..2ce8ef4b6a 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -218,7 +218,7 @@ v8.5.0 (2022-07-01)
* qemu: Add support for zero-copy migration
With QEMU 7.1.0, libvirt can enable zerocopy for parallel migration. This
- is implmented by adding a new ``VIR_MIGRATE_ZEROCOPY`` flag(``virsh migrate
+ is implemented by adding a new ``VIR_MIGRATE_ZEROCOPY`` flag(``virsh migrate
--zerocopy``).
* Introduce thread_pool_min and thread_pool_max attributes to IOThread
diff --git a/src/qemu/qemu.conf.in b/src/qemu/qemu.conf.in
index 623da72d60..3895d42514 100644
--- a/src/qemu/qemu.conf.in
+++ b/src/qemu/qemu.conf.in
@@ -963,7 +963,7 @@
# "vcpus" - only QEMU vCPU threads are placed into a separate scheduling group,
# emulator threads and helper processes remain outside of the group
# "emulator" - only QEMU and its threads (emulator + vCPUs) are placed into
-# separate scheduling group, helper proccesses remain outside of
+# separate scheduling group, helper processes remain outside of
# the group
# "full" - both QEMU and its helper processes are placed into separate
# scheduling group
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 8ada16154c..80f262cec7 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -4346,7 +4346,7 @@ qemuMonitorQueryStatsProviderNew(qemuMonitorQueryStatsProviderType provider_type
/*
* This can be lowered later in case of the enum getting quite large, hence
- * the virBitmapSetExpand below which also incidently makes this function
+ * the virBitmapSetExpand below which also incidentally makes this function
* non-fallible.
*/
provider->names = virBitmapNew(QEMU_MONITOR_QUERY_STATS_NAME_LAST);
--
2.36.1
2
1
Downstream CI recently encountered failures of libxlxml2domconfigtest when
building libvirt packages against Xen 4.17 rc3 packages. The test fails on
vnuma_hvm config, where suddently the actual json produced by
libxl_domain_config_to_json() contains a 'pnode' entry in the 'vnuma_nodes'
list, which is absent in the expected json. It appears the test has thus far
passed by luck. E.g. I was able to make the test pass in the failing
environment by changing the meson buildtype from debugoptimized to debug.
When a VM config contains vnuma settings, libxlMakeVnumaList() checks if the
number of requested vnuma nodes exceeds the number of physical nodes. The
number of physical nodes is retrieved with libxl_get_physinfo(), which can
return wildly different results in the context of unit tests. This change
mocks libxl_get_physinfo() to return consistent results. All fields of the
libxl_physinfo struct are set to 0 except nr_nodes, which is set to 6 to
ensure the vnuma_hvm configuration is properly tested.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
tests/libxlmock.c | 15 +++++++++++++++
tests/libxlxml2domconfigdata/vnuma-hvm.json | 5 +++++
2 files changed, 20 insertions(+)
diff --git a/tests/libxlmock.c b/tests/libxlmock.c
index 4754597e5b..205d34df19 100644
--- a/tests/libxlmock.c
+++ b/tests/libxlmock.c
@@ -70,6 +70,21 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version_info,
return &info;
}
+VIR_MOCK_IMPL_RET_ARGS(libxl_get_physinfo,
+ int,
+ libxl_ctx *, ctx,
+ libxl_physinfo *, physinfo)
+{
+ memset(physinfo, 0, sizeof(*physinfo));
+ physinfo->nr_nodes = 6;
+
+ /* silence gcc warning about unused function */
+ if (0)
+ real_libxl_get_physinfo(ctx, physinfo);
+
+ return 0;
+}
+
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
int, 0,
libxl_ctx *, ctx,
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm.json b/tests/libxlxml2domconfigdata/vnuma-hvm.json
index 2556c82d5f..c90ee823a4 100644
--- a/tests/libxlxml2domconfigdata/vnuma-hvm.json
+++ b/tests/libxlxml2domconfigdata/vnuma-hvm.json
@@ -39,6 +39,7 @@
41,
51
],
+ "pnode": 1,
"vcpus": [
1
]
@@ -53,6 +54,7 @@
31,
41
],
+ "pnode": 2,
"vcpus": [
2
]
@@ -67,6 +69,7 @@
21,
31
],
+ "pnode": 3,
"vcpus": [
3
]
@@ -81,6 +84,7 @@
10,
21
],
+ "pnode": 4,
"vcpus": [
4
]
@@ -95,6 +99,7 @@
21,
10
],
+ "pnode": 5,
"vcpus": [
5
]
--
2.37.3
2
2
11 Nov '22
In one of recent commits an error message was introduced. In this
message a variable of type ssize_t is being printed out, but the
corresponding format directive is %ld instead of %zd which breaks
on 32bits systems. Switch to proper format.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed under trivial rule.
src/qemu/qemu_validate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index bd040c7ff8..c687df0bfc 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -5047,7 +5047,7 @@ qemuValidateDomainDeviceDefMemory(virDomainMemoryDef *mem,
while ((node = virBitmapNextSetBit(mem->sourceNodes, node)) >= 0) {
if (mem->size > sgxCaps->sgxSections[node].size) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("sgx epc size %lld on host node %ld is less than requested size %lld"),
+ _("sgx epc size %lld on host node %zd is less than requested size %lld"),
sgxCaps->sgxSections[node].size, node, mem->size);
return -1;
}
--
2.37.4
1
0
Diff to v16:
* Included SGX EPC in the calculation and validation of maximum
memory space in qemuDomainDefValidateMemoryHotplug. Removed
all hacking in this function, but only skip
qemuDomainDefValidateMemoryHotplugDevice validation for SGX EPC,
since it is not hotpluggable.
* Added SGX fields in new QEMU 7.2 domaincaps xml.
Haibin Huang (4):
domain_capabilities: Define SGX capabilities structs
qemu: Get SGX capabilities form QMP
Convert QMP capabilities to domain capabilities
conf: expose SGX feature in domain capabilities
Lin Yang (2):
conf: Introduce SGX EPC element into device memory xml
qemu: Add command-line to generate SGX EPC memory backend
Michal Prívozník (3):
qemu_cgroup: Allow SGX in devices controller
qemu_namespace: Create SGX related nodes in domain's namespace
security_dac: Set DAC label on SGX /dev nodes
docs/formatdomain.rst | 25 +-
docs/formatdomaincaps.rst | 40 ++++
src/conf/domain_capabilities.c | 47 ++++
src/conf/domain_capabilities.h | 22 ++
src/conf/domain_conf.c | 30 +++
src/conf/domain_conf.h | 1 +
src/conf/domain_postparse.c | 1 +
src/conf/domain_validate.c | 9 +
src/conf/schemas/domaincaps.rng | 43 ++++
src/conf/schemas/domaincommon.rng | 1 +
src/libvirt_private.syms | 1 +
src/qemu/qemu_alias.c | 6 +-
src/qemu/qemu_capabilities.c | 220 ++++++++++++++++++
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_cgroup.c | 78 ++++++-
src/qemu/qemu_command.c | 66 +++++-
src/qemu/qemu_domain.c | 28 ++-
src/qemu/qemu_domain.h | 2 +
src/qemu/qemu_domain_address.c | 6 +
src/qemu/qemu_driver.c | 1 +
src/qemu/qemu_monitor.c | 10 +
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 154 +++++++++++-
src/qemu/qemu_monitor_json.h | 4 +
src/qemu/qemu_namespace.c | 20 +-
src/qemu/qemu_process.c | 2 +
src/qemu/qemu_validate.c | 40 ++++
src/security/security_apparmor.c | 1 +
src/security/security_dac.c | 46 ++--
src/security/security_selinux.c | 2 +
tests/domaincapsdata/bhyve_basic.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_fbuf.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_uefi.x86_64.xml | 1 +
tests/domaincapsdata/empty.xml | 1 +
tests/domaincapsdata/libxl-xenfv.xml | 1 +
tests/domaincapsdata/libxl-xenpv.xml | 1 +
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 +
.../qemu_4.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
.../qemu_5.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
.../qemu_5.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
.../qemu_6.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 +
.../qemu_6.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 10 +
.../qemu_7.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 +
.../caps_6.2.0.x86_64.replies | 21 +-
.../caps_7.0.0.x86_64.replies | 34 ++-
.../caps_7.0.0.x86_64.xml | 11 +
.../caps_7.1.0.x86_64.replies | 21 +-
.../caps_7.2.0.x86_64.replies | 21 +-
.../sgx-epc.x86_64-7.0.0.args | 40 ++++
tests/qemuxml2argvdata/sgx-epc.xml | 65 ++++++
tests/qemuxml2argvtest.c | 2 +
.../sgx-epc.x86_64-7.0.0.xml | 65 ++++++
tests/qemuxml2xmltest.c | 2 +
98 files changed, 1210 insertions(+), 70 deletions(-)
create mode 100644 tests/qemuxml2argvdata/sgx-epc.x86_64-7.0.0.args
create mode 100644 tests/qemuxml2argvdata/sgx-epc.xml
create mode 100644 tests/qemuxml2xmloutdata/sgx-epc.x86_64-7.0.0.xml
--
2.25.1
2
1
[libvirt][PATCH v17 1/9] domain_capabilities: Define SGX capabilities structs
by Lin Yang 11 Nov '22
by Lin Yang 11 Nov '22
11 Nov '22
From: Haibin Huang <haibin.huang(a)intel.com>
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
Reviewed-by: Peter Krempa <pkrempa(a)redhat.com>
Signed-off-by: Haibin Huang <haibin.huang(a)intel.com>
---
src/conf/domain_capabilities.c | 11 +++++++++++
src/conf/domain_capabilities.h | 22 ++++++++++++++++++++++
src/libvirt_private.syms | 1 +
3 files changed, 34 insertions(+)
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index a7f256e4ec..daeaee3c5c 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -76,6 +76,17 @@ virSEVCapabilitiesFree(virSEVCapability *cap)
}
+void
+virSGXCapabilitiesFree(virSGXCapability *cap)
+{
+ if (!cap)
+ return;
+
+ g_free(cap->sgxSections);
+ g_free(cap);
+}
+
+
static void
virDomainCapsDispose(void *obj)
{
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index e0cfa75531..1d504a3506 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -208,6 +208,22 @@ struct _virSEVCapability {
unsigned int max_es_guests;
};
+typedef struct _virSGXSection virSGXSection;
+struct _virSGXSection {
+ unsigned long long size;
+ unsigned int node;
+};
+
+typedef struct _virSGXCapability virSGXCapability;
+struct _virSGXCapability {
+ bool flc;
+ bool sgx1;
+ bool sgx2;
+ unsigned long long section_size;
+ size_t nSgxSections;
+ virSGXSection *sgxSections;
+};
+
typedef enum {
VIR_DOMAIN_CAPS_FEATURE_IOTHREADS = 0,
VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO,
@@ -246,6 +262,7 @@ struct _virDomainCaps {
virDomainCapsFeatureGIC gic;
virSEVCapability *sev;
+ virSGXCapability *sgx;
/* add new domain features here */
virTristateBool features[VIR_DOMAIN_CAPS_FEATURE_LAST];
@@ -296,3 +313,8 @@ void
virSEVCapabilitiesFree(virSEVCapability *capabilities);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSEVCapability, virSEVCapabilitiesFree);
+
+void
+virSGXCapabilitiesFree(virSGXCapability *capabilities);
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSGXCapability, virSGXCapabilitiesFree);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 97ff2a43e4..ebd7bc61a8 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -218,6 +218,7 @@ virDomainCapsEnumSet;
virDomainCapsFormat;
virDomainCapsNew;
virSEVCapabilitiesFree;
+virSGXCapabilitiesFree;
# conf/domain_conf.h
--
2.25.1
1
8
[libvirt][PATCH v16 1/9] domain_capabilities: Define SGX capabilities structs
by Lin Yang 10 Nov '22
by Lin Yang 10 Nov '22
10 Nov '22
From: Haibin Huang <haibin.huang(a)intel.com>
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
Signed-off-by: Haibin Huang <haibin.huang(a)intel.com>
---
src/conf/domain_capabilities.c | 11 +++++++++++
src/conf/domain_capabilities.h | 22 ++++++++++++++++++++++
src/libvirt_private.syms | 1 +
3 files changed, 34 insertions(+)
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index 653123f293..869b5d68e6 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -76,6 +76,17 @@ virSEVCapabilitiesFree(virSEVCapability *cap)
}
+void
+virSGXCapabilitiesFree(virSGXCapability *cap)
+{
+ if (!cap)
+ return;
+
+ g_free(cap->sgxSections);
+ g_free(cap);
+}
+
+
static void
virDomainCapsDispose(void *obj)
{
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index a526969cda..3c9fd7f7de 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -193,6 +193,22 @@ struct _virSEVCapability {
unsigned int max_es_guests;
};
+typedef struct _virSGXSection virSGXSection;
+struct _virSGXSection {
+ unsigned long long size;
+ unsigned int node;
+};
+
+typedef struct _virSGXCapability virSGXCapability;
+struct _virSGXCapability {
+ bool flc;
+ bool sgx1;
+ bool sgx2;
+ unsigned long long section_size;
+ size_t nSgxSections;
+ virSGXSection *sgxSections;
+};
+
typedef enum {
VIR_DOMAIN_CAPS_FEATURE_IOTHREADS = 0,
VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO,
@@ -229,6 +245,7 @@ struct _virDomainCaps {
virDomainCapsFeatureGIC gic;
virSEVCapability *sev;
+ virSGXCapability *sgx;
/* add new domain features here */
virTristateBool features[VIR_DOMAIN_CAPS_FEATURE_LAST];
@@ -277,3 +294,8 @@ void
virSEVCapabilitiesFree(virSEVCapability *capabilities);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSEVCapability, virSEVCapabilitiesFree);
+
+void
+virSGXCapabilitiesFree(virSGXCapability *capabilities);
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSGXCapability, virSGXCapabilitiesFree);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 00cb07709d..97b019d00a 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -218,6 +218,7 @@ virDomainCapsEnumSet;
virDomainCapsFormat;
virDomainCapsNew;
virSEVCapabilitiesFree;
+virSGXCapabilitiesFree;
# conf/domain_conf.h
--
2.25.1
5
15
Hi,
I'm really unhappy about commit 8eb4461645c5 ("remove sysconfig files",
2022-01-17), first included in release v8.1.0.
The (a) well-documented and (b) easily editable config file
"/etc/sysconfig/libvirt-guests" is now gone. So if I want to do now on
Fedora 36 the same thing that I used to do on up to and including Fedora
35, I now need to consult a new manual page (from grandparent commit
161727417a91, "docs: Add man page for libvirt-guests", 2022-01-17), and
collect a bunch of options manually.
The message on commit 8eb4461645c5 says,
Remove the sysconfig file and place the current desired default into
the service file.
which I briefly considered a consolation, figuring I'd just copy the
collected bunch of options (and hopefully their comments!) to the same
place as before, from the "service file" -- "libvirt-guests.service".
However, the actual commit does not live up to its promise; for example,
the important ON_SHUTDOWN knob is only *removed* from the codebase by
the commit; it is not reintroduced anywhere (certainly not in
"libvirt-guests.service"). Well, the manual page, two commits up the
branch, documents it, but that's totally no viable replacement.
As of f8ebb5816350:
> $ git grep -w ON_SHUTDOWN
>
> docs/manpages/libvirt-guests.rst:- ON_SHUTDOWN=suspend
> docs/manpages/libvirt-guests.rst: time to shutdown. When setting ON_SHUTDOWN=shutdown, you must also set
> docs/manpages/libvirt-guests.rst: "ON_SHUTDOWN" is set to "shutdown". If Set to 0, guests will be shutdown one
> tools/libvirt-guests.sh.in:ON_SHUTDOWN="suspend"
> tools/libvirt-guests.sh.in: if [ "x$ON_SHUTDOWN" = xshutdown ]; then
> tools/libvirt-guests.sh.in: ON_SHUTDOWN="shutdown"
... It seems that "tools/libvirt-guests.sh.in" does have some built-in
defaults (going back as far as to 66823690e469, "Init script for
handling guests on shutdown/boot", 2010-05-21), which I could copy and
modify presumably; however, those defaults still lack the previously
directly adjacent documentation.
Please consider remedying this. Readily editable config files with
documentation and defaults included are very powerful. They are not
suitable for all config formats of course (especially hierarchical ones:
consider the domain XML for example), but for flat or otherwise simply
structured config files, offering that productivity boost to end-users
is a no-brainer, IMO. Please restore it if you can.
Thanks
Laszlo
4
13
[PATCH v3] nodedev: ignore EINVAL from libudev in udevEventHandleThread
by christian.ehrhardt@canonical.com 10 Nov '22
by christian.ehrhardt@canonical.com 10 Nov '22
10 Nov '22
From: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
Certain udev entries might be of a size that makes libudev emit EINVAL
which right now leads to udevEventHandleThread exiting. Due to no more
handling events other elements of libvirt will start pushing for events
to be consumed which never happens causing a busy loop burning a cpu
without any gain.
After evaluation of the example case discussed in in #245 and a test
run ignoring EINVAL it was considered safe to add EINVAL to the ignored
errnos to not exit udevEventHandleThread giving it more resilience.
The root cause is in systemd and by now was discussed and fixed via
https://github.com/systemd/systemd/issues/24987, but hardening libvirt
to be able to better deal with EINVAL returned still is the right thing
to avoid the reported busy loops on systemd with older systemd versions.
Fixes: https://gitlab.com/libvirt/libvirt/-/issues/245
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
Reviewed-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/node_device/node_device_udev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 24ef1c25a9..2454cab8f8 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1865,10 +1865,12 @@ udevEventHandleThread(void *opaque G_GNUC_UNUSED)
}
/* POSIX allows both EAGAIN and EWOULDBLOCK to be used
- * interchangeably when the read would block or timeout was fired
+ * interchangeably when the read would block or timeout was fired.
+ * EINVAL might happen on too large udev entries, ignore those for
+ * the robustness of udevEventHandleThread.
*/
VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR
- if (errno != EAGAIN && errno != EWOULDBLOCK) {
+ if (errno != EAGAIN && errno != EWOULDBLOCK && errno != EINVAL) {
VIR_WARNINGS_RESET
virReportSystemError(errno, "%s",
_("failed to receive device from udev "
--
2.38.1
2
1
10 Nov '22
JSON args for -netdev were added as precursor for adding the 'dgram'
network backend type. Enable the detection and update test cases using
DO_TEST_CAPS_LATEST.
Enabling the capability also ensures that the -netdev argument is
validated against the QAPI schema of 'netdev_add' which was already
implemented but not enabled.
The parser supporting JSON was added by qemu commit f3eedcddba3 and
enabled when adding stream/dgram netdevs in commit 5166fe0ae46.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 2 ++
tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml | 1 +
tests/qemuxml2argvdata/boot-complex.x86_64-latest.args | 4 ++--
tests/qemuxml2argvdata/boot-order.x86_64-latest.args | 2 +-
.../channel-unix-guestfwd.x86_64-latest.args | 4 ++--
.../qemuxml2argvdata/devices-acpi-index.x86_64-latest.args | 6 +++---
tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/event_idx.x86_64-latest.args | 2 +-
.../graphics-spice-timeout.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/name-escape.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/net-user.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args | 6 +++---
tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args | 6 +++---
tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args | 4 ++--
tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args | 4 ++--
.../q35-virt-manager-basic.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/user-aliases.x86_64-latest.args | 6 +++---
tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args | 2 +-
.../virtio-non-transitional.x86_64-latest.args | 2 +-
.../virtio-options-net-ats.x86_64-latest.args | 4 ++--
.../virtio-options-net-iommu.x86_64-latest.args | 4 ++--
.../virtio-options-net-packed.x86_64-latest.args | 4 ++--
tests/qemuxml2argvdata/virtio-options.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/virtio-transitional.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args | 2 +-
.../qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args | 2 +-
30 files changed, 46 insertions(+), 43 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 4c301c3638..a2031e9aaa 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1539,6 +1539,8 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS },
{ "nbd-server-add/arg-type/bitmap", QEMU_CAPS_NBD_BITMAP },
{ "netdev_add/arg-type/+vhost-vdpa", QEMU_CAPS_NETDEV_VHOST_VDPA },
+ /* JSON support for -netdev was introduced for the 'dgram' netdev type */
+ { "netdev_add/arg-type/type/^dgram", QEMU_CAPS_NETDEV_JSON },
{ "object-add/arg-type/qom-type/^secret", QEMU_CAPS_OBJECT_JSON },
{ "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS_EGL_HEADLESS_RENDERNODE },
{ "query-display-options/ret-type/+sdl", QEMU_CAPS_SDL },
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
index 56d1ff5fa9..6a861eea24 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
@@ -178,6 +178,7 @@
<flag name='virtio-mem-pci'/>
<flag name='memory-backend-file.reserve'/>
<flag name='piix4.acpi-root-pci-hotplug'/>
+ <flag name='netdev.json'/>
<flag name='query-dirty-rate'/>
<flag name='rbd-encryption'/>
<flag name='sev-guest-kernel-hashes'/>
diff --git a/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args b/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args
index b3b301b602..f7c0c2420b 100644
--- a/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args
@@ -50,9 +50,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-blockdev '{"driver":"host_device","filename":"/dev/fd1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"floppy","unit":1,"drive":"libvirt-1-format","id":"fdc0-0-1"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:11","bootindex":2,"bus":"pci.0","addr":"0x2"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:22","bus":"pci.0","addr":"0x3"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/boot-order.x86_64-latest.args b/tests/qemuxml2argvdata/boot-order.x86_64-latest.args
index bbb27d6831..e3ff8da1af 100644
--- a/tests/qemuxml2argvdata/boot-order.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/boot-order.x86_64-latest.args
@@ -41,7 +41,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-blockdev '{"driver":"file","filename":"/dev/null","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"floppy","unit":1,"drive":"libvirt-1-format","id":"fdc0-0-1"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bootindex":2,"bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
diff --git a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
index 6d34fa71bf..bac33b80ed 100644
--- a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
@@ -29,9 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
--netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=channel0 \
+-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4600-chardev:charchannel0"}],"id":"channel0"}' \
-chardev socket,id=charchannel1,path=/tmp/guestfwd-connect.socket \
--netdev user,guestfwd=tcp:10.0.2.1:4601-chardev:charchannel1,id=channel1 \
+-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4601-chardev:charchannel1"}],"id":"channel1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args b/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args
index 41136d7d49..f2c3294f9c 100644
--- a/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args
@@ -33,11 +33,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test1.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x4","acpi-index":42,"drive":"libvirt-1-format","id":"virtio-disk1"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x5","acpi-index":100}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x7","acpi-index":200}' \
--netdev user,id=hostnet2 \
+-netdev '{"type":"user","id":"hostnet2"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet2","id":"net2","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x8","acpi-index":300}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"cirrus-vga","id":"video0","bus":"pci.0","addr":"0x2","acpi-index":1729}' \
diff --git a/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args
index 0715c1fb43..ba7f58a9a3 100644
--- a/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args
@@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"ide-cd","bus":"ide.1","unit":0,"drive":"libvirt-1-format","id":"ide0-1-0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","tx":"bh","ioeventfd":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
diff --git a/tests/qemuxml2argvdata/event_idx.x86_64-latest.args b/tests/qemuxml2argvdata/event_idx.x86_64-latest.args
index afdde09e8a..eb3ee51140 100644
--- a/tests/qemuxml2argvdata/event_idx.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/event_idx.x86_64-latest.args
@@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"ide-cd","bus":"ide.1","unit":0,"drive":"libvirt-1-format","id":"ide0-1-0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","event_idx":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
diff --git a/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args
index 13c4c08e6f..4df15cd124 100644
--- a/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args
@@ -27,7 +27,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-f14/.config \
-boot menu=on,strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x6"}' \
--netdev tap,fd=3,id=hostnet0 \
+-netdev '{"type":"tap","fd":"3","id":"hostnet0"}' \
-device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:71:70:89","bus":"pci.0","addr":"0x7"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-audiodev '{"id":"audio1","driver":"spice"}' \
diff --git a/tests/qemuxml2argvdata/name-escape.x86_64-latest.args b/tests/qemuxml2argvdata/name-escape.x86_64-latest.args
index 42b0ad3230..b09083eadb 100644
--- a/tests/qemuxml2argvdata/name-escape.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/name-escape.x86_64-latest.args
@@ -39,7 +39,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-foo=1,bar=2/.config \
-chardev file,id=charserial1,path=/dev/fdset/0,append=on \
-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":0}' \
-chardev pipe,id=charchannel0,path=/tmp/guestfwd,,foo \
--netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=channel0 \
+-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4600-chardev:charchannel0"}],"id":"channel0"}' \
-audiodev '{"id":"audio1","driver":"spice"}' \
-vnc vnc=unix:/tmp/lib/domain--1-foo=1,,bar=2/vnc.sock,audiodev=audio1 \
-spice unix,addr=/tmp/lib/domain--1-foo=1,,bar=2/spice.sock,gl=on,rendernode=/dev/dri/foo,,bar,seamless-migration=on \
diff --git a/tests/qemuxml2argvdata/net-user.x86_64-latest.args b/tests/qemuxml2argvdata/net-user.x86_64-latest.args
index 87423d4cad..d8cf677423 100644
--- a/tests/qemuxml2argvdata/net-user.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-user.x86_64-latest.args
@@ -31,7 +31,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args
index 4cb805451a..347573041b 100644
--- a/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args
@@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-add-fd set=0,fd=1732,opaque=net0-vdpa \
--netdev vhost-vdpa,vhostdev=/dev/fdset/0,queues=2,id=hostnet0 \
+-netdev '{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","queues":2,"id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","mq":true,"vectors":6,"netdev":"hostnet0","id":"net0","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
index 93fe8fb444..be4f7c4ae2 100644
--- a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
@@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-add-fd set=0,fd=1732,opaque=net0-vdpa \
--netdev vhost-vdpa,vhostdev=/dev/fdset/0,id=hostnet0 \
+-netdev '{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
index 1309c28c95..17d9715814 100644
--- a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
@@ -29,12 +29,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-chardev socket,id=charnet0,path=/tmp/vhost0.sock,server=on \
--netdev vhost-user,chardev=charnet0,id=hostnet0 \
+-netdev '{"type":"vhost-user","chardev":"charnet0","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:ee:96:6b","bus":"pci.0","addr":"0x2"}' \
-chardev socket,id=charnet1,path=/tmp/vhost1.sock \
--netdev vhost-user,chardev=charnet1,id=hostnet1 \
+-netdev '{"type":"vhost-user","chardev":"charnet1","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"52:54:00:ee:96:6c","bus":"pci.0","addr":"0x3"}' \
--netdev socket,listen=:2015,id=hostnet2 \
+-netdev '{"type":"socket","listen":":2015","id":"hostnet2"}' \
-device '{"driver":"rtl8139","netdev":"hostnet2","id":"net2","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x4"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
diff --git a/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args b/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args
index cabea93ba9..2d3f15ecd4 100644
--- a/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args
@@ -31,11 +31,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","rss":true,"netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x2"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","hash":true,"netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.0","addr":"0x3"}' \
--netdev user,id=hostnet2 \
+-netdev '{"type":"user","id":"hostnet2"}' \
-device '{"driver":"virtio-net-pci","rss":false,"hash":true,"netdev":"hostnet2","id":"net2","mac":"00:11:22:33:44:77","bus":"pci.0","addr":"0x4"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x5"}' \
diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
index 7992c33ace..fcb9e9e43f 100644
--- a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
@@ -49,9 +49,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-device '{"driver":"virtio-blk-pci","bus":"pci.7","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
-device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.1","addr":"0x0"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.3","addr":"0x0"}' \
-device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.10","addr":"0x0"}' \
-device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.11","addr":"0x0"}' \
diff --git a/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
index 4a84c2e621..08afee14a4 100644
--- a/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
@@ -50,9 +50,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-device '{"driver":"virtio-blk-pci","bus":"pci.9","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
-device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.3","addr":"0x0"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.5","addr":"0x0"}' \
-device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.12","addr":"0x0"}' \
-device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.13","addr":"0x0"}' \
diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
index 77a7cf5e4f..2f75d79739 100644
--- a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
@@ -40,7 +40,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
diff --git a/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args
index d1a3f4af07..1a21437f06 100644
--- a/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args
@@ -51,11 +51,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \
-blockdev '{"driver":"file","filename":"/home/zippy/tmp/install-amd64-minimal-20140619.iso","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"ide-cd","bus":"ide.1","unit":0,"share-rw":true,"drive":"libvirt-1-format","id":"ua-WhatAnAwesomeCDROM","bootindex":2,"write-cache":"on"}' \
--netdev tap,fd=3,vhost=on,vhostfd=44,id=hostua-CheckoutThisNIC \
+-netdev '{"type":"tap","fd":"3","vhost":true,"vhostfd":"44","id":"hostua-CheckoutThisNIC"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostua-CheckoutThisNIC","id":"ua-CheckoutThisNIC","mac":"52:54:00:d6:c0:0b","bus":"pci.0","addr":"0x3"}' \
--netdev socket,listen=127.0.0.1:1234,id=hostua-WeCanAlsoDoServerMode \
+-netdev '{"type":"socket","listen":"127.0.0.1:1234","id":"hostua-WeCanAlsoDoServerMode"}' \
-device '{"driver":"rtl8139","netdev":"hostua-WeCanAlsoDoServerMode","id":"ua-WeCanAlsoDoServerMode","mac":"52:54:00:22:c9:42","bus":"pci.0","addr":"0x9"}' \
--netdev socket,connect=127.0.0.1:1234,id=hostua-AndAlsoClientMode \
+-netdev '{"type":"socket","connect":"127.0.0.1:1234","id":"hostua-AndAlsoClientMode"}' \
-device '{"driver":"rtl8139","netdev":"hostua-AndAlsoClientMode","id":"ua-AndAlsoClientMode","mac":"52:54:00:8c:b1:f8","bus":"pci.0","addr":"0xa"}' \
-device '{"driver":"ccid-card-emulated","backend":"nss-emulated","id":"smartcard0","bus":"ua-myCCID.0"}' \
-chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args
index c6c9a98ffe..85193a4fe1 100644
--- a/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args
@@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
-blockdev '{"driver":"host_device","filename":"/dev/sdfake2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","scsi":true,"bus":"pci.0","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk1"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","event_idx":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
index 541c074871..2eafeca9f3 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
@@ -44,7 +44,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-device '{"driver":"virtio-blk-pci-non-transitional","bus":"pci.5","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \
-device '{"driver":"virtio-9p-pci-non-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.1","addr":"0x0"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci-non-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"vhost-scsi-pci-non-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.6","addr":"0x0"}' \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
index c35e26b21f..bb0c1991b0 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
@@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","ats":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","ats":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
index ec0247f42e..a2645f9d4f 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
@@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","iommu_platform":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","iommu_platform":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
index 7aad3173f9..3e06320eee 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
@@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","packed":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \
--netdev user,id=hostnet1 \
+-netdev '{"type":"user","id":"hostnet1"}' \
-device '{"driver":"virtio-net-pci","packed":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
diff --git a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
index ff21b4bf4a..3ff0a53fbf 100644
--- a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
@@ -37,7 +37,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-device '{"driver":"virtio-9p-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.0","addr":"0x3"}' \
-fsdev local,security_model=mapped,writeout=immediate,id=fsdev-fs1,path=/export/fs2 \
-device '{"driver":"virtio-9p-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"fs1","fsdev":"fsdev-fs1","mount_tag":"fs2","bus":"pci.0","addr":"0x4"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"rss":true,"hash":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x6"}' \
-device '{"driver":"virtio-mouse-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input0","bus":"pci.0","addr":"0xe"}' \
-device '{"driver":"virtio-keyboard-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input1","bus":"pci.0","addr":"0x10"}' \
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
index 6d18698ec7..3cf3959528 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
@@ -37,7 +37,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-device '{"driver":"virtio-blk-pci-transitional","bus":"pci.2","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \
-device '{"driver":"virtio-9p-pci-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.2","addr":"0x1"}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"vhost-scsi-pci-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.2","addr":"0x6"}' \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
index 56226138bf..ef0b9c620c 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
@@ -34,7 +34,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x6","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86","bus":"pci.0","addr":"0x3"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
index 3c4688a89e..aee3161a75 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
@@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x2"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
index 37a1afb897..337103d722 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
@@ -41,7 +41,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:d2:70:0b","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
index b4d90dff5e..bf8a2f3af9 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
@@ -42,7 +42,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
--netdev user,id=hostnet0 \
+-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--
2.37.3
2
2
[libvirt PATCH v4 00/12] tools: provide virt-qemu-sev-validate for SEV(-ES) launch attestation
by Daniel P. Berrangé 09 Nov '22
by Daniel P. Berrangé 09 Nov '22
09 Nov '22
The libvirt QEMU driver provides all the functionality required for
launching a guest on AMD SEV(-ES) platforms, with a configuration
that enables attestation of the launch measurement. The documentation
for how to actually perform an attestation is severely lacking and
not suitable for mere mortals to understand. IOW, someone trying to
implement attestation is in for a world of pain and suffering.
This series doesn't fix the documentation problem, but it does
provide a reference implementation of a tool for performing
attestation of SEV(-ES) guests in the context of libvirt / KVM.
There will be other tools and libraries that implement attestation
logic too, but this tool is likely somewhat unique in its usage of
libvirt. Now for a attestation to be trustworthy you don't want to
perform it on the hypervisor host, since the goal is to prove that
the hypervisor has not acted maliciously. None the less it is still
beneficial to have libvirt integration to some extent.
When running this tool on a remote (trusted) host, it can connect
to the libvirt hypervisor and fetch the data provided by the
virDomainLaunchSecurityInfo API, which is safe to trust as the
key pieces are cryptographically measured.
Attestation is a complex problem though and it is very easy to
screw up and feed the wrong information and then waste hours trying
to figure out what piece was wrong, to cause the hash digest to
change. For debugging such problems, you can thus tell the tool
to operate insecurely, by querying libvirt for almost all of the
configuration information required to determine the expected
measurement. By comparing these results,to the results obtained
in offline mode it helps narrow down where the mistake lies.
So I view this tool as being useful in a number of ways:
* Quality assurance engineers needing to test libvirt/QEMU/KVM
get a simple and reliable tool for automating tests with.
* Users running simple libvirt deployments without any large
management stack, get a standalone tool for attestation
they can rely on.
* Developers writing/integrating attestation support into
management stacks above libvirt, get a reference against
which they can debug their own tools.
* Users wanting to demonstrate the core SEV/SEV-ES functionality
get a simple and reliable tool to illustrate the core concepts
involved.
Since I didn't fancy writing such complex logic in C, this tool is
a python3 program. As such, we don't want to include it in the
main libvirt-client RPM, nor any other existing RPM. THus, this
series puts it in a new libvirt-client-qemu RPM which, through no
co-inicidence at all, is the same RPM I invented a few days ago to
hold the virt-qemu-qmp-proxy command.
Note, people will have already seen an earlier version of this
tool I hacked up some months ago. This code is very significantly
changed since that earlier version, to make it more maintainable,
and simpler to use (especially for SEV-ES) but the general theme
is still the same.
Changed in v4:
- Fixed loading of initrd/cmdline from XML
- s/loader/firmware/ in some error messages
Changed in v3:
- Remove LUKS specific --disk-password and have generic
--inject-secret
- Fix handling of optional initrd/cmdline
- Require --kernel if --initrd or --cmdline are present
- Ensure VM is in paused state
Changed in v2:
- All the suggestions from Cole and Kashyap
Daniel P. Berrangé (12):
build-aux: only forbid gethostname in C files
tools: support validating SEV firmware boot measurements
tools: load guest config from libvirt
tools: support validating SEV direct kernel boot measurements
tools: load direct kernel config from libvirt
tools: support validating SEV-ES initial vCPU state measurements
tools: support automatically constructing SEV-ES vCPU state
tools: load CPU count and CPU SKU from libvirt
tools: support generating SEV secret injection tables
docs/kbase: describe attestation for SEV guests
scripts: add systemtap script for capturing SEV-ES VMSA
docs/manpages: add checklist of problems for SEV attestation
build-aux/syntax-check.mk | 1 +
docs/kbase/launch_security_sev.rst | 105 ++
docs/manpages/meson.build | 1 +
docs/manpages/virt-qemu-sev-validate.rst | 666 +++++++++++
examples/systemtap/amd-sev-es-vmsa.stp | 48 +
libvirt.spec.in | 2 +
tools/meson.build | 5 +
tools/virt-qemu-sev-validate | 1335 ++++++++++++++++++++++
8 files changed, 2163 insertions(+)
create mode 100644 docs/manpages/virt-qemu-sev-validate.rst
create mode 100644 examples/systemtap/amd-sev-es-vmsa.stp
create mode 100755 tools/virt-qemu-sev-validate
--
2.37.3
2
13
09 Nov '22
In recent commits migration of TPM on shared storage was
introduced. However, I've only complied it with gcc and thus did
not notice that clang build fails due to missing break; at the
end of some (empty) cases in switch() statements.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed under trivial and build breaker rules.
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_tpm.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 41e616ca48..3435da5bdc 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1202,6 +1202,7 @@ qemuDomainTPMPrivateFormat(const virDomainTPMDef *tpm,
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
case VIR_DOMAIN_TPM_TYPE_LAST:
+ break;
}
return 0;
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index dc15514ca6..15ee7db757 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -1019,6 +1019,7 @@ qemuTPMHasSharedStorage(virDomainDef *def)
return virFileIsSharedFS(tpm->data.emulator.storagepath) == 1;
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
case VIR_DOMAIN_TPM_TYPE_LAST:
+ break;
}
}
@@ -1038,6 +1039,7 @@ qemuTPMCanMigrateSharedStorage(virDomainDef *def)
return QEMU_DOMAIN_TPM_PRIVATE(tpm)->swtpm.can_migrate_shared_storage;
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
case VIR_DOMAIN_TPM_TYPE_LAST:
+ break;
}
}
return true;
--
2.37.4
1
0
[PATCH 0/4] qemu: Use 'flat' mode for 'query-named-block-nodes' when possible
by Peter Krempa 09 Nov '22
by Peter Krempa 09 Nov '22
09 Nov '22
Peter Krempa (4):
qemu: qemuBlockGetNamedNodeData: Remove pointless error path
qemu: monitor: Store whether 'query-named-block-nodes' supports 'flat'
parameter
qemuMonitorJSONBlockStatsUpdateCapacityBlockdev: Use 'flat' mode of
query-named-block-nodes
qemuMonitorJSONQueryNamedBlockNodes: Drop 'flat' argument
src/qemu/qemu_block.c | 11 +++--------
src/qemu/qemu_monitor.c | 11 +++++------
src/qemu/qemu_monitor.h | 3 +--
src/qemu/qemu_monitor_json.c | 12 +++++-------
src/qemu/qemu_monitor_json.h | 3 +--
src/qemu/qemu_monitor_priv.h | 2 ++
6 files changed, 17 insertions(+), 25 deletions(-)
--
2.37.3
2
5
clang 14.0.5 complains:
../src/bhyve/bhyve_device.c:42:29: error: mixing declarations and code
is incompatible with standards before C99
[-Werror,-Wdeclaration-after-statement]
virDomainPCIAddressSet *addrs = opaque;
^
1 error generated.
And a few similar errors in some other places, mainly bhyve related.
Apply a trivial fix to resolve that.
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
src/bhyve/bhyve_device.c | 6 ++++--
tests/bhyvexml2argvmock.c | 4 ++--
tests/domaincapstest.c | 3 ++-
tests/networkxml2conftest.c | 16 +++++++++-------
4 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/src/bhyve/bhyve_device.c b/src/bhyve/bhyve_device.c
index 5654028ca5..e4d14c4102 100644
--- a/src/bhyve/bhyve_device.c
+++ b/src/bhyve/bhyve_device.c
@@ -36,11 +36,13 @@ bhyveCollectPCIAddress(virDomainDef *def G_GNUC_UNUSED,
virDomainDeviceInfo *info,
void *opaque)
{
+ virDomainPCIAddressSet *addrs = NULL;
+ virPCIDeviceAddress *addr = NULL;
if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE)
return 0;
- virDomainPCIAddressSet *addrs = opaque;
- virPCIDeviceAddress *addr = &info->addr.pci;
+ addrs = opaque;
+ addr = &info->addr.pci;
if (addr->domain == 0 && addr->bus == 0 && addr->slot == 0) {
return 0;
diff --git a/tests/bhyvexml2argvmock.c b/tests/bhyvexml2argvmock.c
index 9b77f97e5f..fe76564d51 100644
--- a/tests/bhyvexml2argvmock.c
+++ b/tests/bhyvexml2argvmock.c
@@ -25,10 +25,10 @@ init_syms(void)
DIR *
opendir(const char *path)
{
- init_syms();
-
g_autofree char *path_override = NULL;
+ init_syms();
+
if (STREQ(path, "fakefirmwaredir")) {
path_override = g_strdup(FAKEFIRMWAREDIR);
} else if (STREQ(path, "fakefirmwareemptydir")) {
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index b4cb1894c2..b3cf4426f3 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -397,8 +397,9 @@ mymain(void)
#define DO_TEST_BHYVE(Name, Emulator, BhyveCaps, Type) \
do { \
g_autofree char *name = NULL; \
+ struct testData data; \
name = g_strdup_printf("bhyve_%s.x86_64", Name); \
- struct testData data = { \
+ data = (struct testData) { \
.name = name, \
.emulator = Emulator, \
.arch = "x86_64", \
diff --git a/tests/networkxml2conftest.c b/tests/networkxml2conftest.c
index 726f073ddc..d18985e060 100644
--- a/tests/networkxml2conftest.c
+++ b/tests/networkxml2conftest.c
@@ -50,14 +50,16 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf,
/* Any changes to this function ^^ should be reflected here too. */
#ifndef __linux__
- char * tmp;
+ {
+ char * tmp;
- if (!(tmp = virStringReplace(confactual,
- "except-interface=lo0\n",
- "except-interface=lo\n")))
- goto fail;
- VIR_FREE(confactual);
- confactual = g_steal_pointer(&tmp);
+ if (!(tmp = virStringReplace(confactual,
+ "except-interface=lo0\n",
+ "except-interface=lo\n")))
+ goto fail;
+ VIR_FREE(confactual);
+ confactual = g_steal_pointer(&tmp);
+ }
#endif
if (virTestCompareToFile(confactual, outconf) < 0)
--
2.38.0
3
3
08 Nov '22
Add support to libvirt for the 'blob' option for virtio video devices in qemu.
Also do a little preparatory refactoring of the video device xml parsing code.
I sent this series out a couple times but didn't get much review. Trying again
after rebasing.
changes in v5:
- rebased to latest master
changes in v4:
- rebased to latest master
- updated tests
changes in v3:
- rebased to latest master
Changes in v2:
- Added some basic documentation
- add a qemu capability
- Make sure that the /dev/udmabuf device is accessible to qemu (cgroups, etc)
Jonathon Jongsma (6):
conf: Refactor video model parsing
conf: switch to virXMLProp* functions for parsing video
conf: use enum variable for video type
conf: add support for 'blob' in virtio video device
qemu: Add capability for virtio-gpu.blob
qemu: Implement 'blob' support for virtio gpu
docs/formatdomain.rst | 7 +
src/conf/domain_conf.c | 133 +++++++++---------
src/conf/domain_conf.h | 3 +-
src/conf/domain_validate.c | 13 +-
src/conf/schemas/domaincommon.rng | 5 +
src/libxl/libxl_conf.c | 10 ++
src/libxl/libxl_domain.c | 11 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_cgroup.c | 22 ++-
src/qemu/qemu_command.c | 3 +
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_monitor_json.c | 16 ++-
src/qemu/qemu_namespace.c | 22 +++
src/qemu/qemu_process.c | 7 +
src/qemu/qemu_validate.c | 9 ++
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_7.1.0.ppc64.xml | 1 +
.../caps_7.1.0.x86_64.xml | 1 +
.../caps_7.2.0.x86_64.xml | 1 +
...ideo-virtio-blob-absent.x86_64-latest.args | 39 +++++
.../video-virtio-blob-absent.xml | 36 +++++
.../video-virtio-blob-off.x86_64-latest.args | 39 +++++
.../video-virtio-blob-off.xml | 36 +++++
.../video-virtio-blob-on.x86_64-latest.args | 39 +++++
.../qemuxml2argvdata/video-virtio-blob-on.xml | 36 +++++
tests/qemuxml2argvtest.c | 3 +
...video-virtio-blob-absent.x86_64-latest.xml | 48 +++++++
.../video-virtio-blob-off.x86_64-latest.xml | 48 +++++++
.../video-virtio-blob-on.x86_64-latest.xml | 48 +++++++
tests/qemuxml2xmltest.c | 3 +
37 files changed, 569 insertions(+), 81 deletions(-)
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.xml
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.xml
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-absent.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-off.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-on.x86_64-latest.xml
--
2.38.1
3
14
Peter Krempa (4):
conf: virDomainDefFormatFeatures: Realign line
cpu: x86: Group and order hyperv enlightenment features by leaf and
register
cpu: x86: Introduce the 'hv-avic' feature
conf: Introduce support for 'hv-avic' Hyper-V enlightenment
docs/formatdomain.rst | 1 +
src/conf/domain_conf.c | 7 +++++--
src/conf/domain_conf.h | 1 +
src/conf/schemas/domaincommon.rng | 5 +++++
src/cpu/cpu_x86.c | 9 +++++++--
src/cpu/cpu_x86_data.h | 1 +
src/qemu/qemu_command.c | 1 +
src/qemu/qemu_process.c | 1 +
tests/qemuxml2argvdata/hyperv.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/hyperv.xml | 1 +
tests/qemuxml2xmloutdata/hyperv.xml | 1 +
11 files changed, 25 insertions(+), 5 deletions(-)
--
2.37.3
2
5
08 Nov '22
V1: https://listman.redhat.com/archives/libvir-list/2022-October/235007.html
V2: https://listman.redhat.com/archives/libvir-list/2022-October/235247.html
Changes since V2:
* Added explanation where the currently ignored "alias" names will be used
in the future to the commit message (patch 1).
* Added "source" attribute to "alias" tags (patch 2).
Patches not reviewed yet:
* #4: Add script to sync from QEMU i386 cpu features
* #10: Add missing x86 feature "sgx1"
* #11: Add missing x86 feature "sgx2"
Tim Wiederhake (24):
cpu-data.py: Allow for more than child in feature nodes
cpu_x86: Ignore alias names
cpu: make x86 feature alias names machine readable
cpu_map: Add script to sync from QEMU i386 cpu features
cpu_map: Rename sync_qemu_i386.py
cpu_map: Add missing x86 feature alias names
cpu_map: Add missing x86 feature "sgx"
cpu_map: Add missing x86 feature "sgxlc"
cpu_map: Add missing x86 feature "sgx-exinfo"
cpu_map: Add missing x86 feature "sgx1"
cpu_map: Add missing x86 feature "sgx2"
cpu_map: Add missing x86 features "sgx-..."
cpu_map: Add missing x86 feature "bus-lock-detect"
cpu_map: Add missing x86 feature "pks"
cpu_map: Add missing x86 feature "avx512-vp2intersect"
cpu_map: Add missing x86 feature "avx512-fp16"
cpu_map: Add missing x86 feature "serialize"
cpu_map: Add missing x86 feature "tsx-ldtrk"
cpu_map: Add missing x86 feature "arch-lbr"
cpu_map: Add missing x86 feature "xfd"
cpu_map: Add missing x86 feature "intel-pt-lip"
cpu_map: Add missing x86 feature "avic"
cpu_map: Add missing x86 feature "v-vmsave-vmload"
cpu_map: Add missing x86 feature "vgif"
src/cpu/cpu_x86.c | 10 +-
src/cpu_map/sync_qemu_features_i386.py | 278 ++++++++++++++++++
..._qemu_i386.py => sync_qemu_models_i386.py} | 0
src/cpu_map/x86_features.xml | 133 +++++++--
tests/cputestdata/cpu-data.py | 11 +-
.../x86_64-cpuid-Atom-P5362-disabled.xml | 1 +
.../x86_64-cpuid-Atom-P5362-guest.xml | 1 +
.../x86_64-cpuid-Atom-P5362-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-7600U-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-7700-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-8550U-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-8700-guest.xml | 2 +
.../x86_64-cpuid-Core-i7-8700-host.xml | 2 +
...86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +-
.../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 3 +
.../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 3 +
...86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +-
.../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 3 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 3 +
...-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +-
..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 3 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 3 +
...-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +-
..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 3 +
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 3 +
.../x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +-
.../x86_64-cpuid-Ice-Lake-Server-guest.xml | 2 +
.../x86_64-cpuid-Ice-Lake-Server-host.xml | 2 +
...puid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +-
...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 3 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 3 +
...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +-
...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 3 +
...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 3 +
.../x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | 2 +-
.../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 2 +-
.../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 2 +
.../cpu-host-model.x86_64-latest.args | 2 +-
56 files changed, 494 insertions(+), 37 deletions(-)
create mode 100755 src/cpu_map/sync_qemu_features_i386.py
rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%)
--
2.36.1
2
28
Chop chop. More capabilities can be retired.
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/688345136
Michal Prívozník (48):
qemu: Drop misleading comment for
qemuDomainQueryWakeupSuspendSupport()
qemu: Acquire QUERY job in qemuDomainQueryWakeupSuspendSupport()
tests: Make qemuAgent single sync
qemu: Assume QEMU_CAPS_NUMA
qemu_capabilities: Stop detecting QEMU_CAPS_NUMA
qemu: Retire QEMU_CAPS_NUMA
qemu: Assume QEMU_CAPS_VSERPORT_CHANGE
qemu_agent: Drop @singleSync from _qemuAgent
qemu_capabilities: Stop detecting QEMU_CAPS_VSERPORT_CHANGE
qemu: Retire QEMU_CAPS_VSERPORT_CHANGE
qemu: Assume QEMU_CAPS_DUMP_COMPLETED
qemu_capabilities: Stop detecting QEMU_CAPS_DUMP_COMPLETED
qemu: Retire QEMU_CAPS_DUMP_COMPLETED
qemu: Assume QEMU_CAPS_QOM_LIST_PROPERTIES
qemu_capabilities: Stop detecting QEMU_CAPS_QOM_LIST_PROPERTIES
qemu: Retire QEMU_CAPS_QOM_LIST_PROPERTIES
qemu: Assume QEMU_CAPS_QUERY_CURRENT_MACHINE
qemu_capabilities: Stop detecting QEMU_CAPS_QUERY_CURRENT_MACHINE
qemu: Retire QEMU_CAPS_QUERY_CURRENT_MACHINE
qemu_capabilities: Stop detecting QEMU_CAPS_BITMAP_MERGE
qemu: Retire QEMU_CAPS_BITMAP_MERGE
qemu: Assume QEMU_CAPS_QUERY_DISPLAY_OPTIONS
qemu_capabilities: Stop detecting QEMU_CAPS_QUERY_DISPLAY_OPTIONS
qemu: Retire QEMU_CAPS_QUERY_DISPLAY_OPTIONS
qemu: Assume QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE
qemu_capabilities: Stop detecting QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE
qemu: Retire QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE
qemu: Assume QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE
qemu_capabilities: Stop detecting QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE
qemu: Retire QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE
qemu: Assume QEMU_CAPS_VIRTIO_NET_HOST_MTU
qemu_capabilities: Stop detecting QEMU_CAPS_VIRTIO_NET_HOST_MTU
qemu: Retire QEMU_CAPS_VIRTIO_NET_HOST_MTU
qemu: Assume QEMU_CAPS_VIRTIO_NET_FAILOVER
qemu_capabilities: Stop detecting QEMU_CAPS_VIRTIO_NET_FAILOVER
qemu: Retire QEMU_CAPS_VIRTIO_NET_FAILOVER
qemu: Assume QEMU_CAPS_BLOCKIO
qemu_capabilities: Stop detecting QEMU_CAPS_BLOCKIO
qemu: Retire QEMU_CAPS_BLOCKIO
qemu: Assume QEMU_CAPS_VIRTIO_BLK_NUM_QUEUES
qemu_capabilities: Stop detecting QEMU_CAPS_VIRTIO_BLK_QUEUE_SIZE
qemu: Retire QEMU_CAPS_VIRTIO_BLK_NUM_QUEUES
qemu: Assume QEMU_CAPS_DISK_SHARE_RW
qemu_capabilities: Stop detecting QEMU_CAPS_DISK_SHARE_RW
qemu: Retire QEMU_CAPS_DISK_SHARE_RW
qemu: Assume QEMU_CAPS_DISK_WRITE_CACHE
qemu_capabilities: Stop detecting QEMU_CAPS_DISK_WRITE_CACHE
qemu: Retire QEMU_CAPS_DISK_WRITE_CACHE
src/qemu/qemu_agent.c | 7 +-
src/qemu/qemu_agent.h | 3 +-
src/qemu/qemu_capabilities.c | 76 ++++---------------
src/qemu/qemu_capabilities.h | 30 ++++----
src/qemu/qemu_command.c | 15 +---
src/qemu/qemu_domain.c | 10 +--
src/qemu/qemu_driver.c | 40 +++-------
src/qemu/qemu_process.c | 6 +-
src/qemu/qemu_validate.c | 54 -------------
tests/qemuagenttest.c | 50 +-----------
.../caps_4.2.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 14 ----
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 15 ----
.../caps_4.2.0.x86_64.xml | 15 ----
.../caps_5.0.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 15 ----
.../caps_5.0.0.riscv64.xml | 15 ----
.../caps_5.0.0.x86_64.xml | 15 ----
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 9 ---
.../caps_5.1.0.x86_64.xml | 15 ----
.../caps_5.2.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 15 ----
.../caps_5.2.0.riscv64.xml | 15 ----
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 15 ----
.../caps_5.2.0.x86_64.xml | 15 ----
.../caps_6.0.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 15 ----
.../caps_6.0.0.x86_64.xml | 15 ----
.../caps_6.1.0.x86_64.xml | 15 ----
.../caps_6.2.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 15 ----
.../caps_6.2.0.x86_64.xml | 15 ----
.../caps_7.0.0.aarch64.xml | 15 ----
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 15 ----
.../caps_7.0.0.x86_64.xml | 15 ----
.../qemucapabilitiesdata/caps_7.1.0.ppc64.xml | 15 ----
.../caps_7.1.0.x86_64.xml | 15 ----
.../caps_7.2.0.x86_64.xml | 15 ----
tests/qemumonitortestutils.c | 3 +-
tests/qemuxml2argvdata/controller-order.args | 2 +-
tests/qemuxml2argvdata/cpu-numa-disjoint.err | 1 -
.../fd-memory-numa-topology2.args | 2 +-
.../fd-memory-numa-topology2.xml | 2 +-
.../fd-memory-numa-topology3.args | 2 +-
.../fd-memory-numa-topology3.xml | 2 +-
tests/qemuxml2argvdata/net-virtio-teaming.err | 1 -
tests/qemuxml2argvdata/numatune-memnode.err | 1 -
.../video-device-pciaddr-default.args | 2 +-
.../video-qxl-device-vgamem.args | 2 +-
tests/qemuxml2argvdata/video-qxl-device.args | 2 +-
.../video-qxl-sec-device-vgamem.args | 2 +-
.../video-qxl-sec-device.args | 2 +-
.../video-vga-device-vgamem.args | 2 +-
tests/qemuxml2argvdata/video-vga-device.args | 2 +-
.../video-virtio-gpu-device.args | 2 +-
.../video-virtio-gpu-sdl-gl.args | 2 +-
.../video-virtio-gpu-spice-gl.args | 2 +-
.../video-virtio-gpu-virgl.args | 2 +-
tests/qemuxml2argvdata/video-virtio-vga.args | 2 +-
tests/qemuxml2argvtest.c | 31 +++-----
tests/qemuxml2xmltest.c | 21 ++---
61 files changed, 90 insertions(+), 706 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/cpu-numa-disjoint.err
delete mode 100644 tests/qemuxml2argvdata/net-virtio-teaming.err
delete mode 100644 tests/qemuxml2argvdata/numatune-memnode.err
--
2.37.4
4
101
The high-bandwidth memory (HBM) in cache mode might be greater than
UINT_MAX of cache per NUMA node, so change to unsigned long long.
Signed-off-by: Lin Yang <lin.a.yang(a)intel.com>
---
src/conf/capabilities.c | 70 +++++++++++++++++++++++++++--------------
src/conf/numa_conf.c | 2 +-
src/conf/numa_conf.h | 2 +-
3 files changed, 48 insertions(+), 26 deletions(-)
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index e498c77efc..85c06f0d2b 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -1549,10 +1549,10 @@ virCapabilitiesGetNUMAPagesInfo(int node,
static int
-virCapabilitiesGetNodeCacheReadFile(const char *prefix,
- const char *dir,
- const char *file,
- unsigned int *value)
+virCapabilitiesGetNodeCacheReadFileUint(const char *prefix,
+ const char *dir,
+ const char *file,
+ unsigned int *value)
{
g_autofree char *path = g_build_filename(prefix, dir, file, NULL);
int rv = virFileReadValueUint(value, "%s", path);
@@ -1570,6 +1570,28 @@ virCapabilitiesGetNodeCacheReadFile(const char *prefix,
}
+static int
+virCapabilitiesGetNodeCacheReadFileUllong(const char *prefix,
+ const char *dir,
+ const char *file,
+ unsigned long long *value)
+{
+ g_autofree char *path = g_build_filename(prefix, dir, file, NULL);
+ int rv = virFileReadValueUllong(value, "%s", path);
+
+ if (rv < 0) {
+ if (rv == -2) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("File '%s' does not exist"),
+ path);
+ }
+ return -1;
+ }
+
+ return 0;
+}
+
+
static int
virCapsHostNUMACellCacheComparator(const void *a,
const void *b)
@@ -1612,18 +1634,18 @@ virCapabilitiesGetNodeCache(int node,
return -1;
}
- if (virCapabilitiesGetNodeCacheReadFile(path, entry->d_name,
- "size", &cache.size) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUllong(path, entry->d_name,
+ "size", &cache.size) < 0)
return -1;
cache.size >>= 10; /* read in bytes but stored in kibibytes */
- if (virCapabilitiesGetNodeCacheReadFile(path, entry->d_name,
- "line_size", &cache.line) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, entry->d_name,
+ "line_size", &cache.line) < 0)
return -1;
- if (virCapabilitiesGetNodeCacheReadFile(path, entry->d_name,
- "indexing", &indexing) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, entry->d_name,
+ "indexing", &indexing) < 0)
return -1;
/* see enum cache_indexing in kernel */
@@ -1638,8 +1660,8 @@ virCapabilitiesGetNodeCache(int node,
return -1;
}
- if (virCapabilitiesGetNodeCacheReadFile(path, entry->d_name,
- "write_policy", &write_policy) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, entry->d_name,
+ "write_policy", &write_policy) < 0)
return -1;
/* see enum cache_write_policy in kernel */
@@ -1793,26 +1815,26 @@ virCapabilitiesHostNUMAInitInterconnectsNode(GArray *interconnects,
if (!virFileExists(path))
return 0;
- if (virCapabilitiesGetNodeCacheReadFile(path, "initiators",
- "read_bandwidth",
- &read_bandwidth) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, "initiators",
+ "read_bandwidth",
+ &read_bandwidth) < 0)
return -1;
- if (virCapabilitiesGetNodeCacheReadFile(path, "initiators",
- "write_bandwidth",
- &write_bandwidth) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, "initiators",
+ "write_bandwidth",
+ &write_bandwidth) < 0)
return -1;
/* Bandwidths are read in MiB but stored in KiB */
read_bandwidth <<= 10;
write_bandwidth <<= 10;
- if (virCapabilitiesGetNodeCacheReadFile(path, "initiators",
- "read_latency",
- &read_latency) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, "initiators",
+ "read_latency",
+ &read_latency) < 0)
return -1;
- if (virCapabilitiesGetNodeCacheReadFile(path, "initiators",
- "write_latency",
- &write_latency) < 0)
+ if (virCapabilitiesGetNodeCacheReadFileUint(path, "initiators",
+ "write_latency",
+ &write_latency) < 0)
return -1;
initPath = g_strdup_printf("%s/initiators", path);
diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c
index 688aa7b409..b55bb3ffcb 100644
--- a/src/conf/numa_conf.c
+++ b/src/conf/numa_conf.c
@@ -1765,7 +1765,7 @@ virNumaCacheFormat(virBuffer *buf,
}
virBufferAsprintf(&childBuf,
- "<size value='%u' unit='KiB'/>\n",
+ "<size value='%llu' unit='KiB'/>\n",
cache->size);
if (cache->line) {
diff --git a/src/conf/numa_conf.h b/src/conf/numa_conf.h
index 1d1e816870..bbb928abb2 100644
--- a/src/conf/numa_conf.h
+++ b/src/conf/numa_conf.h
@@ -263,7 +263,7 @@ void virNumaDistanceFormat(virBuffer *buf,
typedef struct _virNumaCache virNumaCache;
struct _virNumaCache {
unsigned int level; /* cache level */
- unsigned int size; /* cache size */
+ unsigned long long size; /* cache size */
unsigned int line; /* line size, !!! in bytes !!! */
virNumaCacheAssociativity associativity; /* cache associativity */
virNumaCachePolicy policy; /* cache policy */
--
2.25.1
2
1
Historically, we had no idea whether the qemu-ga running inside
the guest was running or not. Or whether it crashed in the middle
of reading of a command. That's why we issued guest-sync prior
any intended command, to make the agent flush any partially read
JSON and reset its state machine.
But with VSERPORT_CHANGE event we know when the guest agent
(dis-)connects and thus can issue the sync command just once for
each 'connection'. Whether the agent is synced is tracked in
agent->inSync member, which used to be set to true upon
successful sync. But after rework in v8.0.0-rc1~361 that line is
gone, leaving us with using the historic approach basically.
Fixes: cad84fd51eaac5e3bfdf441f9986e1f2639a0828
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_agent.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c
index 0d77a2f90d..94782f2bc9 100644
--- a/src/qemu/qemu_agent.c
+++ b/src/qemu/qemu_agent.c
@@ -869,16 +869,20 @@ qemuAgentGuestSync(qemuAgent *agent)
return -1;
/* successfully sync'd */
- if (rc == 1)
+ if (rc == 1) {
+ agent->inSync = true;
return 0;
+ }
/* send another sync */
if ((rc = qemuAgentGuestSyncSend(agent, timeout, false)) < 0)
return -1;
/* successfully sync'd */
- if (rc == 1)
+ if (rc == 1) {
+ agent->inSync = true;
return 0;
+ }
if (agent->running)
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
--
2.37.4
2
1
Hi, all
I have add two pcie-to-pci-bridge controllers, how hotplug devices onto this two controllers? and libvirt knows to plug onto pci-bridge when there are no pcie-ports.
defaultly libvirt plugs devices onto pcie-port.
thanks
2
5
07 Nov '22
As some qemxml2argvtest cases were removed, we forgot to remove
their expected output counterparts.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/qemuxml2argvdata/cpu-numa-memshared.err | 1 -
tests/qemuxml2argvdata/numatune-memnode-no-memory.err | 1 -
tests/qemuxml2argvdata/pseries-vio-address-clash.err | 1 -
3 files changed, 3 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/cpu-numa-memshared.err
delete mode 100644 tests/qemuxml2argvdata/numatune-memnode-no-memory.err
delete mode 100644 tests/qemuxml2argvdata/pseries-vio-address-clash.err
diff --git a/tests/qemuxml2argvdata/cpu-numa-memshared.err b/tests/qemuxml2argvdata/cpu-numa-memshared.err
deleted file mode 100644
index e0fdffd42c..0000000000
--- a/tests/qemuxml2argvdata/cpu-numa-memshared.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: this qemu doesn't support the memory-backend-file object
diff --git a/tests/qemuxml2argvdata/numatune-memnode-no-memory.err b/tests/qemuxml2argvdata/numatune-memnode-no-memory.err
deleted file mode 100644
index 1d5e57f996..0000000000
--- a/tests/qemuxml2argvdata/numatune-memnode-no-memory.err
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: Per-node memory binding is not supported with this QEMU
diff --git a/tests/qemuxml2argvdata/pseries-vio-address-clash.err b/tests/qemuxml2argvdata/pseries-vio-address-clash.err
deleted file mode 100644
index e4eed76f23..0000000000
--- a/tests/qemuxml2argvdata/pseries-vio-address-clash.err
+++ /dev/null
@@ -1 +0,0 @@
-XML error: spapr-vio address 0x4000 already in use
--
2.37.4
2
1
[libvirt PATCH v4 0/4] tools: provide virt-qemu-sev-validate for SEV(-ES) launch attestation
by Daniel P. Berrangé 07 Nov '22
by Daniel P. Berrangé 07 Nov '22
07 Nov '22
The libvirt QEMU driver provides all the functionality required for
launching a guest on AMD SEV(-ES) platforms, with a configuration
that enables attestation of the launch measurement. The documentation
for how to actually perform an attestation is severely lacking and
not suitable for mere mortals to understand. IOW, someone trying to
implement attestation is in for a world of pain and suffering.
This series doesn't fix the documentation problem, but it does
provide a reference implementation of a tool for performing
attestation of SEV(-ES) guests in the context of libvirt / KVM.
There will be other tools and libraries that implement attestation
logic too, but this tool is likely somewhat unique in its usage of
libvirt. Now for a attestation to be trustworthy you don't want to
perform it on the hypervisor host, since the goal is to prove that
the hypervisor has not acted maliciously. None the less it is still
beneficial to have libvirt integration to some extent.
When running this tool on a remote (trusted) host, it can connect
to the libvirt hypervisor and fetch the data provided by the
virDomainLaunchSecurityInfo API, which is safe to trust as the
key pieces are cryptographically measured.
Attestation is a complex problem though and it is very easy to
screw up and feed the wrong information and then waste hours trying
to figure out what piece was wrong, to cause the hash digest to
change. For debugging such problems, you can thus tell the tool
to operate insecurely, by querying libvirt for almost all of the
configuration information required to determine the expected
measurement. By comparing these results,to the results obtained
in offline mode it helps narrow down where the mistake lies.
So I view this tool as being useful in a number of ways:
* Quality assurance engineers needing to test libvirt/QEMU/KVM
get a simple and reliable tool for automating tests with.
* Users running simple libvirt deployments without any large
management stack, get a standalone tool for attestation
they can rely on.
* Developers writing/integrating attestation support into
management stacks above libvirt, get a reference against
which they can debug their own tools.
* Users wanting to demonstrate the core SEV/SEV-ES functionality
get a simple and reliable tool to illustrate the core concepts
involved.
Since I didn't fancy writing such complex logic in C, this tool is
a python3 program. As such, we don't want to include it in the
main libvirt-client RPM, nor any other existing RPM. THus, this
series puts it in a new libvirt-client-qemu RPM which, through no
co-inicidence at all, is the same RPM I invented a few days ago to
hold the virt-qemu-qmp-proxy command.
Note, people will have already seen an earlier version of this
tool I hacked up some months ago. This code is very significantly
changed since that earlier version, to make it more maintainable,
and simpler to use (especially for SEV-ES) but the general theme
is still the same.
Changed in v4:
- Fixed loading of initrd/cmdline from XML
- s/loader/firmware/ in some error messages
Changed in v3:
- Remove LUKS specific --disk-password and have generic
--inject-secret
- Fix handling of optional initrd/cmdline
- Require --kernel if --initrd or --cmdline are present
- Ensure VM is in paused state
Changed in v2:
- All the suggestions from Cole and Kashyap
Daniel P. Berrangé (4):
build-aux: only forbid gethostname in C files
tools: support validating SEV firmware boot measurements
tools: load guest config from libvirt
tools: support validating SEV direct kernel boot measurements
build-aux/syntax-check.mk | 1 +
docs/manpages/meson.build | 1 +
docs/manpages/virt-qemu-sev-validate.rst | 359 +++++++++++++++
libvirt.spec.in | 2 +
tools/meson.build | 5 +
tools/virt-qemu-sev-validate | 555 +++++++++++++++++++++++
6 files changed, 923 insertions(+)
create mode 100644 docs/manpages/virt-qemu-sev-validate.rst
create mode 100755 tools/virt-qemu-sev-validate
--
2.37.3
1
4
[libvirt PATCH v3 00/12] tools: provide virt-qemu-sev-validate for SEV(-ES) launch attestation
by Daniel P. Berrangé 07 Nov '22
by Daniel P. Berrangé 07 Nov '22
07 Nov '22
The libvirt QEMU driver provides all the functionality required for
launching a guest on AMD SEV(-ES) platforms, with a configuration
that enables attestation of the launch measurement. The documentation
for how to actually perform an attestation is severely lacking and
not suitable for mere mortals to understand. IOW, someone trying to
implement attestation is in for a world of pain and suffering.
This series doesn't fix the documentation problem, but it does
provide a reference implementation of a tool for performing
attestation of SEV(-ES) guests in the context of libvirt / KVM.
There will be other tools and libraries that implement attestation
logic too, but this tool is likely somewhat unique in its usage of
libvirt. Now for a attestation to be trustworthy you don't want to
perform it on the hypervisor host, since the goal is to prove that
the hypervisor has not acted maliciously. None the less it is still
beneficial to have libvirt integration to some extent.
When running this tool on a remote (trusted) host, it can connect
to the libvirt hypervisor and fetch the data provided by the
virDomainLaunchSecurityInfo API, which is safe to trust as the
key pieces are cryptographically measured.
Attestation is a complex problem though and it is very easy to
screw up and feed the wrong information and then waste hours trying
to figure out what piece was wrong, to cause the hash digest to
change. For debugging such problems, you can thus tell the tool
to operate insecurely, by querying libvirt for almost all of the
configuration information required to determine the expected
measurement. By comparing these results,to the results obtained
in offline mode it helps narrow down where the mistake lies.
So I view this tool as being useful in a number of ways:
* Quality assurance engineers needing to test libvirt/QEMU/KVM
get a simple and reliable tool for automating tests with.
* Users running simple libvirt deployments without any large
management stack, get a standalone tool for attestation
they can rely on.
* Developers writing/integrating attestation support into
management stacks above libvirt, get a reference against
which they can debug their own tools.
* Users wanting to demonstrate the core SEV/SEV-ES functionality
get a simple and reliable tool to illustrate the core concepts
involved.
Since I didn't fancy writing such complex logic in C, this tool is
a python3 program. As such, we don't want to include it in the
main libvirt-client RPM, nor any other existing RPM. THus, this
series puts it in a new libvirt-client-qemu RPM which, through no
co-inicidence at all, is the same RPM I invented a few days ago to
hold the virt-qemu-qmp-proxy command.
Note, people will have already seen an earlier version of this
tool I hacked up some months ago. This code is very significantly
changed since that earlier version, to make it more maintainable,
and simpler to use (especially for SEV-ES) but the general theme
is still the same.
Changed in v3:
- Remove LUKS specific --disk-password and have generic
--inject-secret
- Fix handling of optional initrd/cmdline
- Require --kernel if --initrd or --cmdline are present
- Ensure VM is in paused state
Changed in v2:
- All the suggestions from Cole and Kashyap
Daniel P. Berrangé (12):
build-aux: only forbid gethostname in C files
tools: support validating SEV firmware boot measurements
tools: load guest config from libvirt
tools: support validating SEV direct kernel boot measurements
tools: load direct kernel config from libvirt
tools: support validating SEV-ES initial vCPU state measurements
tools: support automatically constructing SEV-ES vCPU state
tools: load CPU count and CPU SKU from libvirt
tools: support generating SEV secret injection tables
docs/kbase: describe attestation for SEV guests
scripts: add systemtap script for capturing SEV-ES VMSA
docs/manpages: add checklist of problems for SEV attestation
build-aux/syntax-check.mk | 1 +
docs/kbase/launch_security_sev.rst | 105 ++
docs/manpages/meson.build | 1 +
docs/manpages/virt-qemu-sev-validate.rst | 666 +++++++++++
examples/systemtap/amd-sev-es-vmsa.stp | 48 +
libvirt.spec.in | 2 +
tools/meson.build | 5 +
tools/virt-qemu-sev-validate | 1330 ++++++++++++++++++++++
8 files changed, 2158 insertions(+)
create mode 100644 docs/manpages/virt-qemu-sev-validate.rst
create mode 100644 examples/systemtap/amd-sev-es-vmsa.stp
create mode 100755 tools/virt-qemu-sev-validate
--
2.37.3
3
27
[PATCH] conf: schemas: Include 'privatedata.rng' in installed schema files
by Peter Krempa 07 Nov '22
by Peter Krempa 07 Nov '22
07 Nov '22
The privatedata.rng file was accidentally left uninstalled, but it's
referenced by other schema files effectively breaking validation of XMLs
in new installations.
Change to libvirt.spec is not needed as we include all installed schemas
via a wildcard.
Fixes: d8ceacdc87907a3c8656f7ee815ed32f06fe5c7f
Reported-by: "Daniel P. Berrangé" <berrange(a)redhat.com>
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/schemas/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/schemas/meson.build b/src/conf/schemas/meson.build
index 9ec4c010d6..b293373085 100644
--- a/src/conf/schemas/meson.build
+++ b/src/conf/schemas/meson.build
@@ -19,6 +19,7 @@ schema_files = [
'nwfilterbinding.rng',
'nwfilter_params.rng',
'nwfilter.rng',
+ 'privatedata.rng',
'secret.rng',
'storagecommon.rng',
'storagepoolcaps.rng',
--
2.37.3
2
1
This series:
- cleans up the XML validator code a bit
- adds testing of nodedevxml2xmlout directory
- cleans up some mistakes in un-tested XML files
- adds internal schema and improves testing of
- cputestdata
- simplifies file selection by using a custom schema
- device schemas (e.g. qemuhotplugtest)
After this series the outstanding list of XML files which are not
validated is:
./examples/xml/test/testnodeinline.xml
./examples/xml/test/testnode.xml
./tests/virsh-auth.xml
All of the above should be tested, but there's no schema for them yet.
./src/cpu_map/*.xml
These are internal input-only data files distributed by libvirt.
Creating a schema for them is possible, but not very justified and
neither simple.
./tests/qemumigparamsdata/*.xml
./tests/qemumigrationcookiexmldata/*.xml
Internal input and output files. Writing a schema could theoretically
make sense as they are used for migration but currently doesn't seem to
be worth it.
./tests/qemucapabilitiesdata/*.xml
Internal input and output, for caching only, thus any incompatibility
allows us to simply drop them. Not worth writing schema.
./tests/qemustatusxml2xmldata/*.xml
Internal status XML, input/output. Writing schema might make sense to
avoid regressions and have a scaffold for future.
./tests/networkxml2xmlupdatein/.xml
Snippets of <network> xml, hard to write custom schema for.
./tests/nodedevmdevctldata/*.xml
./tests/virstorageutildata/*.xml
Non-libvirt test data.
Peter Krempa (12):
virschematest: Test 'nodedevxml2xmlout' directory
qemustatusxml2xml: Remove obsolete 'json' attribute
util: xml: Refactor cleanup path in virXMLValidatorInit
util: xml: Refactor cleanup in virXMLValidateAgainstSchema
virschematest: Construct path to the schema in the SCHEMAS_PATH
virschematest: Improve testing schemas in 'tests/cputestdata'
schema: Introduce scaffolding for schema for <privateData> elements
qemublocktestdata: Fix 'block-raw-reservations' case
tests: qemublocktestdata/imagecreate: Remove bogus 'name="vda"'
attribute from <disk>
qemublocktest: Mark 'network-ssh-qcow2' input XML as invalid
schema: Rename definition of disk 'target' element to 'diskTarget'
virschematest: Add infrastructure for testing single devices
src/conf/schemas/domainbackup.rng | 4 +-
src/conf/schemas/domaincheckpoint.rng | 2 +-
src/conf/schemas/domaincommon.rng | 12 ++-
src/conf/schemas/domainsnapshot.rng | 2 +-
src/conf/schemas/privatedata.rng | 30 +++++++
src/util/virxml.c | 23 ++---
tests/meson.build | 1 +
tests/qemublocktest.c | 2 +-
.../imagecreate/luks-encopts.xml | 2 +-
.../imagecreate/luks-noopts.xml | 2 +-
.../imagecreate/network-gluster-qcow2.xml | 2 +-
.../imagecreate/network-rbd-qcow2.xml | 2 +-
...w2.json => network-ssh-qcow2-invalid.json} | 0
...cow2.xml => network-ssh-qcow2-invalid.xml} | 2 +-
.../imagecreate/qcow2-luks-encopts.xml | 2 +-
.../imagecreate/qcow2-luks-noopts.xml | 2 +-
.../imagecreate/qcow2-slice.xml | 2 +-
tests/qemublocktestdata/imagecreate/qcow2.xml | 2 +-
.../qemublocktestdata/imagecreate/raw-nbd.xml | 2 +-
.../imagecreate/raw-slice.xml | 2 +-
tests/qemublocktestdata/imagecreate/raw.xml | 2 +-
.../xml2json/block-raw-reservations.xml | 2 +-
.../migration-out-nbd-in.xml | 2 +-
.../migration-out-nbd-tls-in.xml | 2 +-
tests/qemustatusxml2xmldata/upgrade-in.xml | 2 +-
tests/schemas/cpu-baseline.rng.in | 84 +++++++++++++++++++
tests/schemas/device.rng.in | 51 +++++++++++
tests/schemas/meson.build | 18 ++++
tests/schemas/privatedata.rng.in | 68 +++++++++++++++
tests/virschematest.c | 28 ++++---
30 files changed, 304 insertions(+), 53 deletions(-)
create mode 100644 src/conf/schemas/privatedata.rng
rename tests/qemublocktestdata/imagecreate/{network-ssh-qcow2.json => network-ssh-qcow2-invalid.json} (100%)
rename tests/qemublocktestdata/imagecreate/{network-ssh-qcow2.xml => network-ssh-qcow2-invalid.xml} (88%)
create mode 100644 tests/schemas/cpu-baseline.rng.in
create mode 100644 tests/schemas/device.rng.in
create mode 100644 tests/schemas/meson.build
create mode 100644 tests/schemas/privatedata.rng.in
--
2.38.1
4
27
07 Nov '22
Problem:
libvirt has a 5 second timeout (generally) for hotplug/unplug
operations which can time out due to heavy load in guest.
vcpu hotunplug occurs one vcpu at a time.
But, if we perform hotplug-unplug repeatedly, there is a situation
where qemu has multiple timedout vcpu unplug operations pending.
libvirt waits for an async event notification from qemu regarding
successful vcpu delete.
qemu deletes the vcpu-vcpuinfo and sends this notification to libvirt.
libvirt handles vcpu delete notification, and refreshes vcpuinfo
by querying vcpuinfo from qemu in qemuDomainRefreshVcpuInfo().
qemu's vcpuinfo will not contain vcpu that was deleted and sent.
qemu's vcpuinfo will overwrite libvirt's vcpuinfo of the other pending
timedout vcpu(s) which qemu has deleted and notified libvirt.
The overwrite resets other timedout vcpu's alias to NULL and tid to 0.
The error is then seen when validating tid of vcpus.
Example error log:
"internal error: qemu didn't report thread id for vcpu 'XX'"
Solution:
Create a per vcpu hp_timeout_alias which will be set as vcpu alias when a timeout
occurs else it is set as NULL.
This data does not get reset when vcpuinfo refresh occurs.
And we can remove a vcpu if it's alias was NULL by checking this alias.
During vcpu validation, we can skip to nextvcpu if this hotplug-timeout-alias
is set indicating that this vcpu is actually valid.
Co-authored-by: Partha Satapathy <partha.satapathy(a)oracle.com>
Signed-off-by: Shaleen Bathla <shaleen.bathla(a)oracle.com>
---
src/qemu/qemu_domain.c | 6 ++++++
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_hotplug.c | 41 ++++++++++++++++++++++++++++++++++++++++-
3 files changed, 47 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index c3afc6c9d3ba..0f6e4dc78b93 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -9568,6 +9568,8 @@ qemuDomainValidateVcpuInfo(virDomainObj *vm)
vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpu);
if (vcpu->online && vcpupriv->tid == 0) {
+ if (vcpupriv->hp_timeout_alias)
+ continue;
virReportError(VIR_ERR_INTERNAL_ERROR,
_("qemu didn't report thread id for vcpu '%zu'"), i);
return -1;
@@ -9696,6 +9698,10 @@ qemuDomainRefreshVcpuInfo(virDomainObj *vm,
if (validTIDs)
vcpupriv->tid = info[i].tid;
+ if (vcpupriv->hp_timeout_alias && !info[i].alias)
+ VIR_DEBUG("no alias for timed out vcpu%zu domain %s", i,
+ vm->def->name);
+
vcpupriv->socket_id = info[i].socket_id;
vcpupriv->core_id = info[i].core_id;
vcpupriv->thread_id = info[i].thread_id;
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 2bbd492d62da..68f6c645ef79 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -324,6 +324,7 @@ struct _qemuDomainVcpuPrivate {
int thread_id;
int node_id;
int vcpus;
+ char *hp_timeout_alias; /* alias after hotplug timeout */
char *qomPath;
};
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index da92ced2f444..5d54e9c67c3f 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -6138,9 +6138,21 @@ qemuDomainRemoveVcpuAlias(virDomainObj *vm,
if (STREQ_NULLABLE(alias, vcpupriv->alias)) {
qemuDomainRemoveVcpu(vm, i);
+ if (vcpupriv->hp_timeout_alias)
+ g_free(vcpupriv->hp_timeout_alias);
+ return;
+ }
+ if (STREQ_NULLABLE(alias, vcpupriv->hp_timeout_alias)) {
+ qemuDomainRemoveVcpu(vm, i);
+ VIR_DEBUG("%s found in timed out list of domain %s",
+ alias, vm->def->name);
+ g_free(vcpupriv->hp_timeout_alias);
return;
}
}
+
+ VIR_DEBUG("%s not found in vcpulist of domain %s ",
+ alias, vm->def->name);
}
@@ -6172,11 +6184,19 @@ qemuDomainHotplugDelVcpu(virQEMUDriver *driver,
}
if ((rc = qemuDomainWaitForDeviceRemoval(vm)) <= 0) {
- if (rc == 0)
+ if (rc == 0) {
virReportError(VIR_ERR_OPERATION_TIMEOUT, "%s",
_("vcpu unplug request timed out. Unplug result "
"must be manually inspected in the domain"));
+ if (vcpupriv) {
+ VIR_INFO("unplug timeout set for vcpu '%u' of domain %s",
+ vcpu, vm->def->name);
+
+ vcpupriv->hp_timeout_alias = g_strdup(vcpupriv->alias);
+ }
+ }
+
goto cleanup;
}
@@ -6362,6 +6382,8 @@ qemuDomainSetVcpusLive(virQEMUDriver *driver,
{
qemuDomainObjPrivate *priv = vm->privateData;
virCgroupEmulatorAllNodesData *emulatorCgroup = NULL;
+ qemuDomainVcpuPrivate *vcpupriv = NULL;
+ virDomainVcpuDef *vcpuinfo = NULL;
ssize_t nextvcpu = -1;
int ret = -1;
@@ -6370,6 +6392,14 @@ qemuDomainSetVcpusLive(virQEMUDriver *driver,
if (enable) {
while ((nextvcpu = virBitmapNextSetBit(vcpumap, nextvcpu)) != -1) {
+ vcpuinfo = virDomainDefGetVcpu(vm->def, nextvcpu);
+ vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpuinfo);
+
+ if (vcpupriv && vcpupriv->hp_timeout_alias) {
+ VIR_INFO("reject hotplug of timed out vcpu '%zd' from domain %s",
+ nextvcpu, vm->def->name);
+ goto cleanup;
+ }
if (qemuDomainHotplugAddVcpu(driver, cfg, vm, nextvcpu) < 0)
goto cleanup;
}
@@ -6378,6 +6408,15 @@ qemuDomainSetVcpusLive(virQEMUDriver *driver,
if (!virBitmapIsBitSet(vcpumap, nextvcpu))
continue;
+ vcpuinfo = virDomainDefGetVcpu(vm->def, nextvcpu);
+ vcpupriv = QEMU_DOMAIN_VCPU_PRIVATE(vcpuinfo);
+
+ if (vcpupriv && vcpupriv->hp_timeout_alias) {
+ VIR_INFO("already serving unplug for vcpu '%zd' in domain %s",
+ nextvcpu, vm->def->name);
+ goto cleanup;
+ }
+
if (qemuDomainHotplugDelVcpu(driver, cfg, vm, nextvcpu) < 0)
goto cleanup;
}
--
2.31.1
2
1
Hello Sir,
My Self Arpan Gupta percieving B.Tech from RKGIT ghaziabad for Cse(Ai-Ml)
, I have been intrested in Developing Apps using Android firebase framework
and studying solana block chain with rust and trying to implement with saga.
And if i am having knowledge of technology you work for I will learn it for
sure because I am good and fast learner.
I can hand on practice the technology in a week.
Other than coding I have discovered 3 astroide and registered citizen
scientist from NASA and I have intrested in astronomy
And I am President of my college coding ×Astronomy club NEBULA
and I want to contribute in redhat. I am planning to apply for GSOC , Can
someone guide me.
Regards
Arpan Gupta
2
1
Hotplugging PCI devices on pc-i440fx machines is supported without
additional configuration. On q35, pcie-to-pci-bridge needs to be added
prior to the machine startup in order to support hotplug [1].
The idea is to support the same workflow for creating VMs in q35, as was
in pc. Namely, do not require additional configuration when hotplugging
is needed. Otherwise, all libvirt clients need to be updated which there
are a lot and they are maintained by different parties.
Instead, a pcie-to-pci-bridge better be created by default, so that PCI
slots are readily available. Might be a good idea to make it configurable
in the future.
Previously there was a pci-bridge present by default, but was removed in
d5fb8f4564 (qemu: don't add pci-bridge to Q35/arm domains unless it's needed, 2016-04-22)
[1]: https://libvirt.org/pci-hotplug.html
Signed-off-by: Oleg Vasilev <oleg.vasilev(a)virtuozzo.com>
---
src/qemu/qemu_domain.c | 19 +++--
.../boot-floppy-q35.x86_64-latest.args | 5 +-
.../cpu-host-model.x86_64-4.2.0.args | 9 +-
.../cpu-host-model.x86_64-5.0.0.args | 9 +-
.../cpu-host-model.x86_64-5.1.0.args | 9 +-
.../cpu-host-model.x86_64-5.2.0.args | 9 +-
.../cpu-host-model.x86_64-6.0.0.args | 9 +-
.../cpu-host-model.x86_64-6.1.0.args | 9 +-
.../cpu-host-model.x86_64-latest.args | 9 +-
.../disk-floppy-q35.x86_64-latest.args | 5 +-
...are-auto-bios-stateless.x86_64-latest.args | 2 +
.../firmware-auto-bios.x86_64-latest.args | 2 +
...-auto-efi-enrolled-keys.x86_64-latest.args | 2 +
...-auto-efi-loader-secure.x86_64-latest.args | 2 +
...to-efi-no-enrolled-keys.x86_64-latest.args | 2 +
...are-auto-efi-no-secboot.x86_64-latest.args | 2 +
...firmware-auto-efi-nvram.x86_64-latest.args | 2 +
...rmware-auto-efi-secboot.x86_64-latest.args | 2 +
...ware-auto-efi-stateless.x86_64-latest.args | 2 +
.../firmware-auto-efi.x86_64-latest.args | 2 +
...dev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args | 5 +-
...ev-scsi-vhost-scsi-pcie.x86_64-latest.args | 5 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 2 +
.../qemuxml2argvdata/intel-iommu-aw-bits.xml | 9 ++
...ntel-iommu-caching-mode.x86_64-latest.args | 2 +
.../intel-iommu-caching-mode.xml | 9 ++
...ntel-iommu-device-iotlb.x86_64-latest.args | 2 +
.../intel-iommu-device-iotlb.xml | 9 ++
.../intel-iommu-eim.x86_64-latest.args | 2 +
tests/qemuxml2argvdata/intel-iommu-eim.xml | 9 ++
.../intel-iommu.x86_64-latest.args | 2 +
tests/qemuxml2argvdata/intel-iommu.xml | 9 ++
.../machine-smm-off.x86_64-latest.args | 2 +
.../machine-smm-on.x86_64-latest.args | 2 +
...q35-default-devices-only.x86_64-4.2.0.args | 9 +-
...35-default-devices-only.x86_64-latest.args | 9 +-
.../q35-pcie-autoadd.x86_64-4.2.0.args | 53 ++++++------
.../q35-pcie-autoadd.x86_64-latest.args | 53 ++++++------
.../q35-virt-manager-basic.x86_64-4.2.0.args | 21 ++---
.../q35-virt-manager-basic.x86_64-latest.args | 21 ++---
.../tseg-explicit-size.x86_64-latest.args | 9 +-
.../user-aliases2.x86_64-latest.args | 5 +-
.../virtio-iommu-x86_64.x86_64-latest.args | 4 +-
...virtio-non-transitional.x86_64-latest.args | 37 ++++----
.../virtio-transitional.x86_64-latest.args | 3 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 13 +--
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 13 +--
.../x86_64-q35-graphics.x86_64-latest.args | 25 +++---
.../x86_64-q35-headless.x86_64-latest.args | 25 +++---
...ware-auto-bios-stateless.x86_64-latest.xml | 9 ++
.../firmware-auto-bios.x86_64-latest.xml | 9 ++
...e-auto-efi-enrolled-keys.x86_64-latest.xml | 9 ++
...e-auto-efi-loader-secure.x86_64-latest.xml | 9 ++
...uto-efi-no-enrolled-keys.x86_64-latest.xml | 9 ++
...ware-auto-efi-no-secboot.x86_64-latest.xml | 9 ++
.../firmware-auto-efi-nvram.x86_64-latest.xml | 9 ++
...irmware-auto-efi-secboot.x86_64-latest.xml | 9 ++
.../firmware-auto-efi.x86_64-latest.xml | 9 ++
...dev-scsi-vhost-scsi-pcie.x86_64-latest.xml | 10 ++-
.../machine-smm-off.x86_64-latest.xml | 9 ++
.../machine-smm-on.x86_64-latest.xml | 9 ++
.../net-isolated-port.x86_64-latest.xml | 18 ++--
...q35-default-devices-only.x86_64-latest.xml | 18 ++--
.../q35-pcie-autoadd.x86_64-latest.xml | 84 ++++++++++---------
.../q35-virt-manager-basic.x86_64-latest.xml | 36 ++++----
.../tseg-explicit-size.x86_64-latest.xml | 18 ++--
.../virtio-iommu-x86_64.x86_64-latest.xml | 11 ++-
.../virtio-non-transitional.x86_64-latest.xml | 60 ++++++-------
.../virtio-transitional.x86_64-latest.xml | 7 +-
...-default-cpu-kvm-q35-4.2.x86_64-latest.xml | 24 +++---
...-default-cpu-tcg-q35-4.2.x86_64-latest.xml | 24 +++---
.../x86_64-q35-graphics.x86_64-latest.xml | 46 +++++-----
.../x86_64-q35-headless.x86_64-latest.xml | 46 +++++-----
73 files changed, 621 insertions(+), 361 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 9ef6c8bb64..52a393e07f 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3890,6 +3890,7 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver,
bool addImplicitSATA = false;
bool addPCIRoot = false;
bool addPCIeRoot = false;
+ bool addPCIeToPCIBridge = false;
bool addDefaultMemballoon = true;
bool addDefaultUSBKBD = false;
bool addDefaultUSBMouse = false;
@@ -3910,6 +3911,8 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver,
if (qemuDomainIsQ35(def)) {
addPCIeRoot = true;
addImplicitSATA = true;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE))
+ addPCIeToPCIBridge = true;
/* Prefer adding a USB3 controller if supported, fall back
* to USB2 if there is no USB3 available, and if that's
@@ -4046,11 +4049,7 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver,
}
}
- /* When a machine has a pcie-root, make sure that there is always
- * a dmi-to-pci-bridge controller added as bus 1, and a pci-bridge
- * as bus 2, so that standard PCI devices can be connected
- *
- * NB: any machine that sets addPCIeRoot to true must also return
+ /* NB: any machine that sets addPCIeRoot to true must also return
* true from the function qemuDomainSupportsPCI().
*/
if (addPCIeRoot) {
@@ -4069,6 +4068,16 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver,
}
}
+ /* Add a pcie-to-pci-bridge and pcie-root-port to plug it into. */
+ if (addPCIeToPCIBridge) {
+ if (virDomainDefMaybeAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1,
+ VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT_PORT) < 0)
+ return -1;
+ if (virDomainDefMaybeAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 2,
+ VIR_DOMAIN_CONTROLLER_MODEL_PCIE_TO_PCI_BRIDGE) < 0)
+ return -1;
+ }
+
if (addDefaultMemballoon && !def->memballoon) {
virDomainMemballoonDef *memballoon;
memballoon = g_new0(virDomainMemballoonDef, 1);
diff --git a/tests/qemuxml2argvdata/boot-floppy-q35.x86_64-latest.args b/tests/qemuxml2argvdata/boot-floppy-q35.x86_64-latest.args
index 7f34c7a965..75aae3254c 100644
--- a/tests/qemuxml2argvdata/boot-floppy-q35.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/boot-floppy-q35.x86_64-latest.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-device '{"driver":"isa-fdc","bootindexA":1}' \
-blockdev '{"driver":"file","filename":"/tmp/firmware.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
index 4b2b55be62..577ea9cd8a 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
@@ -27,10 +27,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
index 2ea818cc13..838265acbf 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
@@ -27,10 +27,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.1.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.1.0.args
index c6e2f345b8..50b8d56390 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.1.0.args
@@ -27,10 +27,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.2.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.2.0.args
index 5bb6545e62..40302a86ee 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.2.0.args
@@ -28,10 +28,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.0.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.0.0.args
index 57ae8a19d8..d39171386f 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.0.0.args
@@ -28,10 +28,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.1.0.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.1.0.args
index baf0955027..3b0b09a93c 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-6.1.0.args
@@ -28,10 +28,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
index 853f0d9505..4a57f1dc98 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
@@ -28,10 +28,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.2","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.4","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35.x86_64-latest.args
index 810cc0796d..59da018898 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35.x86_64-latest.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-device '{"driver":"isa-fdc","bootindexA":1}' \
-blockdev '{"driver":"file","filename":"/tmp/firmware.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
diff --git a/tests/qemuxml2argvdata/firmware-auto-bios-stateless.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-bios-stateless.x86_64-latest.args
index 1d45a8cfba..a27bfa997d 100644
--- a/tests/qemuxml2argvdata/firmware-auto-bios-stateless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-bios-stateless.x86_64-latest.args
@@ -27,6 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-bios.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-bios.x86_64-latest.args
index 1d45a8cfba..a27bfa997d 100644
--- a/tests/qemuxml2argvdata/firmware-auto-bios.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-bios.x86_64-latest.args
@@ -27,6 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args
index 0b02464963..7dbed3af6e 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-enrolled-keys.x86_64-latest.args
@@ -31,6 +31,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args
index 0b02464963..7dbed3af6e 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-loader-secure.x86_64-latest.args
@@ -31,6 +31,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args
index a1ef95ee03..9b24126035 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.args
@@ -30,6 +30,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args
index a1ef95ee03..9b24126035 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-no-secboot.x86_64-latest.args
@@ -30,6 +30,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args
index 3659889bf3..78871166a7 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-nvram.x86_64-latest.args
@@ -31,6 +31,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args
index 0b02464963..7dbed3af6e 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-secboot.x86_64-latest.args
@@ -31,6 +31,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args
index b79c141b18..5e36ff4854 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi-stateless.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args b/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args
index 0b02464963..7dbed3af6e 100644
--- a/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/firmware-auto-efi.x86_64-latest.args
@@ -31,6 +31,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fedora/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args
index 992d8ec905..eec461d679 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device vhost-scsi-pci,wwpn=naa.5123456789abcde0,vhostfd=3,id=hostdev0,bus=pci.1,addr=0x0 \
+-device vhost-scsi-pci,wwpn=naa.5123456789abcde0,vhostfd=3,id=hostdev0,bus=pci.3,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
index 98b5e9b0ad..af1afcc455 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"vhost-scsi-pci","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"vhost-scsi-pci","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.3","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
index 417b5fb9dc..dbcb8d7e93 100644
--- a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"intel-iommu","id":"iommu0","intremap":"on","aw-bits":48}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu-aw-bits.xml b/tests/qemuxml2argvdata/intel-iommu-aw-bits.xml
index b4eb81ff5d..6db13b476c 100644
--- a/tests/qemuxml2argvdata/intel-iommu-aw-bits.xml
+++ b/tests/qemuxml2argvdata/intel-iommu-aw-bits.xml
@@ -21,6 +21,15 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
diff --git a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
index bfcfc35e28..bc98aeb691 100644
--- a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"intel-iommu","id":"iommu0","intremap":"on","caching-mode":true}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu-caching-mode.xml b/tests/qemuxml2argvdata/intel-iommu-caching-mode.xml
index 4aa4bacf5b..9fb1bcdf8a 100644
--- a/tests/qemuxml2argvdata/intel-iommu-caching-mode.xml
+++ b/tests/qemuxml2argvdata/intel-iommu-caching-mode.xml
@@ -21,6 +21,15 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
diff --git a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
index 95cd9d26ef..9787ba9b1e 100644
--- a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"intel-iommu","id":"iommu0","intremap":"on","device-iotlb":true}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.xml b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.xml
index e106737e6a..577bf9bbbd 100644
--- a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.xml
+++ b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.xml
@@ -21,6 +21,15 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
diff --git a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
index 12113a2800..a27b8c581b 100644
--- a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"intel-iommu","id":"iommu0","intremap":"on","eim":"on"}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu-eim.xml b/tests/qemuxml2argvdata/intel-iommu-eim.xml
index c4942e4c79..76a99bc7f9 100644
--- a/tests/qemuxml2argvdata/intel-iommu-eim.xml
+++ b/tests/qemuxml2argvdata/intel-iommu-eim.xml
@@ -21,6 +21,15 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
diff --git a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
index c99efd229b..53c92f69c1 100644
--- a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
@@ -28,6 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"intel-iommu","id":"iommu0"}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/intel-iommu.xml b/tests/qemuxml2argvdata/intel-iommu.xml
index 8badf6c970..2aa3c5a3c0 100644
--- a/tests/qemuxml2argvdata/intel-iommu.xml
+++ b/tests/qemuxml2argvdata/intel-iommu.xml
@@ -18,6 +18,15 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
diff --git a/tests/qemuxml2argvdata/machine-smm-off.x86_64-latest.args b/tests/qemuxml2argvdata/machine-smm-off.x86_64-latest.args
index 46f6a4a70c..737ed31919 100644
--- a/tests/qemuxml2argvdata/machine-smm-off.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/machine-smm-off.x86_64-latest.args
@@ -27,6 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-shutdown \
-no-acpi \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-smm-on.x86_64-latest.args b/tests/qemuxml2argvdata/machine-smm-on.x86_64-latest.args
index 6fde375523..ced719d4e2 100644
--- a/tests/qemuxml2argvdata/machine-smm-on.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/machine-smm-on.x86_64-latest.args
@@ -27,6 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-shutdown \
-no-acpi \
-boot strict=on \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-4.2.0.args b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-4.2.0.args
index a4de318a05..d2995d16d0 100644
--- a/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-4.2.0.args
@@ -27,10 +27,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
--device pcie-root-port,port=9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
--device pcie-root-port,port=10,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
--device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \
+-device pcie-root-port,port=10,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x2 \
+-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
index ce5b2a216e..d3889717f4 100644
--- a/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
@@ -28,10 +28,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.2","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.4","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-4.2.0.args b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-4.2.0.args
index 787cbfa511..1f629a0371 100644
--- a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-4.2.0.args
@@ -27,39 +27,40 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-no-acpi \
-boot strict=on \
-device pcie-root-port,port=16,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
--device pcie-root-port,port=17,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
--device pcie-root-port,port=18,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
--device pcie-root-port,port=19,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
--device pcie-root-port,port=20,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \
--device pcie-root-port,port=21,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
--device pcie-root-port,port=22,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 \
--device pcie-root-port,port=23,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 \
--device pcie-root-port,port=24,chassis=9,id=pci.9,bus=pcie.0,multifunction=on,addr=0x3 \
--device pcie-root-port,port=25,chassis=10,id=pci.10,bus=pcie.0,addr=0x3.0x1 \
--device pcie-root-port,port=26,chassis=11,id=pci.11,bus=pcie.0,addr=0x3.0x2 \
--device pcie-root-port,port=27,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x3 \
--device pcie-root-port,port=28,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x4 \
--device pcie-root-port,port=29,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x5 \
--device nec-usb-xhci,id=usb,bus=pci.6,addr=0x0 \
--device virtio-scsi-pci,id=scsi0,bus=pci.5,addr=0x0 \
--device virtio-serial-pci,id=virtio-serial0,bus=pci.4,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=17,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x1 \
+-device pcie-root-port,port=18,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x2 \
+-device pcie-root-port,port=19,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x3 \
+-device pcie-root-port,port=20,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x4 \
+-device pcie-root-port,port=21,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x5 \
+-device pcie-root-port,port=22,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x6 \
+-device pcie-root-port,port=23,chassis=9,id=pci.9,bus=pcie.0,addr=0x2.0x7 \
+-device pcie-root-port,port=24,chassis=10,id=pci.10,bus=pcie.0,multifunction=on,addr=0x3 \
+-device pcie-root-port,port=25,chassis=11,id=pci.11,bus=pcie.0,addr=0x3.0x1 \
+-device pcie-root-port,port=26,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x2 \
+-device pcie-root-port,port=27,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x3 \
+-device pcie-root-port,port=28,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x4 \
+-device pcie-root-port,port=29,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x5 \
+-device nec-usb-xhci,id=usb,bus=pci.8,addr=0x0 \
+-device virtio-scsi-pci,id=scsi0,bus=pci.7,addr=0x0 \
+-device virtio-serial-pci,id=virtio-serial0,bus=pci.6,addr=0x0 \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
--device virtio-blk-pci,scsi=off,bus=pci.7,addr=0x0,drive=libvirt-1-format,id=virtio-disk1,bootindex=1 \
+-device virtio-blk-pci,scsi=off,bus=pci.9,addr=0x0,drive=libvirt-1-format,id=virtio-disk1,bootindex=1 \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
--device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.1,addr=0x0 \
+-device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.3,addr=0x0 \
-netdev user,id=hostnet0 \
--device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.2,addr=0x0 \
+-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.4,addr=0x0 \
-netdev user,id=hostnet1 \
--device e1000e,netdev=hostnet1,id=net1,mac=00:11:22:33:44:66,bus=pci.3,addr=0x0 \
--device virtio-input-host-pci,id=input0,evdev=/dev/input/event1234,bus=pci.10,addr=0x0 \
--device virtio-mouse-pci,id=input1,bus=pci.11,addr=0x0 \
--device virtio-keyboard-pci,id=input2,bus=pci.12,addr=0x0 \
--device virtio-tablet-pci,id=input3,bus=pci.13,addr=0x0 \
+-device e1000e,netdev=hostnet1,id=net1,mac=00:11:22:33:44:66,bus=pci.5,addr=0x0 \
+-device virtio-input-host-pci,id=input0,evdev=/dev/input/event1234,bus=pci.12,addr=0x0 \
+-device virtio-mouse-pci,id=input1,bus=pci.13,addr=0x0 \
+-device virtio-keyboard-pci,id=input2,bus=pci.14,addr=0x0 \
+-device virtio-tablet-pci,id=input3,bus=pci.15,addr=0x0 \
-audiodev '{"id":"audio1","driver":"none"}' \
-device virtio-vga,id=video0,max_outputs=1,bus=pcie.0,addr=0x1 \
--device virtio-balloon-pci,id=balloon0,bus=pci.8,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.10,addr=0x0 \
-object rng-random,id=objrng0,filename=/dev/urandom \
--device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,bus=pci.9,addr=0x0 \
+-device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,bus=pci.11,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
index 7992c33ace..4dd06294f5 100644
--- a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
@@ -28,39 +28,40 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
--device '{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}' \
--device '{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
--device '{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
--device '{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}' \
--device '{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}' \
--device '{"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"}' \
--device '{"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"}' \
--device '{"driver":"pcie-root-port","port":24,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x3"}' \
--device '{"driver":"pcie-root-port","port":25,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x3.0x1"}' \
--device '{"driver":"pcie-root-port","port":26,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x3.0x2"}' \
--device '{"driver":"pcie-root-port","port":27,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x3"}' \
--device '{"driver":"pcie-root-port","port":28,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x4"}' \
--device '{"driver":"pcie-root-port","port":29,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x5"}' \
--device '{"driver":"nec-usb-xhci","id":"usb","bus":"pci.6","addr":"0x0"}' \
--device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.5","addr":"0x0"}' \
--device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.4","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":17,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x1"}' \
+-device '{"driver":"pcie-root-port","port":18,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x2"}' \
+-device '{"driver":"pcie-root-port","port":19,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x3"}' \
+-device '{"driver":"pcie-root-port","port":20,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x4"}' \
+-device '{"driver":"pcie-root-port","port":21,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x5"}' \
+-device '{"driver":"pcie-root-port","port":22,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x6"}' \
+-device '{"driver":"pcie-root-port","port":23,"chassis":9,"id":"pci.9","bus":"pcie.0","addr":"0x2.0x7"}' \
+-device '{"driver":"pcie-root-port","port":24,"chassis":10,"id":"pci.10","bus":"pcie.0","multifunction":true,"addr":"0x3"}' \
+-device '{"driver":"pcie-root-port","port":25,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x3.0x1"}' \
+-device '{"driver":"pcie-root-port","port":26,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x2"}' \
+-device '{"driver":"pcie-root-port","port":27,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x3"}' \
+-device '{"driver":"pcie-root-port","port":28,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x4"}' \
+-device '{"driver":"pcie-root-port","port":29,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x3.0x5"}' \
+-device '{"driver":"nec-usb-xhci","id":"usb","bus":"pci.8","addr":"0x0"}' \
+-device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.7","addr":"0x0"}' \
+-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.6","addr":"0x0"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.7","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.9","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
--device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.3","addr":"0x0"}' \
-netdev user,id=hostnet0 \
--device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \
+-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}' \
-netdev user,id=hostnet1 \
--device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.3","addr":"0x0"}' \
--device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.10","addr":"0x0"}' \
--device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.11","addr":"0x0"}' \
--device '{"driver":"virtio-keyboard-pci","id":"input2","bus":"pci.12","addr":"0x0"}' \
--device '{"driver":"virtio-tablet-pci","id":"input3","bus":"pci.13","addr":"0x0"}' \
+-device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.5","addr":"0x0"}' \
+-device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.12","addr":"0x0"}' \
+-device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.13","addr":"0x0"}' \
+-device '{"driver":"virtio-keyboard-pci","id":"input2","bus":"pci.14","addr":"0x0"}' \
+-device '{"driver":"virtio-tablet-pci","id":"input3","bus":"pci.15","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.8","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.10","addr":"0x0"}' \
-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
--device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","max-bytes":123,"period":1234,"bus":"pci.9","addr":"0x0"}' \
+-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","max-bytes":123,"period":1234,"bus":"pci.11","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-4.2.0.args b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-4.2.0.args
index 14093a3f80..b67790f066 100644
--- a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-4.2.0.args
@@ -29,18 +29,19 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
-global ICH9-LPC.disable_s4=1 \
-boot strict=on \
-device pcie-root-port,port=16,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
--device pcie-root-port,port=17,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
--device pcie-root-port,port=18,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
--device pcie-root-port,port=19,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
--device pcie-root-port,port=20,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \
--device pcie-root-port,port=21,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
--device nec-usb-xhci,id=usb,bus=pci.2,addr=0x0 \
--device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \
+-device pcie-pci-bridge,id=pci.2,bus=pci.1,addr=0x0 \
+-device pcie-root-port,port=17,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x1 \
+-device pcie-root-port,port=18,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x2 \
+-device pcie-root-port,port=19,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x3 \
+-device pcie-root-port,port=20,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x4 \
+-device pcie-root-port,port=21,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x5 \
+-device nec-usb-xhci,id=usb,bus=pci.4,addr=0x0 \
+-device virtio-serial-pci,id=virtio-serial0,bus=pci.5,addr=0x0 \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
+-device virtio-blk-pci,scsi=off,bus=pci.6,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
-netdev user,id=hostnet0 \
--device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:9a:e6:c6,bus=pci.1,addr=0x0 \
+-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:9a:e6:c6,bus=pci.3,addr=0x0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0,index=0 \
-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
@@ -57,6 +58,6 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
-device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 \
-chardev spicevmc,id=charredir1,name=usbredir \
-device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 \
--device virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.7,addr=0x0 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
index 77a7cf5e4f..02f3ef021f 100644
--- a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
@@ -30,18 +30,19 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
-global ICH9-LPC.disable_s4=1 \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
--device '{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}' \
--device '{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
--device '{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
--device '{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}' \
--device '{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}' \
--device '{"driver":"nec-usb-xhci","id":"usb","bus":"pci.2","addr":"0x0"}' \
--device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":17,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x1"}' \
+-device '{"driver":"pcie-root-port","port":18,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x2"}' \
+-device '{"driver":"pcie-root-port","port":19,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x3"}' \
+-device '{"driver":"pcie-root-port","port":20,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x4"}' \
+-device '{"driver":"pcie-root-port","port":21,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x5"}' \
+-device '{"driver":"nec-usb-xhci","id":"usb","bus":"pci.4","addr":"0x0"}' \
+-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.5","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.6","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-netdev user,id=hostnet0 \
--device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.3","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
@@ -58,6 +59,6 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
-device '{"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"2"}' \
-chardev spicevmc,id=charredir1,name=usbredir \
-device '{"driver":"usb-redir","chardev":"charredir1","id":"redir1","bus":"usb.0","port":"3"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.7","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
index 3371199be5..a3b6fab557 100644
--- a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
@@ -29,10 +29,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.2","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.4","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args
index 7f34c7a965..75aae3254c 100644
--- a/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-device '{"driver":"isa-fdc","bootindexA":1}' \
-blockdev '{"driver":"file","filename":"/tmp/firmware.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
diff --git a/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args
index 744367c6c0..0149b63cd5 100644
--- a/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-iommu-x86_64.x86_64-latest.args
@@ -26,7 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-rtc base=utc \
-no-shutdown \
-boot strict=on \
--device '{"driver":"virtio-iommu","id":"iommu0","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"virtio-iommu","id":"iommu0","bus":"pcie.0","addr":"0x2"}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
index 541c074871..18f83e6fe4 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
@@ -28,29 +28,30 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-acpi \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \
--device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \
--device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \
--device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \
--device '{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}' \
--device '{"driver":"pcie-root-port","port":16,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
--device '{"driver":"pcie-root-port","port":17,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x1"}' \
--device '{"driver":"virtio-scsi-pci-non-transitional","id":"scsi0","bus":"pci.4","addr":"0x0"}' \
--device '{"driver":"virtio-serial-pci-non-transitional","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"pcie-root-port","port":11,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x3"}' \
+-device '{"driver":"pcie-root-port","port":12,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x4"}' \
+-device '{"driver":"pcie-root-port","port":13,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x5"}' \
+-device '{"driver":"pcie-root-port","port":14,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x6"}' \
+-device '{"driver":"pcie-root-port","port":15,"chassis":9,"id":"pci.9","bus":"pcie.0","addr":"0x1.0x7"}' \
+-device '{"driver":"pcie-root-port","port":16,"chassis":10,"id":"pci.10","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
+-device '{"driver":"pcie-root-port","port":17,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x2.0x1"}' \
+-device '{"driver":"virtio-scsi-pci-non-transitional","id":"scsi0","bus":"pci.6","addr":"0x0"}' \
+-device '{"driver":"virtio-serial-pci-non-transitional","id":"virtio-serial0","bus":"pci.5","addr":"0x0"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci-non-transitional","bus":"pci.5","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci-non-transitional","bus":"pci.7","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \
--device '{"driver":"virtio-9p-pci-non-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"virtio-9p-pci-non-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.3","addr":"0x0"}' \
-netdev user,id=hostnet0 \
--device '{"driver":"virtio-net-pci-non-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \
+-device '{"driver":"virtio-net-pci-non-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"vhost-scsi-pci-non-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.6","addr":"0x0"}' \
--device '{"driver":"virtio-balloon-pci-non-transitional","id":"balloon0","bus":"pci.7","addr":"0x0"}' \
+-device '{"driver":"vhost-scsi-pci-non-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.8","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci-non-transitional","id":"balloon0","bus":"pci.9","addr":"0x0"}' \
-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
--device '{"driver":"virtio-rng-pci-non-transitional","rng":"objrng0","id":"rng0","bus":"pci.8","addr":"0x0"}' \
+-device '{"driver":"virtio-rng-pci-non-transitional","rng":"objrng0","id":"rng0","bus":"pci.10","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
--device '{"driver":"vhost-vsock-pci-non-transitional","id":"vsock0","guest-cid":4,"vhostfd":"6789","bus":"pci.9","addr":"0x0"}' \
+-device '{"driver":"vhost-vsock-pci-non-transitional","id":"vsock0","guest-cid":4,"vhostfd":"6789","bus":"pci.11","addr":"0x0"}' \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
index 6d18698ec7..a5730e9059 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
@@ -27,9 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-no-shutdown \
-no-acpi \
-boot strict=on \
--device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
+-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1"}' \
-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
-device '{"driver":"virtio-scsi-pci-transitional","id":"scsi0","bus":"pci.2","addr":"0x4"}' \
-device '{"driver":"virtio-serial-pci-transitional","id":"virtio-serial0","bus":"pci.2","addr":"0x3"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
index 0368ecc699..b5cf29038f 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
@@ -27,14 +27,15 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-no-shutdown \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"pcie-root-port","port":11,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x3"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.2","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
index c2eb8066df..4a3169e2a8 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
@@ -27,14 +27,15 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-no-shutdown \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \
--device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"pcie-root-port","port":11,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x3"}' \
+-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.3","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.2","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
index 37a1afb897..31796d9fb6 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
@@ -30,19 +30,20 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-global ICH9-LPC.disable_s4=1 \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
--device '{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}' \
--device '{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
--device '{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
--device '{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}' \
--device '{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}' \
--device '{"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"}' \
--device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \
--device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":17,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x1"}' \
+-device '{"driver":"pcie-root-port","port":18,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x2"}' \
+-device '{"driver":"pcie-root-port","port":19,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x3"}' \
+-device '{"driver":"pcie-root-port","port":20,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x4"}' \
+-device '{"driver":"pcie-root-port","port":21,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x5"}' \
+-device '{"driver":"pcie-root-port","port":22,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x6"}' \
+-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.4","addr":"0x0"}' \
+-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.5","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.6","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-netdev user,id=hostnet0 \
--device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:d2:70:0b","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:d2:70:0b","bus":"pci.3","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
@@ -51,8 +52,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-audiodev '{"id":"audio1","driver":"none"}' \
-vnc 127.0.0.1:0,audiodev=audio1 \
-device '{"driver":"qxl-vga","id":"video0","max_outputs":1,"ram_size":67108864,"vram_size":67108864,"vram64_size_mb":0,"vgamem_mb":16,"bus":"pcie.0","addr":"0x1"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.7","addr":"0x0"}' \
-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
--device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.6","addr":"0x0"}' \
+-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.8","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
index b4d90dff5e..6efcbf7943 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
@@ -31,26 +31,27 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
-global ICH9-LPC.disable_s4=1 \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
--device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \
--device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \
--device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \
--device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \
--device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \
--device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \
--device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \
--device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \
+-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
+-device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x2"}' \
+-device '{"driver":"pcie-root-port","port":11,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x3"}' \
+-device '{"driver":"pcie-root-port","port":12,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x4"}' \
+-device '{"driver":"pcie-root-port","port":13,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x5"}' \
+-device '{"driver":"pcie-root-port","port":14,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x6"}' \
+-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.4","addr":"0x0"}' \
+-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.5","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
--device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
+-device '{"driver":"virtio-blk-pci","bus":"pci.6","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-netdev user,id=hostnet0 \
--device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
+-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.3","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
+-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.7","addr":"0x0"}' \
-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
--device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.6","addr":"0x0"}' \
+-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.8","addr":"0x0"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.xml
index f1b5516ce4..88d9581502 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-bios-stateless.x86_64-latest.xml
@@ -26,6 +26,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml
index 722294089e..0c789d4af2 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-bios.x86_64-latest.xml
@@ -25,6 +25,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml
index 8dcc741c1e..015fadb74d 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-enrolled-keys.x86_64-latest.xml
@@ -29,6 +29,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml
index 26e30d7f64..c5674b3da3 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-loader-secure.x86_64-latest.xml
@@ -26,6 +26,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml
index e5d307e0b2..573f86be71 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-enrolled-keys.x86_64-latest.xml
@@ -28,6 +28,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml
index 1528ebcfe0..a9c556c573 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-no-secboot.x86_64-latest.xml
@@ -28,6 +28,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml
index abd6ec079d..ed24ef11a4 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-nvram.x86_64-latest.xml
@@ -26,6 +26,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml
index ef24e04b61..f4c61b67b0 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi-secboot.x86_64-latest.xml
@@ -28,6 +28,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml b/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml
index 7e2e40036e..c0a39927aa 100644
--- a/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/firmware-auto-efi.x86_64-latest.xml
@@ -25,6 +25,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.xml b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.xml
index 032b4ce030..2e0f52891f 100644
--- a/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.xml
@@ -27,9 +27,13 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
+ <target chassis='3' port='0x9'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<input type='mouse' bus='ps2'/>
@@ -37,7 +41,7 @@
<audio id='1' type='none'/>
<hostdev mode='subsystem' type='scsi_host' managed='no'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</hostdev>
<memballoon model='none'/>
</devices>
diff --git a/tests/qemuxml2xmloutdata/machine-smm-off.x86_64-latest.xml b/tests/qemuxml2xmloutdata/machine-smm-off.x86_64-latest.xml
index 77b0b39750..bd493f411f 100644
--- a/tests/qemuxml2xmloutdata/machine-smm-off.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/machine-smm-off.x86_64-latest.xml
@@ -25,6 +25,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/machine-smm-on.x86_64-latest.xml b/tests/qemuxml2xmloutdata/machine-smm-on.x86_64-latest.xml
index 7c7df9e06d..e43cc6500f 100644
--- a/tests/qemuxml2xmloutdata/machine-smm-on.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/machine-smm-on.x86_64-latest.xml
@@ -25,6 +25,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
diff --git a/tests/qemuxml2xmloutdata/net-isolated-port.x86_64-latest.xml b/tests/qemuxml2xmloutdata/net-isolated-port.x86_64-latest.xml
index b2eb8516b8..7072879f25 100644
--- a/tests/qemuxml2xmloutdata/net-isolated-port.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/net-isolated-port.x86_64-latest.xml
@@ -25,7 +25,7 @@
</disk>
<controller type='pci' index='0' model='pcie-root'/>
<controller type='usb' index='0' model='qemu-xhci'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -35,14 +35,18 @@
<target chassis='1' port='0x10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x11'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0x12'/>
+ <target chassis='3' port='0x11'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+ </controller>
+ <controller type='pci' index='4' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='4' port='0x12'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<interface type='network'>
@@ -50,7 +54,7 @@
<source network='default'/>
<port isolated='yes'/>
<model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</interface>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
diff --git a/tests/qemuxml2xmloutdata/q35-default-devices-only.x86_64-latest.xml b/tests/qemuxml2xmloutdata/q35-default-devices-only.x86_64-latest.xml
index 5540ad1147..386df5920c 100644
--- a/tests/qemuxml2xmloutdata/q35-default-devices-only.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/q35-default-devices-only.x86_64-latest.xml
@@ -18,7 +18,7 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='usb' index='0' model='qemu-xhci'>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -29,21 +29,25 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='pci' index='4' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='4' port='0xa'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/q35-pcie-autoadd.x86_64-latest.xml b/tests/qemuxml2xmloutdata/q35-pcie-autoadd.x86_64-latest.xml
index 3037902354..725756b8fc 100644
--- a/tests/qemuxml2xmloutdata/q35-pcie-autoadd.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/q35-pcie-autoadd.x86_64-latest.xml
@@ -21,16 +21,16 @@
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='vdb' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
</disk>
<controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</controller>
<controller type='scsi' index='0' model='virtio-scsi'>
- <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</controller>
<controller type='usb' index='0' model='nec-xhci'>
- <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -41,98 +41,102 @@
<target chassis='1' port='0x10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x11'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0x12'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
+ <target chassis='3' port='0x11'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0x13'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
+ <target chassis='4' port='0x12'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='5' port='0x14'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
+ <target chassis='5' port='0x13'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='6' port='0x15'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
+ <target chassis='6' port='0x14'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='7' port='0x16'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
+ <target chassis='7' port='0x15'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
</controller>
<controller type='pci' index='8' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='8' port='0x17'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
+ <target chassis='8' port='0x16'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
</controller>
<controller type='pci' index='9' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='9' port='0x18'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
+ <target chassis='9' port='0x17'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
</controller>
<controller type='pci' index='10' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='10' port='0x19'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
+ <target chassis='10' port='0x18'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
</controller>
<controller type='pci' index='11' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='11' port='0x1a'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
+ <target chassis='11' port='0x19'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
</controller>
<controller type='pci' index='12' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='12' port='0x1b'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
+ <target chassis='12' port='0x1a'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
</controller>
<controller type='pci' index='13' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='13' port='0x1c'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
+ <target chassis='13' port='0x1b'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
</controller>
<controller type='pci' index='14' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='14' port='0x1d'/>
+ <target chassis='14' port='0x1c'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
+ </controller>
+ <controller type='pci' index='15' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='15' port='0x1d'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/>
</controller>
<filesystem type='mount' accessmode='passthrough'>
<source dir='/export/to/guest'/>
<target dir='/import/from/host'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</filesystem>
<interface type='user'>
<mac address='00:11:22:33:44:55'/>
<model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</interface>
<interface type='user'>
<mac address='00:11:22:33:44:66'/>
<model type='e1000e'/>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</interface>
<input type='passthrough' bus='virtio'>
<source evdev='/dev/input/event1234'/>
- <address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
</input>
<input type='mouse' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/>
</input>
<input type='keyboard' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0e' slot='0x00' function='0x0'/>
</input>
<input type='tablet' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0f' slot='0x00' function='0x0'/>
</input>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
@@ -142,12 +146,12 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
</memballoon>
<rng model='virtio'>
<rate bytes='123' period='1234'/>
<backend model='random'>/dev/urandom</backend>
- <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
</rng>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/q35-virt-manager-basic.x86_64-latest.xml b/tests/qemuxml2xmloutdata/q35-virt-manager-basic.x86_64-latest.xml
index 62289d4800..40e5fdd975 100644
--- a/tests/qemuxml2xmloutdata/q35-virt-manager-basic.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/q35-virt-manager-basic.x86_64-latest.xml
@@ -34,16 +34,16 @@
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/basic.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='nec-xhci'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
<controller type='pci' index='1' model='pcie-root-port'>
@@ -51,35 +51,39 @@
<target chassis='1' port='0x10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x11'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0x12'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
+ <target chassis='3' port='0x11'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0x13'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
+ <target chassis='4' port='0x12'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='5' port='0x14'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
+ <target chassis='5' port='0x13'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='6' port='0x15'/>
+ <target chassis='6' port='0x14'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
+ </controller>
+ <controller type='pci' index='7' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='7' port='0x15'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
</controller>
<interface type='user'>
<mac address='52:54:00:9a:e6:c6'/>
<model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
@@ -121,7 +125,7 @@
<address type='usb' bus='0' port='3'/>
</redirdev>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/tseg-explicit-size.x86_64-latest.xml b/tests/qemuxml2xmloutdata/tseg-explicit-size.x86_64-latest.xml
index 78ffe820cf..6339300694 100644
--- a/tests/qemuxml2xmloutdata/tseg-explicit-size.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/tseg-explicit-size.x86_64-latest.xml
@@ -23,7 +23,7 @@
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<controller type='usb' index='0' model='qemu-xhci'>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -34,21 +34,25 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='pci' index='4' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='4' port='0xa'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml b/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml
index ad3a702b0b..e116aa9603 100644
--- a/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/virtio-iommu-x86_64.x86_64-latest.xml
@@ -25,12 +25,21 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
+ <controller type='pci' index='1' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='1' port='0x8'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='none'/>
<iommu model='virtio'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</iommu>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/virtio-non-transitional.x86_64-latest.xml b/tests/qemuxml2xmloutdata/virtio-non-transitional.x86_64-latest.xml
index 26f6c6d34e..a6f8662f5b 100644
--- a/tests/qemuxml2xmloutdata/virtio-non-transitional.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/virtio-non-transitional.x86_64-latest.xml
@@ -21,13 +21,13 @@
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</disk>
<controller type='virtio-serial' index='0' model='virtio-non-transitional'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</controller>
<controller type='scsi' index='0' model='virtio-non-transitional'>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</controller>
<controller type='usb' index='0' model='none'/>
<controller type='sata' index='0'>
@@ -39,78 +39,82 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0xb'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
+ <target chassis='4' port='0xa'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='5' port='0xc'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
+ <target chassis='5' port='0xb'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='6' port='0xd'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
+ <target chassis='6' port='0xc'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='7' port='0xe'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
+ <target chassis='7' port='0xd'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
</controller>
<controller type='pci' index='8' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='8' port='0xf'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
+ <target chassis='8' port='0xe'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
</controller>
<controller type='pci' index='9' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='9' port='0x10'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
+ <target chassis='9' port='0xf'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
</controller>
<controller type='pci' index='10' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='10' port='0x11'/>
+ <target chassis='10' port='0x10'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
+ </controller>
+ <controller type='pci' index='11' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='11' port='0x11'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<filesystem type='mount' accessmode='passthrough' model='virtio-non-transitional'>
<source dir='/export/fs1'/>
<target dir='fs1'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</filesystem>
<interface type='user'>
<mac address='00:11:22:33:44:55'/>
<model type='virtio-non-transitional'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</interface>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<hostdev mode='subsystem' type='scsi_host' managed='no' model='virtio-non-transitional'>
<source protocol='vhost' wwpn='naa.5123456789abcde0'/>
- <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</hostdev>
<memballoon model='virtio-non-transitional'>
- <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
</memballoon>
<rng model='virtio-non-transitional'>
<backend model='random'>/dev/urandom</backend>
- <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
</rng>
<vsock model='virtio-non-transitional'>
<cid auto='no' address='4'/>
- <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
</vsock>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/virtio-transitional.x86_64-latest.xml b/tests/qemuxml2xmloutdata/virtio-transitional.x86_64-latest.xml
index 8e9ecd8cf3..e920147f16 100644
--- a/tests/qemuxml2xmloutdata/virtio-transitional.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/virtio-transitional.x86_64-latest.xml
@@ -37,17 +37,12 @@
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x8'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</controller>
<controller type='pci' index='2' model='pcie-to-pci-bridge'>
<model name='pcie-pci-bridge'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
- <controller type='pci' index='3' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='3' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
- </controller>
<filesystem type='mount' accessmode='passthrough' model='virtio-transitional'>
<source dir='/export/fs1'/>
<target dir='fs1'/>
diff --git a/tests/qemuxml2xmloutdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.xml b/tests/qemuxml2xmloutdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.xml
index 61b9077597..d014ecdc14 100644
--- a/tests/qemuxml2xmloutdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.xml
@@ -25,10 +25,10 @@
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/guest.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci'>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -39,26 +39,30 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0xb'/>
+ <target chassis='4' port='0xa'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='5' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='5' port='0xb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.xml b/tests/qemuxml2xmloutdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.xml
index 04335f6244..e1ea284491 100644
--- a/tests/qemuxml2xmloutdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.xml
@@ -25,10 +25,10 @@
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/guest.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci'>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
@@ -39,26 +39,30 @@
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0xb'/>
+ <target chassis='4' port='0xa'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='5' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='5' port='0xb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
</controller>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/x86_64-q35-graphics.x86_64-latest.xml b/tests/qemuxml2xmloutdata/x86_64-q35-graphics.x86_64-latest.xml
index 02485adb98..589e1f01f9 100644
--- a/tests/qemuxml2xmloutdata/x86_64-q35-graphics.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/x86_64-q35-graphics.x86_64-latest.xml
@@ -38,57 +38,61 @@
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/guest.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci' ports='15'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
- <controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
- </controller>
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x11'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0x12'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
+ <target chassis='3' port='0x11'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0x13'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
+ <target chassis='4' port='0x12'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='5' port='0x14'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
+ <target chassis='5' port='0x13'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='6' port='0x15'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
+ <target chassis='6' port='0x14'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='7' port='0x16'/>
+ <target chassis='7' port='0x15'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
+ </controller>
+ <controller type='pci' index='8' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='8' port='0x16'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
</controller>
<interface type='user'>
<mac address='52:54:00:d2:70:0b'/>
<model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
@@ -114,11 +118,11 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</memballoon>
<rng model='virtio'>
<backend model='random'>/dev/urandom</backend>
- <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</rng>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/x86_64-q35-headless.x86_64-latest.xml b/tests/qemuxml2xmloutdata/x86_64-q35-headless.x86_64-latest.xml
index 0eedb748dd..8f7eec34f3 100644
--- a/tests/qemuxml2xmloutdata/x86_64-q35-headless.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/x86_64-q35-headless.x86_64-latest.xml
@@ -38,57 +38,61 @@
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/guest.qcow2'/>
<target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci' ports='15'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
- <controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
- </controller>
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x8'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
</controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ <controller type='pci' index='2' model='pcie-to-pci-bridge'>
+ <model name='pcie-pci-bridge'/>
+ <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ <target chassis='3' port='0x9'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='4' port='0xb'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
+ <target chassis='4' port='0xa'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='5' port='0xc'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
+ <target chassis='5' port='0xb'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='6' port='0xd'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
+ <target chassis='6' port='0xc'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
- <target chassis='7' port='0xe'/>
+ <target chassis='7' port='0xd'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
+ </controller>
+ <controller type='pci' index='8' model='pcie-root-port'>
+ <model name='pcie-root-port'/>
+ <target chassis='8' port='0xe'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
</controller>
<interface type='user'>
<mac address='52:54:00:09:a4:37'/>
<model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
@@ -106,11 +110,11 @@
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</memballoon>
<rng model='virtio'>
<backend model='random'>/dev/urandom</backend>
- <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</rng>
</devices>
</domain>
--
2.38.1
6
14
AMX was introduced in QEMU commit 1f16764f7d4515bfd5e4ae0aae814fa280a7d0c8
and following commits.
---
src/cpu_map/sync_qemu_i386.py | 3 +++
src/cpu_map/x86_features.xml | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/src/cpu_map/sync_qemu_i386.py b/src/cpu_map/sync_qemu_i386.py
index 4dd9f3b84d..6a46f87cff 100755
--- a/src/cpu_map/sync_qemu_i386.py
+++ b/src/cpu_map/sync_qemu_i386.py
@@ -72,6 +72,9 @@ def translate_feature(name):
"CPUID_7_0_EDX_SPEC_CTRL": "spec-ctrl",
"CPUID_7_0_EDX_SPEC_CTRL_SSBD": "ssbd",
"CPUID_7_0_EDX_STIBP": "stibp",
+ "CPUID_7_0_EDX_AMX_BF16": "amx-bf16",
+ "CPUID_7_0_EDX_AMX_TILE": "amx-tile",
+ "CPUID_7_0_EDX_AMX_INT8": "amx-int8",
"CPUID_7_1_EAX_AVX512_BF16": "avx512-bf16",
"CPUID_7_1_EAX_AVX_VNNI": "avx-vnni",
"CPUID_8000_0008_EBX_AMD_SSBD": "amd-ssbd",
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index 4cf3ff0804..102d39f626 100644
--- a/src/cpu_map/x86_features.xml
+++ b/src/cpu_map/x86_features.xml
@@ -347,6 +347,15 @@
<feature name='pconfig'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/>
</feature>
+ <feature name='amx-bf16'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00400000'/>
+ </feature>
+ <feature name='amx-tile'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x01000000'/>
+ </feature>
+ <feature name='amx-int8'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x02000000'/>
+ </feature>
<feature name='spec-ctrl'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
</feature>
--
2.34.1
3
4
04 Nov '22
The g_slist_free_full() function is perfectly capable of handling
NULL (in which case it's NOP), therefore there's no need to check
passed pointers for NULL. We have them though in couple of
places. Drop them.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_domain.c | 8 +++-----
src/qemu/qemu_migration_cookie.c | 10 ++++------
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index c3afc6c9d3..09e213e48d 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -103,9 +103,8 @@ qemuJobFreePrivate(void *opaque)
return;
qemuMigrationParamsFree(priv->migParams);
- if (priv->migTempBitmaps)
- g_slist_free_full(priv->migTempBitmaps,
- (GDestroyNotify) qemuDomainJobPrivateMigrateTempBitmapFree);
+ g_slist_free_full(priv->migTempBitmaps,
+ (GDestroyNotify) qemuDomainJobPrivateMigrateTempBitmapFree);
g_free(priv);
}
@@ -1733,8 +1732,7 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivate *priv)
priv->dbusDaemonRunning = false;
- if (priv->dbusVMStateIds)
- g_slist_free_full(g_steal_pointer(&priv->dbusVMStateIds), g_free);
+ g_slist_free_full(g_steal_pointer(&priv->dbusVMStateIds), g_free);
priv->dbusVMState = false;
diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
index 95e803b3e1..4d070e438d 100644
--- a/src/qemu/qemu_migration_cookie.c
+++ b/src/qemu/qemu_migration_cookie.c
@@ -139,9 +139,8 @@ qemuMigrationBlockDirtyBitmapsDiskFree(qemuMigrationBlockDirtyBitmapsDisk *dsk)
return;
g_free(dsk->target);
- if (dsk->bitmaps)
- g_slist_free_full(dsk->bitmaps,
- (GDestroyNotify) qemuMigrationBlockDirtyBitmapsDiskBitmapFree);
+ g_slist_free_full(dsk->bitmaps,
+ (GDestroyNotify) qemuMigrationBlockDirtyBitmapsDiskBitmapFree);
g_free(dsk);
}
@@ -168,9 +167,8 @@ qemuMigrationCookieFree(qemuMigrationCookie *mig)
g_clear_pointer(&mig->jobData, virDomainJobDataFree);
virCPUDefFree(mig->cpu);
qemuMigrationCookieCapsFree(mig->caps);
- if (mig->blockDirtyBitmaps)
- g_slist_free_full(mig->blockDirtyBitmaps,
- (GDestroyNotify) qemuMigrationBlockDirtyBitmapsDiskFree);
+ g_slist_free_full(mig->blockDirtyBitmaps,
+ (GDestroyNotify) qemuMigrationBlockDirtyBitmapsDiskFree);
g_free(mig);
}
--
2.37.4
2
1
[PATCH 00/15] qemu: Retire QEMU_CAPS_OBJECT_MEMORY_{RAM, FILE} and friends
by Michal Privoznik 04 Nov '22
by Michal Privoznik 04 Nov '22
04 Nov '22
Pipeline:
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/684845875
Given our minimal QEMU version 4.2.0, memory-backend-ram,
memory-backend-file and some of its attributes are going to be always
present. Retire corresponding capabilities then.
Michal Prívozník (15):
qemuxml2argvtest: Convert hugepages related tests to _CAPS_LATEST
qemuxml2xmltest: Convert hugepages related tests to _CAPS_LATEST
qemuxml2argvtest: Drop cpu-numa-memshared-1 test case
qemu: Assume QEMU_CAPS_OBJECT_MEMORY_RAM
qemu_capabilities: Stop detecting QEMU_CAPS_OBJECT_MEMORY_RAM
qemu: Retire QEMU_CAPS_OBJECT_MEMORY_RAM
qemu: Assume QEMU_CAPS_OBJECT_MEMORY_FILE
qemu_capabilities: Stop detectin QEMU_CAPS_OBJECT_MEMORY_FILE
qemu: Retire QEMU_CAPS_OBJECT_MEMORY_FILE
qemu: Assume QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD
qemu_capabilities: Stop detecting QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD
qemu: Retire QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD
qemu: Assume QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN
qemu_capabilities: Stop detecting QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN
qemu: Retire QEMU_CAPS_OBJECT_MEMORY_FILE_ALIGN
src/qemu/qemu_capabilities.c | 21 ++--
src/qemu/qemu_capabilities.h | 8 +-
src/qemu/qemu_command.c | 67 +++--------
src/qemu/qemu_validate.c | 44 -------
.../caps_4.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 4 -
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 4 -
.../caps_4.2.0.x86_64.xml | 4 -
.../caps_5.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 4 -
.../caps_5.0.0.riscv64.xml | 4 -
.../caps_5.0.0.x86_64.xml | 4 -
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 4 -
.../caps_5.1.0.x86_64.xml | 4 -
.../caps_5.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 4 -
.../caps_5.2.0.riscv64.xml | 4 -
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 4 -
.../caps_5.2.0.x86_64.xml | 4 -
.../caps_6.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 4 -
.../caps_6.0.0.x86_64.xml | 4 -
.../caps_6.1.0.x86_64.xml | 4 -
.../caps_6.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 4 -
.../caps_6.2.0.x86_64.xml | 4 -
.../caps_7.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 4 -
.../caps_7.0.0.x86_64.xml | 4 -
.../qemucapabilitiesdata/caps_7.1.0.ppc64.xml | 4 -
.../caps_7.1.0.x86_64.xml | 4 -
.../caps_7.2.0.x86_64.xml | 4 -
.../qemuxml2argvdata/cpu-numa-memshared-1.err | 1 -
.../qemuxml2argvdata/cpu-numa-memshared-1.xml | 1 -
.../hugepages-default-1G-nodeset-2M.err | 2 +-
...> hugepages-default-2M.x86_64-latest.args} | 13 ++-
.../qemuxml2argvdata/hugepages-default-2M.xml | 9 +-
...es-default-system-size.x86_64-latest.args} | 15 ++-
.../hugepages-default-system-size.xml | 9 +-
...s => hugepages-default.x86_64-latest.args} | 15 +--
tests/qemuxml2argvdata/hugepages-default.xml | 20 +++-
.../qemuxml2argvdata/hugepages-memaccess.args | 44 -------
.../hugepages-memaccess.x86_64-latest.args | 46 ++++++++
.../qemuxml2argvdata/hugepages-memaccess.xml | 9 +-
.../hugepages-memaccess2.args | 44 -------
.../hugepages-memaccess2.x86_64-latest.args | 46 ++++++++
.../qemuxml2argvdata/hugepages-memaccess2.xml | 9 +-
.../qemuxml2argvdata/hugepages-memaccess3.xml | 10 +-
...epages-nodeset-nonexist.x86_64-latest.err} | 0
.../hugepages-nodeset-nonexist.xml | 4 +-
...s => hugepages-nodeset.x86_64-latest.args} | 13 ++-
tests/qemuxml2argvdata/hugepages-nodeset.xml | 12 +-
...epages-numa-default-2M.x86_64-latest.args} | 12 +-
.../hugepages-numa-default-2M.xml | 12 +-
...ages-numa-default-dimm.x86_64-latest.args} | 15 +--
.../hugepages-numa-default-dimm.xml | 5 +-
...hugepages-numa-default.x86_64-latest.args} | 11 +-
...s-numa-nodeset-nonexist.x86_64-latest.err} | 0
.../hugepages-numa-nodeset-nonexist.xml | 4 +-
...ages-numa-nodeset-part.x86_64-latest.args} | 12 +-
.../hugepages-numa-nodeset-part.xml | 12 +-
.../hugepages-numa-nodeset.x86_64-latest.args | 40 +++++++
.../hugepages-numa-nodeset.xml | 12 +-
tests/qemuxml2argvdata/hugepages-nvdimm.xml | 5 +-
tests/qemuxml2argvdata/hugepages-shared.args | 42 -------
.../hugepages-shared.x86_64-latest.args | 44 +++++++
tests/qemuxml2argvdata/hugepages-shared.xml | 21 +++-
tests/qemuxml2argvdata/numatune-memnode.err | 2 +-
.../qemuxml2argvdata/pages-dimm-discard.args | 35 ------
.../pages-dimm-discard.x86_64-latest.args | 38 ++++++
tests/qemuxml2argvdata/pages-dimm-discard.xml | 5 +-
.../pages-discard-hugepages.args | 34 ------
...pages-discard-hugepages.x86_64-latest.args | 36 ++++++
.../pages-discard-hugepages.xml | 9 +-
tests/qemuxml2argvdata/pages-discard.args | 34 ------
....args => pages-discard.x86_64-latest.args} | 16 +--
tests/qemuxml2argvdata/pages-discard.xml | 4 +-
tests/qemuxml2argvtest.c | 110 +++++-------------
...=> hugepages-default-2M.x86_64-latest.xml} | 0
...ges-default-system-size.x86_64-latest.xml} | 0
.../hugepages-default.x86_64-latest.xml | 1 +
.../qemuxml2xmloutdata/hugepages-default.xml | 34 ------
... => hugepages-memaccess.x86_64-latest.xml} | 0
...=> hugepages-memaccess2.x86_64-latest.xml} | 0
.../hugepages-memaccess3.x86_64-latest.xml | 1 +
.../hugepages-nodeset.x86_64-latest.xml | 1 +
.../qemuxml2xmloutdata/hugepages-nodeset.xml | 31 -----
...ugepages-numa-default-2M.x86_64-latest.xml | 1 +
.../hugepages-numa-default-2M.xml | 37 ------
...pages-numa-default-dimm.x86_64-latest.xml} | 0
...epages-numa-nodeset-part.x86_64-latest.xml | 1 +
.../hugepages-numa-nodeset-part.xml | 37 ------
.../hugepages-numa-nodeset.x86_64-latest.xml | 1 +
.../hugepages-numa-nodeset.xml | 40 -------
...xml => hugepages-nvdimm.x86_64-latest.xml} | 0
.../hugepages-shared.x86_64-latest.xml | 1 +
tests/qemuxml2xmloutdata/hugepages-shared.xml | 55 ---------
...l => pages-dimm-discard.x86_64-latest.xml} | 0
...pages-discard-hugepages.x86_64-latest.xml} | 0
tests/qemuxml2xmltest.c | 62 ++++------
100 files changed, 522 insertions(+), 925 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/cpu-numa-memshared-1.err
delete mode 120000 tests/qemuxml2argvdata/cpu-numa-memshared-1.xml
rename tests/qemuxml2argvdata/{hugepages-nodeset.args => hugepages-default-2M.x86_64-latest.args} (55%)
rename tests/qemuxml2argvdata/{hugepages-numa-default-2M.args => hugepages-default-system-size.x86_64-latest.args} (61%)
rename tests/qemuxml2argvdata/{hugepages-default.args => hugepages-default.x86_64-latest.args} (51%)
delete mode 100644 tests/qemuxml2argvdata/hugepages-memaccess.args
create mode 100644 tests/qemuxml2argvdata/hugepages-memaccess.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/hugepages-memaccess2.args
create mode 100644 tests/qemuxml2argvdata/hugepages-memaccess2.x86_64-latest.args
rename tests/qemuxml2argvdata/{hugepages-nodeset-nonexist.err => hugepages-nodeset-nonexist.x86_64-latest.err} (100%)
rename tests/qemuxml2argvdata/{hugepages-default-2M.args => hugepages-nodeset.x86_64-latest.args} (55%)
rename tests/qemuxml2argvdata/{hugepages-default-system-size.args => hugepages-numa-default-2M.x86_64-latest.args} (51%)
rename tests/qemuxml2argvdata/{hugepages-numa-default-dimm.args => hugepages-numa-default-dimm.x86_64-latest.args} (51%)
rename tests/qemuxml2argvdata/{hugepages-numa-default.args => hugepages-numa-default.x86_64-latest.args} (60%)
rename tests/qemuxml2argvdata/{hugepages-numa-nodeset-nonexist.err => hugepages-numa-nodeset-nonexist.x86_64-latest.err} (100%)
rename tests/qemuxml2argvdata/{hugepages-numa-nodeset-part.args => hugepages-numa-nodeset-part.x86_64-latest.args} (60%)
create mode 100644 tests/qemuxml2argvdata/hugepages-numa-nodeset.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/hugepages-shared.args
create mode 100644 tests/qemuxml2argvdata/hugepages-shared.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pages-dimm-discard.args
create mode 100644 tests/qemuxml2argvdata/pages-dimm-discard.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pages-discard-hugepages.args
create mode 100644 tests/qemuxml2argvdata/pages-discard-hugepages.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pages-discard.args
rename tests/qemuxml2argvdata/{hugepages-numa-nodeset.args => pages-discard.x86_64-latest.args} (59%)
rename tests/qemuxml2xmloutdata/{hugepages-default-2M.xml => hugepages-default-2M.x86_64-latest.xml} (100%)
rename tests/qemuxml2xmloutdata/{hugepages-default-system-size.xml => hugepages-default-system-size.x86_64-latest.xml} (100%)
create mode 120000 tests/qemuxml2xmloutdata/hugepages-default.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-default.xml
rename tests/qemuxml2xmloutdata/{hugepages-memaccess.xml => hugepages-memaccess.x86_64-latest.xml} (100%)
rename tests/qemuxml2xmloutdata/{hugepages-memaccess2.xml => hugepages-memaccess2.x86_64-latest.xml} (100%)
create mode 120000 tests/qemuxml2xmloutdata/hugepages-memaccess3.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/hugepages-nodeset.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-nodeset.xml
create mode 120000 tests/qemuxml2xmloutdata/hugepages-numa-default-2M.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-numa-default-2M.xml
rename tests/qemuxml2xmloutdata/{hugepages-numa-default-dimm.xml => hugepages-numa-default-dimm.x86_64-latest.xml} (100%)
create mode 120000 tests/qemuxml2xmloutdata/hugepages-numa-nodeset-part.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-numa-nodeset-part.xml
create mode 120000 tests/qemuxml2xmloutdata/hugepages-numa-nodeset.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-numa-nodeset.xml
rename tests/qemuxml2xmloutdata/{hugepages-nvdimm.xml => hugepages-nvdimm.x86_64-latest.xml} (100%)
create mode 120000 tests/qemuxml2xmloutdata/hugepages-shared.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/hugepages-shared.xml
rename tests/qemuxml2xmloutdata/{pages-dimm-discard.xml => pages-dimm-discard.x86_64-latest.xml} (100%)
rename tests/qemuxml2xmloutdata/{pages-discard-hugepages.xml => pages-discard-hugepages.x86_64-latest.xml} (100%)
--
2.37.4
2
30
[PATCH] qemu: validate: Validate maximum start time for <clock offset='absolute'>
by Peter Krempa 03 Nov '22
by Peter Krempa 03 Nov '22
03 Nov '22
Glib can internally convert only unix timestamps up to
9999-12-31T23:59:59 (253402300799). Validate that the user doesn't use
more than that as otherwise we cause an assertion failure:
(process:1183396): GLib-CRITICAL **: 14:25:00.906: g_date_time_format: assertion 'datetime != NULL' failed
Additionally adjust the schema to allow bigger values as we use
'unsigned long long' to parse the value.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2128993
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/schemas/domaincommon.rng | 2 +-
src/qemu/qemu_validate.c | 17 +++++++++++++++++
.../clock-absolute.x86_64-latest.args | 2 +-
tests/qemuxml2argvdata/clock-absolute.xml | 2 +-
.../clock-absolute.x86_64-latest.xml | 2 +-
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng
index ebb39de3ef..cefe818044 100644
--- a/src/conf/schemas/domaincommon.rng
+++ b/src/conf/schemas/domaincommon.rng
@@ -1312,7 +1312,7 @@
<value>absolute</value>
</attribute>
<attribute name="start">
- <ref name="unsignedInt"/>
+ <ref name="unsignedLong"/>
</attribute>
</group>
</choice>
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 1456a69351..1d4081e47e 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -663,6 +663,23 @@ qemuValidateDomainDefClockTimers(const virDomainDef *def,
}
}
+ switch ((virDomainClockOffsetType) def->clock.offset) {
+ case VIR_DOMAIN_CLOCK_OFFSET_ABSOLUTE:
+ /* maximum timestamp glib can convert is 9999-12-31T23:59:59 */
+ if (def->clock.data.starttime > 253402300799) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("The maximum 'start' value for <clock offset='absolute'> is 253402300799"));
+ return -1;
+ }
+
+ case VIR_DOMAIN_CLOCK_OFFSET_UTC:
+ case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
+ case VIR_DOMAIN_CLOCK_OFFSET_TIMEZONE:
+ case VIR_DOMAIN_CLOCK_OFFSET_VARIABLE:
+ case VIR_DOMAIN_CLOCK_OFFSET_LAST:
+ break;
+ }
+
return 0;
}
diff --git a/tests/qemuxml2argvdata/clock-absolute.x86_64-latest.args b/tests/qemuxml2argvdata/clock-absolute.x86_64-latest.args
index 75fc162cee..af64bc0f1a 100644
--- a/tests/qemuxml2argvdata/clock-absolute.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/clock-absolute.x86_64-latest.args
@@ -23,7 +23,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-nodefaults \
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
-mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=1970-01-01T00:20:34 \
+-rtc base=9999-12-31T23:59:59 \
-no-shutdown \
-no-acpi \
-boot strict=on \
diff --git a/tests/qemuxml2argvdata/clock-absolute.xml b/tests/qemuxml2argvdata/clock-absolute.xml
index e79f53ed3c..63ef7f6f33 100644
--- a/tests/qemuxml2argvdata/clock-absolute.xml
+++ b/tests/qemuxml2argvdata/clock-absolute.xml
@@ -8,7 +8,7 @@
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>
</os>
- <clock offset='absolute' start='1234'/>
+ <clock offset='absolute' start='253402300799'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
diff --git a/tests/qemuxml2xmloutdata/clock-absolute.x86_64-latest.xml b/tests/qemuxml2xmloutdata/clock-absolute.x86_64-latest.xml
index b313a74039..eea68677d5 100644
--- a/tests/qemuxml2xmloutdata/clock-absolute.x86_64-latest.xml
+++ b/tests/qemuxml2xmloutdata/clock-absolute.x86_64-latest.xml
@@ -11,7 +11,7 @@
<cpu mode='custom' match='exact' check='none'>
<model fallback='forbid'>qemu64</model>
</cpu>
- <clock offset='absolute' start='1234'/>
+ <clock offset='absolute' start='253402300799'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
--
2.37.3
2
1
03 Nov '22
V1: https://listman.redhat.com/archives/libvir-list/2022-October/235007.html
Changes since V1:
* Fixed register for features "sgx1" and "sgx2". Double checked all other
features, just to be sure.
* Addes missing help message in sync_qemu_i386_features.py.
* Merged all eax=0x12 ecx=0x01 features (sgx-...).
Thanks Jiri for the review.
> I'm not sure about the "for now" part here [patch #2, "cpu_x86: Ignore
> alias names"]. Do you think we can do something clever with them while
> still not accepting them in domain XML (accepting aliases in the XML
> would just make such XMLs unnecessarily incompatible with older libvirt
> releases)?
I am planning on using this information in virQEMUCapsCPUFeatureTranslate.
Would be nice if we could deduplicate the information of how to translate
qemu feature names into libvirt names. I agree that we should not accept
the alias names in XML.
Tim Wiederhake (24):
cpu-data.py: Allow for more than child in feature nodes
cpu_x86: Ignore alias names
cpu: make x86 feature alias names machine readable
cpu_map: Add script to sync from QEMU i386 cpu features
cpu_map: Rename sync_qemu_i386.py
cpu_map: Add missing x86 feature alias names
cpu_map: Add missing x86 feature "sgx"
cpu_map: Add missing x86 feature "sgxlc"
cpu_map: Add missing x86 feature "sgx-exinfo"
cpu_map: Add missing x86 feature "sgx1"
cpu_map: Add missing x86 feature "sgx2"
cpu_map: Add missing x86 features "sgx-..."
cpu_map: Add missing x86 feature "bus-lock-detect"
cpu_map: Add missing x86 feature "pks"
cpu_map: Add missing x86 feature "avx512-vp2intersect"
cpu_map: Add missing x86 feature "avx512-fp16"
cpu_map: Add missing x86 feature "serialize"
cpu_map: Add missing x86 feature "tsx-ldtrk"
cpu_map: Add missing x86 feature "arch-lbr"
cpu_map: Add missing x86 feature "xfd"
cpu_map: Add missing x86 feature "intel-pt-lip"
cpu_map: Add missing x86 feature "avic"
cpu_map: Add missing x86 feature "v-vmsave-vmload"
cpu_map: Add missing x86 feature "vgif"
src/cpu/cpu_x86.c | 10 +-
src/cpu_map/sync_qemu_features_i386.py | 278 ++++++++++++++++++
..._qemu_i386.py => sync_qemu_models_i386.py} | 0
src/cpu_map/x86_features.xml | 133 +++++++--
tests/cputestdata/cpu-data.py | 11 +-
.../x86_64-cpuid-Atom-P5362-disabled.xml | 1 +
.../x86_64-cpuid-Atom-P5362-guest.xml | 1 +
.../x86_64-cpuid-Atom-P5362-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-7600U-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-7700-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-8550U-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +-
.../x86_64-cpuid-Core-i7-8700-guest.xml | 2 +
.../x86_64-cpuid-Core-i7-8700-host.xml | 2 +
...86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +-
.../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 3 +
.../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 3 +
...86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +-
.../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 3 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 3 +
...-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +-
..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 3 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 3 +
...-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +-
..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 3 +
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 3 +
.../x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +-
.../x86_64-cpuid-Ice-Lake-Server-guest.xml | 2 +
.../x86_64-cpuid-Ice-Lake-Server-host.xml | 2 +
...puid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +-
...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 3 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 3 +
...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +-
...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 3 +
...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 3 +
.../x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | 2 +-
.../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 2 +-
.../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 +
52 files changed, 487 insertions(+), 36 deletions(-)
create mode 100755 src/cpu_map/sync_qemu_features_i386.py
rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%)
--
2.36.1
3
30
This series cleans up some cruft unused for very long time, fixes the
reference page for LXC API:
Broken (until this patchset is merged):
https://www.libvirt.org/html/libvirt-libvirt-lxc.html
Fixed:
https://pipo.sk.gitlab.io/-/libvirt/-/jobs/3268983196/artifacts/website/htm…
Removes pointless copy of the LGPL license at the top of the API
refernece files such as:
https://www.libvirt.org/html/libvirt-libvirt-qemu.html
and removes the pointless specific index files such as:
https://www.libvirt.org/html/index-qemu.html
Peter Krempa (5):
docs: xsl: newapi: Remove unused 'navbar' template
docs: xsl: Don't format empty sections in API manual
apibuild: Don't include the Copyright in the <description> of a module
docs: Link directly to admin|qemu|lxc API reference pages
docs: xsl: Don't generate pointless index pages for qemu/admin/lxc API
docs/docs.rst | 6 +--
docs/html/home.png | Bin 654 -> 0 bytes
docs/html/left.png | Bin 459 -> 0 bytes
docs/html/meson.build | 16 +------
docs/html/right.png | Bin 472 -> 0 bytes
docs/html/up.png | Bin 406 -> 0 bytes
docs/newapi.xsl | 98 ++++++++++++++++++------------------------
scripts/apibuild.py | 8 ++++
8 files changed, 55 insertions(+), 73 deletions(-)
delete mode 100644 docs/html/home.png
delete mode 100644 docs/html/left.png
delete mode 100644 docs/html/right.png
delete mode 100644 docs/html/up.png
--
2.37.3
2
7
[libvirt PATCH] qemu: Avoid memory leak in qemuMonitorJSONExtractQueryStatsSchema
by Jiri Denemark 02 Nov '22
by Jiri Denemark 02 Nov '22
02 Nov '22
In a rare case when virHashAddEntry fails we would just leak the
structure we wanted to add to the hash table.
Fixes: e89acdbc3bbada2f3c1a591278bc975ddee2d5a9
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_monitor_json.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 2bd159bc98..8a3421a6fc 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -8596,7 +8596,7 @@ qemuMonitorJSONExtractQueryStatsSchema(virJSONValue *json)
virJSONValue *stat = virJSONValueArrayGet(stats, j);
const char *name = NULL;
const char *tmp = NULL;
- qemuMonitorQueryStatsSchemaData *data = NULL;
+ g_autofree qemuMonitorQueryStatsSchemaData *data = NULL;
int type = -1;
int unit = -1;
@@ -8632,7 +8632,9 @@ qemuMonitorJSONExtractQueryStatsSchema(virJSONValue *json)
virJSONValueObjectGetNumberUint(stat, "bucket-size", &data->bucket_size) < 0)
data->bucket_size = 0;
- virHashAddEntry(schema, name, data);
+ if (virHashAddEntry(schema, name, data) < 0)
+ return NULL;
+ data = NULL;
}
}
--
2.38.1
2
1
[libvirt PATCH] conf: Skip virDomainNetDefParseXMLDriver if driver_node is NULL
by Jiri Denemark 02 Nov '22
by Jiri Denemark 02 Nov '22
02 Nov '22
Trying to parse <driver> node which does not exist makes no sense.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/conf/domain_conf.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 4cd9ffc194..fda1c6caa6 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -8831,8 +8831,10 @@ virDomainNetDefParseXMLDriver(virDomainNetDef *def,
{
xmlNodePtr driver_node;
- if ((driver_node = virXPathNode("./driver", ctxt)) &&
- (virDomainVirtioOptionsParseXML(driver_node, &def->virtio) < 0))
+ if (!(driver_node = virXPathNode("./driver", ctxt)))
+ return 0;
+
+ if (virDomainVirtioOptionsParseXML(driver_node, &def->virtio) < 0)
return -1;
if (def->type != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
--
2.38.1
2
2
[libvirt PATCH] conf: Avoid double free in virDomainEventTunableNew callers
by Jiri Denemark 02 Nov '22
by Jiri Denemark 02 Nov '22
02 Nov '22
virDomainEventTunableNew is supposed to consume and free @params, but it
failed to always set @params to NULL to make sure the caller doesn't try
to free the same memory again.
Fixes: d95c79fbd00dc597b607b130d95c258b6cf31690
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/conf/domain_event.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
index 97d58c2521..7e9bd08381 100644
--- a/src/conf/domain_event.c
+++ b/src/conf/domain_event.c
@@ -1515,6 +1515,7 @@ virDomainEventTunableNew(int id,
error:
virTypedParamsFree(*params, nparams);
+ *params = NULL;
return NULL;
}
--
2.38.1
2
1
[libvirt PATCH] spec: Fix python3-libvirt requirement in client-qemu package
by Jiri Denemark 02 Nov '22
by Jiri Denemark 02 Nov '22
02 Nov '22
The %{release} part of the requirement is just wrong as python bindings
are not rebuilt anytime libvirt release is increased, which means the
client-qemu package may require nonexistent release of python bindings.
The %{version} part is not wrong, but it's too strict for no reason as
the virt-qemu-qmp-proxy script will work happily even with ancient
python bindings. And since all distros supported by libvirt.spec already
contain python3-libvirt, we can depend on the first package called this
way.
tigned-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
libvirt.spec.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index d946a8da48..0bbcdb8956 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -906,7 +906,7 @@ capabilities of recent versions of Linux (and other OSes).
%package client-qemu
Summary: Additional client side utilities for QEMU
Requires: %{name}-libs = %{version}-%{release}
-Requires: python3-libvirt >= %{version}-%{release}
+Requires: python3-libvirt >= 3.7.0
%description client-qemu
The additional client binaries are used to interact
--
2.38.1
2
1
[PATCH 00/11] conf: Refactor virSysinfoParseXML and remove pointless XML node validation
by Peter Krempa 01 Nov '22
by Peter Krempa 01 Nov '22
01 Nov '22
Peter Krempa (11):
conf: domain: Refactor cleanup in virSysinfoBIOSParseXML
conf: domain: Remove pointless XML node name validation in
virSysinfoBIOSParseXML
conf: domain: Reformat XPath queries in virSysinfoSystemParseXML
conf: domain: Refactor cleanup in virSysinfoSystemParseXML
conf: domain: Remove pointless XML node name validation in
virSysinfoSystemParseXML
conf: domain: Reformat XPath queries in virSysinfoChassisParseXML
conf: domain: Refactor cleanup in virSysinfoChassisParseXML
conf: domain: Remove pointless XML node name validation in
virSysinfoChassisParseXML
conf: domain: Parse 'type' attribute via virXMLPropEnum in
virSysinfoParseXML
conf: domain: Refactor cleanup in virSysinfoParseXML
conf: domain: Remove pointless XML node name validation in
virSysinfoParseXML
src/conf/domain_conf.c | 139 ++++++++++-------------------------------
src/util/virsysinfo.h | 3 +
2 files changed, 36 insertions(+), 106 deletions(-)
--
2.37.3
2
12
Clean up the XML parser functions to avoid use of the long type.
Peter Krempa (43):
util: xml: Remove unused virXPathNumber
util: xml: Unexport virXMLXPathContextNew
util: xml: Ensure proper header style in virxml.c
util: xml: Use consistent naming for RNG validation error handling
functions
util: xml: Remove unused 'virXPathLongHex'
virNodeDevCapsDefParseULong: Use virXPathUInt instead of virXPathULong
conf: node_device: Rename virNodeDevCapsDefParseULong to
virNodeDevCapsDefParseUInt
virNodeDeviceCapPCIDefFormat: Use %u for unsigned values
conf: Always use 'string()' conversion with virXPath(U)LongLong
util: xml: Extract XPath evaluation for strings
util: xml: Remove double->(u)ll conversion in virXPath(U)LongLong
util: xml: Disallow aliasing of negative numbers in virXPathULongLong
conf: node_device: Use 'string()' in XPath expressions for
virNodeDevCapsDefParseUInt
conf: node_device: Convert rest of virXPathUInt XPath expressions to
number
conf: node_device: Use 'string()' in XPath expressions for
virNodeDevCapsDefParseIntOptional
conf: numa: Don't fetch XML node count in virDomainNumatuneParseXML
conf: cpu: Extract and refactor parsing of cache from
virCPUDefParseXML
util: xml: Reimplement virXPath(U)Int via virXPathEvalString
util: xml: Introduce virXPathU(Int|LongLong)Base
virNodeDevCapsDefParseHexId: Use 'virXPathUIntBase'
util: xml: Disallow aliasing of negative numbers in virXPathUInt
testParseNodeInfo: Rewrite to virXPathU(Int|LongLong)
conf: domain: Convert from virXPathLong
util: xml: Remove virXPathLong
virQEMUCapsLoadCache: Use 'virXMLPropUInt' instead of 'virXPathULong'
virNetDevIPRouteParseXML: Refactor to use 'virXMLProp*' instead of
XPath
virNetworkIPDefParseXML: Use virXMLPropUInt instead of virXPathULong
virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong
virNetDevVlanParse: Use virXMLProp* helpers instead of XPath lookups
virDomainTimerCatchupDef: Change members to 'unsigned long long'
virDomainTimerDefParseXML: Refactor cleanup
virDomainTimerDef: Convert 'name' field to proper enum type
virDomainTimerDef: Convert 'tickpolicy' field to proper enum type
virDomainTimerDef: Convert 'track' field to proper enum type
virDomainTimerDef: Convert 'mode' field to proper enum type
virDomainTimerDefParseXML: Use virXMLProp instead of virXPath
virDomainNetDef: Change type of 'tune.sndbuf'
virDomainSEVDefParseXML: Use virXPathUIntBase instead of
virXPathULongHex
ppc64ModelParse: Switch to virXMLPropUInt from virXPathULongHex
qemuDomainObjPrivateXMLParseBlockjobData: Use virXMLPropUInt instead
of virXPathULongHex
virDomainJobObj: Use 'unsigned int' instead of 'unsigned long' for
'apiFlags' field
cpu_arm: Avoid use of 'unsigned long'
util: xml: Remove unused virXPathULong*
src/conf/cpu_conf.c | 58 +--
src/conf/domain_conf.c | 153 +++-----
src/conf/domain_conf.h | 16 +-
src/conf/interface_conf.c | 14 +-
src/conf/netdev_vlan_conf.c | 39 +-
src/conf/network_conf.c | 25 +-
src/conf/networkcommon_conf.c | 61 +--
src/conf/networkcommon_conf.h | 3 +-
src/conf/node_device_conf.c | 160 ++++----
src/conf/numa_conf.c | 7 +-
src/conf/storage_conf.c | 4 +-
src/conf/virdomainjob.c | 4 +-
src/conf/virdomainjob.h | 4 +-
src/cpu/cpu_arm.c | 37 +-
src/cpu/cpu_arm_data.h | 4 +-
src/cpu/cpu_ppc64.c | 19 +-
src/libvirt_private.syms | 8 +-
src/libxl/libxl_conf.c | 6 +-
src/libxl/xen_common.c | 6 +-
src/qemu/qemu_capabilities.c | 7 +-
src/qemu/qemu_command.c | 7 +
src/qemu/qemu_domain.c | 5 +-
src/qemu/qemu_domainjob.c | 7 +-
src/qemu/qemu_migration.c | 2 +-
src/qemu/qemu_migration_params.c | 8 +-
src/qemu/qemu_migration_params.h | 4 +-
src/qemu/qemu_process.c | 2 +-
src/qemu/qemu_process.h | 2 +-
src/qemu/qemu_validate.c | 8 +
src/test/test_driver.c | 51 +--
src/util/virxml.c | 370 ++++++------------
src/util/virxml.h | 32 +-
.../pci_0000_00_02_0_header_type.xml | 2 +-
33 files changed, 432 insertions(+), 703 deletions(-)
--
2.37.3
2
86
[PATCH 0/6] Implement XML validation feature for node devices and storage volumes
by Peter Krempa 01 Nov '22
by Peter Krempa 01 Nov '22
01 Nov '22
In the last round of adding support for built-in validation the node
device APIs and storage volume creation were not covered.
Note that due to the close freeze date I've already marked the APIs for
v8.10.
Peter Krempa (6):
conf: node_device: Add 'validate' argument to virNodeDeviceDefParse
nodedev: Add VIR_NODE_DEVICE_(CREATE|DEFINE)_XML_VALIDATE flags
nodedev|test: Implement support for validating node device XMLs
conf: storage: Add support for validating storage vol XML to
virStorageVolDefParse
storage: Add VIR_STORAGE_VOL_CREATE_VALIDATE flag
storage|test|vbox: Implement support for validating storage volume
XMLs
docs/manpages/virsh.rst | 19 +++++++++++++++----
include/libvirt/libvirt-nodedev.h | 19 +++++++++++++++++++
include/libvirt/libvirt-storage.h | 1 +
src/conf/node_device_conf.c | 5 +++--
src/conf/node_device_conf.h | 3 ++-
src/conf/storage_conf.c | 3 ++-
src/conf/storage_conf.h | 2 ++
src/hypervisor/domain_driver.c | 6 +++---
src/libvirt-nodedev.c | 4 ++--
src/node_device/node_device_driver.c | 10 ++++++----
src/storage/storage_driver.c | 18 ++++++++++++++----
src/test/test_driver.c | 24 +++++++++++++++++-------
src/vbox/vbox_storage.c | 8 ++++++--
tests/nodedevmdevctltest.c | 4 ++--
tests/nodedevxml2xmltest.c | 3 ++-
tools/virsh-nodedev.c | 20 ++++++++++++++++++--
tools/virsh-volume.c | 14 ++++++++++++++
17 files changed, 128 insertions(+), 35 deletions(-)
--
2.37.3
3
9
01 Nov '22
Add data based on the v7.1.0-998-g5c2439a92c qemu commit.
Notable changes:
- New machine types and corresponding objects:
- pc-i440fx-7.2, pc-i440fx-7.2-machine, pc-q35-7.2, pc-q35-7.2-machine
- New disk frontend properties:
- account-failed, account-invalid
- New CPU flags and some CPU features become migratable
(corresponding 'cpu-host-model' test changed output)
- New unstable commands for debugging virtio:
x-query-virtio, x-query-virtio-status, x-query-virtio-queue-status,
x-query-virtio-vhost-queue-status, x-query-virtio-queue-element
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 242 +
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 252 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 242 +
.../caps_7.2.0.x86_64.replies | 38928 ++++++++++++++++
.../caps_7.2.0.x86_64.xml | 3548 ++
.../cpu-host-model.x86_64-latest.args | 2 +-
6 files changed, 43213 insertions(+), 1 deletion(-)
create mode 100644 tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.2.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
new file mode 100644
index 0000000000..f3515ebfde
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -0,0 +1,242 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>kvm</domain>
+ <machine>pc-q35-7.2</machine>
+ <arch>x86_64</arch>
+ <vcpu max='288'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'>
+ <enum name='hostPassthroughMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='arch-capabilities'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <feature policy='require' name='virt-ssbd'/>
+ <feature policy='require' name='lbrv'/>
+ <feature policy='require' name='tsc-scale'/>
+ <feature policy='require' name='vmcb-clean'/>
+ <feature policy='require' name='pause-filter'/>
+ <feature policy='require' name='pfthreshold'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='require' name='rdctl-no'/>
+ <feature policy='require' name='skip-l1dfl-vmentry'/>
+ <feature policy='require' name='mds-no'/>
+ <feature policy='require' name='pschange-mc-no'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes' vendor='unknown'>qemu64</model>
+ <model usable='yes' vendor='unknown'>qemu32</model>
+ <model usable='no' vendor='AMD'>phenom</model>
+ <model usable='yes' vendor='unknown'>pentium3</model>
+ <model usable='yes' vendor='unknown'>pentium2</model>
+ <model usable='yes' vendor='unknown'>pentium</model>
+ <model usable='no' vendor='Intel'>n270</model>
+ <model usable='yes' vendor='unknown'>kvm64</model>
+ <model usable='yes' vendor='unknown'>kvm32</model>
+ <model usable='no' vendor='Intel'>coreduo</model>
+ <model usable='no' vendor='Intel'>core2duo</model>
+ <model usable='no' vendor='AMD'>athlon</model>
+ <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+ <model usable='yes' vendor='Intel'>Westmere</model>
+ <model usable='no' vendor='Intel'>Snowridge</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client</model>
+ <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
+ <model usable='yes' vendor='Intel'>SandyBridge</model>
+ <model usable='yes' vendor='Intel'>Penryn</model>
+ <model usable='no' vendor='AMD'>Opteron_G5</model>
+ <model usable='no' vendor='AMD'>Opteron_G4</model>
+ <model usable='yes' vendor='AMD'>Opteron_G3</model>
+ <model usable='yes' vendor='AMD'>Opteron_G2</model>
+ <model usable='yes' vendor='AMD'>Opteron_G1</model>
+ <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <model usable='yes' vendor='Intel'>Nehalem</model>
+ <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Icelake-Server</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX</model>
+ <model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell</model>
+ <model usable='yes' vendor='AMD'>EPYC-Rome</model>
+ <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Intel'>Cooperlake</model>
+ <model usable='yes' vendor='Intel'>Conroe</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
+ <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell</model>
+ <model usable='yes' vendor='unknown'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ <value>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
+ </tpm>
+ <redirdev supported='yes'>
+ <enum name='bus'>
+ <value>usb</value>
+ </enum>
+ </redirdev>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
new file mode 100644
index 0000000000..1f4e0a1d5b
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -0,0 +1,252 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>qemu</domain>
+ <machine>pc-i440fx-7.2</machine>
+ <arch>x86_64</arch>
+ <vcpu max='255'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='no'/>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>Opteron_G3</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='acpi'/>
+ <feature policy='require' name='ss'/>
+ <feature policy='require' name='pclmuldq'/>
+ <feature policy='require' name='monitor'/>
+ <feature policy='require' name='ssse3'/>
+ <feature policy='require' name='sse4.1'/>
+ <feature policy='require' name='sse4.2'/>
+ <feature policy='require' name='movbe'/>
+ <feature policy='require' name='aes'/>
+ <feature policy='require' name='xsave'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='erms'/>
+ <feature policy='require' name='mpx'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='pcommit'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='clwb'/>
+ <feature policy='require' name='umip'/>
+ <feature policy='require' name='pku'/>
+ <feature policy='require' name='la57'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xgetbv1'/>
+ <feature policy='require' name='mmxext'/>
+ <feature policy='require' name='pdpe1gb'/>
+ <feature policy='require' name='3dnowext'/>
+ <feature policy='require' name='3dnow'/>
+ <feature policy='require' name='cr8legacy'/>
+ <feature policy='require' name='npt'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='disable' name='misalignsse'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes' vendor='unknown'>qemu64</model>
+ <model usable='yes' vendor='unknown'>qemu32</model>
+ <model usable='no' vendor='AMD'>phenom</model>
+ <model usable='yes' vendor='unknown'>pentium3</model>
+ <model usable='yes' vendor='unknown'>pentium2</model>
+ <model usable='yes' vendor='unknown'>pentium</model>
+ <model usable='yes' vendor='Intel'>n270</model>
+ <model usable='yes' vendor='unknown'>kvm64</model>
+ <model usable='yes' vendor='unknown'>kvm32</model>
+ <model usable='yes' vendor='Intel'>coreduo</model>
+ <model usable='yes' vendor='Intel'>core2duo</model>
+ <model usable='yes' vendor='AMD'>athlon</model>
+ <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+ <model usable='yes' vendor='Intel'>Westmere</model>
+ <model usable='no' vendor='Intel'>Snowridge</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client</model>
+ <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'>SandyBridge</model>
+ <model usable='yes' vendor='Intel'>Penryn</model>
+ <model usable='no' vendor='AMD'>Opteron_G5</model>
+ <model usable='no' vendor='AMD'>Opteron_G4</model>
+ <model usable='no' vendor='AMD'>Opteron_G3</model>
+ <model usable='yes' vendor='AMD'>Opteron_G2</model>
+ <model usable='yes' vendor='AMD'>Opteron_G1</model>
+ <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <model usable='yes' vendor='Intel'>Nehalem</model>
+ <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Icelake-Server</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX</model>
+ <model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell</model>
+ <model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='no' vendor='AMD'>EPYC</model>
+ <model usable='no' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Intel'>Cooperlake</model>
+ <model usable='yes' vendor='Intel'>Conroe</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
+ <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell</model>
+ <model usable='yes' vendor='unknown'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ <value>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
+ </tpm>
+ <redirdev supported='yes'>
+ <enum name='bus'>
+ <value>usb</value>
+ </enum>
+ </redirdev>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
new file mode 100644
index 0000000000..9b40298de6
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -0,0 +1,242 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>kvm</domain>
+ <machine>pc-i440fx-7.2</machine>
+ <arch>x86_64</arch>
+ <vcpu max='255'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'>
+ <enum name='hostPassthroughMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='arch-capabilities'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <feature policy='require' name='virt-ssbd'/>
+ <feature policy='require' name='lbrv'/>
+ <feature policy='require' name='tsc-scale'/>
+ <feature policy='require' name='vmcb-clean'/>
+ <feature policy='require' name='pause-filter'/>
+ <feature policy='require' name='pfthreshold'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='require' name='rdctl-no'/>
+ <feature policy='require' name='skip-l1dfl-vmentry'/>
+ <feature policy='require' name='mds-no'/>
+ <feature policy='require' name='pschange-mc-no'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes' vendor='unknown'>qemu64</model>
+ <model usable='yes' vendor='unknown'>qemu32</model>
+ <model usable='no' vendor='AMD'>phenom</model>
+ <model usable='yes' vendor='unknown'>pentium3</model>
+ <model usable='yes' vendor='unknown'>pentium2</model>
+ <model usable='yes' vendor='unknown'>pentium</model>
+ <model usable='no' vendor='Intel'>n270</model>
+ <model usable='yes' vendor='unknown'>kvm64</model>
+ <model usable='yes' vendor='unknown'>kvm32</model>
+ <model usable='no' vendor='Intel'>coreduo</model>
+ <model usable='no' vendor='Intel'>core2duo</model>
+ <model usable='no' vendor='AMD'>athlon</model>
+ <model usable='no' vendor='Intel'>Westmere-IBRS</model>
+ <model usable='yes' vendor='Intel'>Westmere</model>
+ <model usable='no' vendor='Intel'>Snowridge</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Server</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
+ <model usable='no' vendor='Intel'>Skylake-Client</model>
+ <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
+ <model usable='yes' vendor='Intel'>SandyBridge</model>
+ <model usable='yes' vendor='Intel'>Penryn</model>
+ <model usable='no' vendor='AMD'>Opteron_G5</model>
+ <model usable='no' vendor='AMD'>Opteron_G4</model>
+ <model usable='yes' vendor='AMD'>Opteron_G3</model>
+ <model usable='yes' vendor='AMD'>Opteron_G2</model>
+ <model usable='yes' vendor='AMD'>Opteron_G1</model>
+ <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <model usable='yes' vendor='Intel'>Nehalem</model>
+ <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Icelake-Server</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell-noTSX</model>
+ <model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <model usable='no' vendor='Intel'>Haswell</model>
+ <model usable='yes' vendor='AMD'>EPYC-Rome</model>
+ <model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
+ <model usable='yes' vendor='AMD'>EPYC</model>
+ <model usable='yes' vendor='Hygon'>Dhyana</model>
+ <model usable='no' vendor='Intel'>Cooperlake</model>
+ <model usable='yes' vendor='Intel'>Conroe</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <model usable='no' vendor='Intel'>Cascadelake-Server</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
+ <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
+ <model usable='no' vendor='Intel'>Broadwell</model>
+ <model usable='yes' vendor='unknown'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ <value>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
+ </tpm>
+ <redirdev supported='yes'>
+ <enum name='bus'>
+ <value>usb</value>
+ </enum>
+ </redirdev>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
new file mode 100644
index 0000000000..17763166bf
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
@@ -0,0 +1,38928 @@
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-version",
+ "id": "libvirt-2"
+}
+
+{
+ "return": {
+ "qemu": {
+ "micro": 50,
+ "minor": 1,
+ "major": 7
+ },
+ "package": "v7.1.0-998-g5c2439a92c"
+ },
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-target",
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "arch": "x86_64"
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "execute": "query-qmp-schema",
+ "id": "libvirt-4"
+}
+
+{
+ "return": [
+ {
+ "name": "query-status",
+ "ret-type": "1",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "SHUTDOWN",
+ "meta-type": "event",
+ "arg-type": "2"
+ },
+ {
+ "name": "POWERDOWN",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "RESET",
+ "meta-type": "event",
+ "arg-type": "3"
+ },
+ {
+ "name": "STOP",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "RESUME",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "SUSPEND",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "SUSPEND_DISK",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "WAKEUP",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "WATCHDOG",
+ "meta-type": "event",
+ "arg-type": "4"
+ },
+ {
+ "name": "watchdog-set-action",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "5"
+ },
+ {
+ "name": "set-action",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "6"
+ },
+ {
+ "name": "GUEST_PANICKED",
+ "meta-type": "event",
+ "arg-type": "7"
+ },
+ {
+ "name": "GUEST_CRASHLOADED",
+ "meta-type": "event",
+ "arg-type": "8"
+ },
+ {
+ "name": "MEMORY_FAILURE",
+ "meta-type": "event",
+ "arg-type": "9"
+ },
+ {
+ "name": "query-pr-managers",
+ "ret-type": "[10]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "eject",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "11"
+ },
+ {
+ "name": "blockdev-open-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "12"
+ },
+ {
+ "name": "blockdev-close-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "13"
+ },
+ {
+ "name": "blockdev-remove-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "14"
+ },
+ {
+ "name": "blockdev-insert-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "15"
+ },
+ {
+ "name": "blockdev-change-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "16"
+ },
+ {
+ "name": "DEVICE_TRAY_MOVED",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "PR_MANAGER_STATUS_CHANGED",
+ "meta-type": "event",
+ "arg-type": "18"
+ },
+ {
+ "name": "block_set_io_throttle",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "19"
+ },
+ {
+ "name": "block-latency-histogram-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "20"
+ },
+ {
+ "name": "query-block",
+ "ret-type": "[21]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-blockstats",
+ "ret-type": "[23]",
+ "meta-type": "command",
+ "arg-type": "22"
+ },
+ {
+ "name": "query-block-jobs",
+ "ret-type": "[24]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "block_resize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "25"
+ },
+ {
+ "name": "blockdev-snapshot-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "26"
+ },
+ {
+ "name": "blockdev-snapshot",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "27",
+ "features": [
+ "allow-write-only-overlay"
+ ]
+ },
+ {
+ "name": "change-backing-file",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "28"
+ },
+ {
+ "name": "block-commit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "29"
+ },
+ {
+ "name": "drive-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "30",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "blockdev-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "31"
+ },
+ {
+ "name": "query-named-block-nodes",
+ "ret-type": "[33]",
+ "meta-type": "command",
+ "arg-type": "32"
+ },
+ {
+ "name": "x-debug-query-block-graph",
+ "ret-type": "34",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "drive-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "35"
+ },
+ {
+ "name": "block-dirty-bitmap-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "36"
+ },
+ {
+ "name": "block-dirty-bitmap-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-clear",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-enable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-disable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-merge",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "38"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256",
+ "ret-type": "39",
+ "meta-type": "command",
+ "arg-type": "37",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "blockdev-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "40"
+ },
+ {
+ "name": "block-stream",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "41"
+ },
+ {
+ "name": "block-job-set-speed",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "42"
+ },
+ {
+ "name": "block-job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "43"
+ },
+ {
+ "name": "block-job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "44"
+ },
+ {
+ "name": "block-job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "46"
+ },
+ {
+ "name": "block-job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "47"
+ },
+ {
+ "name": "block-job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "48"
+ },
+ {
+ "name": "blockdev-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "49"
+ },
+ {
+ "name": "blockdev-reopen",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "50"
+ },
+ {
+ "name": "blockdev-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "51"
+ },
+ {
+ "name": "blockdev-create",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "52"
+ },
+ {
+ "name": "x-blockdev-amend",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "53",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "BLOCK_IMAGE_CORRUPTED",
+ "meta-type": "event",
+ "arg-type": "54"
+ },
+ {
+ "name": "BLOCK_IO_ERROR",
+ "meta-type": "event",
+ "arg-type": "55"
+ },
+ {
+ "name": "BLOCK_JOB_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "56"
+ },
+ {
+ "name": "BLOCK_JOB_CANCELLED",
+ "meta-type": "event",
+ "arg-type": "57"
+ },
+ {
+ "name": "BLOCK_JOB_ERROR",
+ "meta-type": "event",
+ "arg-type": "58"
+ },
+ {
+ "name": "BLOCK_JOB_READY",
+ "meta-type": "event",
+ "arg-type": "59"
+ },
+ {
+ "name": "BLOCK_JOB_PENDING",
+ "meta-type": "event",
+ "arg-type": "60"
+ },
+ {
+ "name": "BLOCK_WRITE_THRESHOLD",
+ "meta-type": "event",
+ "arg-type": "61"
+ },
+ {
+ "name": "block-set-write-threshold",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "62"
+ },
+ {
+ "name": "x-blockdev-change",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "63",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-blockdev-set-iothread",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "64",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "QUORUM_FAILURE",
+ "meta-type": "event",
+ "arg-type": "65"
+ },
+ {
+ "name": "QUORUM_REPORT_BAD",
+ "meta-type": "event",
+ "arg-type": "66"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "67"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync",
+ "ret-type": "69",
+ "meta-type": "command",
+ "arg-type": "68"
+ },
+ {
+ "name": "JOB_STATUS_CHANGE",
+ "meta-type": "event",
+ "arg-type": "70"
+ },
+ {
+ "name": "job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "71"
+ },
+ {
+ "name": "job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "72"
+ },
+ {
+ "name": "job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "73"
+ },
+ {
+ "name": "job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "74"
+ },
+ {
+ "name": "job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "75"
+ },
+ {
+ "name": "job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "76"
+ },
+ {
+ "name": "query-jobs",
+ "ret-type": "[77]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "nbd-server-start",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "78"
+ },
+ {
+ "name": "nbd-server-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "79",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "nbd-server-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "80",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "nbd-server-stop",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "block-export-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "81"
+ },
+ {
+ "name": "block-export-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "82"
+ },
+ {
+ "name": "BLOCK_EXPORT_DELETED",
+ "meta-type": "event",
+ "arg-type": "83"
+ },
+ {
+ "name": "query-block-exports",
+ "ret-type": "[84]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev",
+ "ret-type": "[85]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev-backends",
+ "ret-type": "[86]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ringbuf-write",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "87"
+ },
+ {
+ "name": "ringbuf-read",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "88"
+ },
+ {
+ "name": "chardev-add",
+ "ret-type": "90",
+ "meta-type": "command",
+ "arg-type": "89"
+ },
+ {
+ "name": "chardev-change",
+ "ret-type": "90",
+ "meta-type": "command",
+ "arg-type": "91"
+ },
+ {
+ "name": "chardev-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "92"
+ },
+ {
+ "name": "chardev-send-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "93"
+ },
+ {
+ "name": "VSERPORT_CHANGE",
+ "meta-type": "event",
+ "arg-type": "94"
+ },
+ {
+ "name": "dump-guest-memory",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "95"
+ },
+ {
+ "name": "query-dump",
+ "ret-type": "96",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "DUMP_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "97"
+ },
+ {
+ "name": "query-dump-guest-memory-capability",
+ "ret-type": "98",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_link",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "99"
+ },
+ {
+ "name": "netdev_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "100"
+ },
+ {
+ "name": "netdev_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "101"
+ },
+ {
+ "name": "query-rx-filter",
+ "ret-type": "[103]",
+ "meta-type": "command",
+ "arg-type": "102"
+ },
+ {
+ "name": "NIC_RX_FILTER_CHANGED",
+ "meta-type": "event",
+ "arg-type": "104"
+ },
+ {
+ "name": "announce-self",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "105"
+ },
+ {
+ "name": "FAILOVER_NEGOTIATED",
+ "meta-type": "event",
+ "arg-type": "106"
+ },
+ {
+ "name": "RDMA_GID_STATUS_CHANGED",
+ "meta-type": "event",
+ "arg-type": "107"
+ },
+ {
+ "name": "query-rocker",
+ "ret-type": "109",
+ "meta-type": "command",
+ "arg-type": "108"
+ },
+ {
+ "name": "query-rocker-ports",
+ "ret-type": "[111]",
+ "meta-type": "command",
+ "arg-type": "110"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows",
+ "ret-type": "[113]",
+ "meta-type": "command",
+ "arg-type": "112"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups",
+ "ret-type": "[115]",
+ "meta-type": "command",
+ "arg-type": "114"
+ },
+ {
+ "name": "query-tpm-models",
+ "ret-type": "[116]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm-types",
+ "ret-type": "[117]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm",
+ "ret-type": "[118]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "119"
+ },
+ {
+ "name": "expire_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "120"
+ },
+ {
+ "name": "screendump",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "121"
+ },
+ {
+ "name": "query-spice",
+ "ret-type": "122",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "SPICE_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "123"
+ },
+ {
+ "name": "SPICE_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "124"
+ },
+ {
+ "name": "SPICE_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "125"
+ },
+ {
+ "name": "SPICE_MIGRATE_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vnc",
+ "ret-type": "126",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vnc-servers",
+ "ret-type": "[127]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "change-vnc-password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "128"
+ },
+ {
+ "name": "VNC_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "129"
+ },
+ {
+ "name": "VNC_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "130"
+ },
+ {
+ "name": "VNC_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "131"
+ },
+ {
+ "name": "query-mice",
+ "ret-type": "[132]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "send-key",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "133"
+ },
+ {
+ "name": "input-send-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "134"
+ },
+ {
+ "name": "query-display-options",
+ "ret-type": "135",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "display-reload",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "136"
+ },
+ {
+ "name": "display-update",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "137"
+ },
+ {
+ "name": "query-migrate",
+ "ret-type": "138",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "139"
+ },
+ {
+ "name": "query-migrate-capabilities",
+ "ret-type": "[140]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-parameters",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "141"
+ },
+ {
+ "name": "query-migrate-parameters",
+ "ret-type": "142",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "client_migrate_info",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "143"
+ },
+ {
+ "name": "migrate-start-postcopy",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MIGRATION",
+ "meta-type": "event",
+ "arg-type": "144"
+ },
+ {
+ "name": "MIGRATION_PASS",
+ "meta-type": "event",
+ "arg-type": "145"
+ },
+ {
+ "name": "COLO_EXIT",
+ "meta-type": "event",
+ "arg-type": "146"
+ },
+ {
+ "name": "x-colo-lost-heartbeat",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "migrate_cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-continue",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "147"
+ },
+ {
+ "name": "migrate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "148"
+ },
+ {
+ "name": "migrate-incoming",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "149"
+ },
+ {
+ "name": "xen-save-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "150"
+ },
+ {
+ "name": "xen-set-global-dirty-log",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "151"
+ },
+ {
+ "name": "xen-load-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "152"
+ },
+ {
+ "name": "xen-set-replication",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "153"
+ },
+ {
+ "name": "query-xen-replication-status",
+ "ret-type": "154",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "xen-colo-do-checkpoint",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-colo-status",
+ "ret-type": "155",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-recover",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "156"
+ },
+ {
+ "name": "migrate-pause",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "UNPLUG_PRIMARY",
+ "meta-type": "event",
+ "arg-type": "157"
+ },
+ {
+ "name": "calc-dirty-rate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "158"
+ },
+ {
+ "name": "query-dirty-rate",
+ "ret-type": "159",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set-vcpu-dirty-limit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "160"
+ },
+ {
+ "name": "cancel-vcpu-dirty-limit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "161"
+ },
+ {
+ "name": "query-vcpu-dirty-limit",
+ "ret-type": "[162]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "snapshot-save",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "163"
+ },
+ {
+ "name": "snapshot-load",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "164"
+ },
+ {
+ "name": "snapshot-delete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "165"
+ },
+ {
+ "name": "transaction",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "166"
+ },
+ {
+ "name": "trace-event-get-state",
+ "ret-type": "[168]",
+ "meta-type": "command",
+ "arg-type": "167"
+ },
+ {
+ "name": "trace-event-set-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "169"
+ },
+ {
+ "name": "qmp_capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "170"
+ },
+ {
+ "name": "query-version",
+ "ret-type": "171",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-commands",
+ "ret-type": "[172]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "quit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-qmp-schema",
+ "ret-type": "[173]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "qom-list",
+ "ret-type": "[175]",
+ "meta-type": "command",
+ "arg-type": "174"
+ },
+ {
+ "name": "qom-get",
+ "ret-type": "any",
+ "meta-type": "command",
+ "arg-type": "176"
+ },
+ {
+ "name": "qom-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "177"
+ },
+ {
+ "name": "qom-list-types",
+ "ret-type": "[179]",
+ "meta-type": "command",
+ "arg-type": "178"
+ },
+ {
+ "name": "qom-list-properties",
+ "ret-type": "[175]",
+ "meta-type": "command",
+ "arg-type": "180"
+ },
+ {
+ "name": "object-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "181"
+ },
+ {
+ "name": "object-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "182"
+ },
+ {
+ "name": "device-list-properties",
+ "ret-type": "[175]",
+ "meta-type": "command",
+ "arg-type": "183"
+ },
+ {
+ "name": "device_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "184",
+ "features": [
+ "json-cli",
+ "json-cli-hotplug"
+ ]
+ },
+ {
+ "name": "device_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "185"
+ },
+ {
+ "name": "DEVICE_DELETED",
+ "meta-type": "event",
+ "arg-type": "186"
+ },
+ {
+ "name": "DEVICE_UNPLUG_GUEST_ERROR",
+ "meta-type": "event",
+ "arg-type": "187"
+ },
+ {
+ "name": "query-cpus-fast",
+ "ret-type": "[188]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-machines",
+ "ret-type": "[189]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-current-machine",
+ "ret-type": "190",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-target",
+ "ret-type": "191",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-uuid",
+ "ret-type": "192",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vm-generation-id",
+ "ret-type": "193",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "system_reset",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "system_powerdown",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "system_wakeup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "inject-nmi",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-kvm",
+ "ret-type": "194",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "memsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "195"
+ },
+ {
+ "name": "pmemsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "196"
+ },
+ {
+ "name": "query-memdev",
+ "ret-type": "[197]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-hotpluggable-cpus",
+ "ret-type": "[198]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set-numa-node",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "199"
+ },
+ {
+ "name": "balloon",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "200"
+ },
+ {
+ "name": "query-balloon",
+ "ret-type": "201",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "BALLOON_CHANGE",
+ "meta-type": "event",
+ "arg-type": "202"
+ },
+ {
+ "name": "query-memory-size-summary",
+ "ret-type": "203",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-memory-devices",
+ "ret-type": "[204]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MEMORY_DEVICE_SIZE_CHANGE",
+ "meta-type": "event",
+ "arg-type": "205"
+ },
+ {
+ "name": "MEM_UNPLUG_ERROR",
+ "meta-type": "event",
+ "arg-type": "206",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "x-query-irq",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-jit",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-numa",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-opcount",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-profile",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-ramblock",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-rdma",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-roms",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-usb",
+ "ret-type": "207",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "query-cpu-model-expansion",
+ "ret-type": "213",
+ "meta-type": "command",
+ "arg-type": "212"
+ },
+ {
+ "name": "query-cpu-definitions",
+ "ret-type": "[214]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-replay",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "216"
+ },
+ {
+ "name": "replay-delete-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-seek",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "217"
+ },
+ {
+ "name": "yank",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "218"
+ },
+ {
+ "name": "query-yank",
+ "ret-type": "[219]",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "add_client",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "220"
+ },
+ {
+ "name": "query-name",
+ "ret-type": "221",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-iothreads",
+ "ret-type": "[222]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "stop",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "cont",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "x-exit-preconfig",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "human-monitor-command",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "223",
+ "features": [
+ "savevm-monitor-nodes"
+ ]
+ },
+ {
+ "name": "getfd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "224"
+ },
+ {
+ "name": "closefd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "225"
+ },
+ {
+ "name": "add-fd",
+ "ret-type": "227",
+ "meta-type": "command",
+ "arg-type": "226"
+ },
+ {
+ "name": "remove-fd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "228"
+ },
+ {
+ "name": "query-fdsets",
+ "ret-type": "[229]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-command-line-options",
+ "ret-type": "[231]",
+ "meta-type": "command",
+ "arg-type": "230"
+ },
+ {
+ "name": "RTC_CHANGE",
+ "meta-type": "event",
+ "arg-type": "232"
+ },
+ {
+ "name": "VFU_CLIENT_HANGUP",
+ "meta-type": "event",
+ "arg-type": "233"
+ },
+ {
+ "name": "rtc-reset-reinjection",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev",
+ "ret-type": "234",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev-launch-measure",
+ "ret-type": "235",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev-capabilities",
+ "ret-type": "236",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "sev-inject-launch-secret",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "237"
+ },
+ {
+ "name": "query-sev-attestation-report",
+ "ret-type": "239",
+ "meta-type": "command",
+ "arg-type": "238"
+ },
+ {
+ "name": "query-sgx",
+ "ret-type": "242",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sgx-capabilities",
+ "ret-type": "242",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-acpi-ospm-status",
+ "ret-type": "[243]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ACPI_DEVICE_OST",
+ "meta-type": "event",
+ "arg-type": "244"
+ },
+ {
+ "name": "query-pci",
+ "ret-type": "[245]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-stats",
+ "ret-type": "[247]",
+ "meta-type": "command",
+ "arg-type": "246"
+ },
+ {
+ "name": "query-stats-schemas",
+ "ret-type": "[249]",
+ "meta-type": "command",
+ "arg-type": "248"
+ },
+ {
+ "name": "x-query-virtio",
+ "ret-type": "[250]",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-status",
+ "ret-type": "252",
+ "meta-type": "command",
+ "arg-type": "251",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-queue-status",
+ "ret-type": "254",
+ "meta-type": "command",
+ "arg-type": "253",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-vhost-queue-status",
+ "ret-type": "256",
+ "meta-type": "command",
+ "arg-type": "255",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-queue-element",
+ "ret-type": "258",
+ "meta-type": "command",
+ "arg-type": "257",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "0",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "1",
+ "members": [
+ {
+ "name": "running",
+ "type": "bool"
+ },
+ {
+ "name": "singlestep",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "259"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "2",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "260"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "3",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "260"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "4",
+ "members": [
+ {
+ "name": "action",
+ "type": "261"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "5",
+ "members": [
+ {
+ "name": "action",
+ "type": "261"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "6",
+ "members": [
+ {
+ "name": "reboot",
+ "default": null,
+ "type": "262"
+ },
+ {
+ "name": "shutdown",
+ "default": null,
+ "type": "263"
+ },
+ {
+ "name": "panic",
+ "default": null,
+ "type": "264"
+ },
+ {
+ "name": "watchdog",
+ "default": null,
+ "type": "261"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "7",
+ "members": [
+ {
+ "name": "action",
+ "type": "265"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "266"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "8",
+ "members": [
+ {
+ "name": "action",
+ "type": "265"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "266"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "9",
+ "members": [
+ {
+ "name": "recipient",
+ "type": "267"
+ },
+ {
+ "name": "action",
+ "type": "268"
+ },
+ {
+ "name": "flags",
+ "type": "269"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[10]",
+ "element-type": "10",
+ "meta-type": "array"
+ },
+ {
+ "name": "10",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "11",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "12",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "13",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "14",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "15",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "16",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-only-mode",
+ "default": null,
+ "type": "270"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "17",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "tray-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "18",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "19",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "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": "20",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "boundaries",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-read",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-write",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-flush",
+ "default": null,
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[21]",
+ "element-type": "21",
+ "meta-type": "array"
+ },
+ {
+ "name": "21",
+ "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": "33"
+ },
+ {
+ "name": "tray_open",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "io-status",
+ "default": null,
+ "type": "271"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "22",
+ "members": [
+ {
+ "name": "query-nodes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[23]",
+ "element-type": "23",
+ "meta-type": "array"
+ },
+ {
+ "name": "23",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "qdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "272"
+ },
+ {
+ "name": "driver-specific",
+ "default": null,
+ "type": "273"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "23"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "23"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[24]",
+ "element-type": "24",
+ "meta-type": "array"
+ },
+ {
+ "name": "24",
+ "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": "271"
+ },
+ {
+ "name": "ready",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "274"
+ },
+ {
+ "name": "auto-finalize",
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "type": "bool"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "25",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "26",
+ "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": "275"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "27",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "overlay",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "28",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "image-node-name",
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "29",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "base-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "top-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "top",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "30",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "277"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "278"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "279",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "275"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "31",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "277"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "278"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "279",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "32",
+ "members": [
+ {
+ "name": "flat",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[33]",
+ "element-type": "33",
+ "meta-type": "array"
+ },
+ {
+ "name": "33",
+ "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": "detect_zeroes",
+ "type": "280"
+ },
+ {
+ "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": "281"
+ },
+ {
+ "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": "282"
+ },
+ {
+ "name": "write_threshold",
+ "type": "int"
+ },
+ {
+ "name": "dirty-bitmaps",
+ "default": null,
+ "type": "[283]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "34",
+ "members": [
+ {
+ "name": "nodes",
+ "type": "[284]"
+ },
+ {
+ "name": "edges",
+ "type": "[285]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "35",
+ "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": "277"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "275"
+ },
+ {
+ "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": "276"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "unmap",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "286"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "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": "disabled",
+ "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": "node",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[287]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "39",
+ "members": [
+ {
+ "name": "sha256",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "40",
+ "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": "277"
+ },
+ {
+ "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": "276"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "286"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "41",
+ "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": "bottom",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "276"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "42",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "43",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "44",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "45",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "46",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "47",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "48",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "49",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "blkdebug",
+ "type": "291"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "292"
+ },
+ {
+ "case": "blkverify",
+ "type": "293"
+ },
+ {
+ "case": "blkreplay",
+ "type": "294"
+ },
+ {
+ "case": "bochs",
+ "type": "295"
+ },
+ {
+ "case": "cloop",
+ "type": "295"
+ },
+ {
+ "case": "compress",
+ "type": "295"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "296"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "297"
+ },
+ {
+ "case": "dmg",
+ "type": "295"
+ },
+ {
+ "case": "file",
+ "type": "298"
+ },
+ {
+ "case": "ftp",
+ "type": "299"
+ },
+ {
+ "case": "ftps",
+ "type": "300"
+ },
+ {
+ "case": "gluster",
+ "type": "301"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "298"
+ },
+ {
+ "case": "host_device",
+ "type": "298"
+ },
+ {
+ "case": "http",
+ "type": "302"
+ },
+ {
+ "case": "https",
+ "type": "303"
+ },
+ {
+ "case": "iscsi",
+ "type": "304"
+ },
+ {
+ "case": "luks",
+ "type": "305"
+ },
+ {
+ "case": "nbd",
+ "type": "306"
+ },
+ {
+ "case": "nfs",
+ "type": "307"
+ },
+ {
+ "case": "null-aio",
+ "type": "308"
+ },
+ {
+ "case": "null-co",
+ "type": "308"
+ },
+ {
+ "case": "nvme",
+ "type": "309"
+ },
+ {
+ "case": "parallels",
+ "type": "295"
+ },
+ {
+ "case": "preallocate",
+ "type": "310"
+ },
+ {
+ "case": "qcow2",
+ "type": "311"
+ },
+ {
+ "case": "qcow",
+ "type": "312"
+ },
+ {
+ "case": "qed",
+ "type": "313"
+ },
+ {
+ "case": "quorum",
+ "type": "314"
+ },
+ {
+ "case": "raw",
+ "type": "315"
+ },
+ {
+ "case": "rbd",
+ "type": "316"
+ },
+ {
+ "case": "replication",
+ "type": "317"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "295"
+ },
+ {
+ "case": "ssh",
+ "type": "318"
+ },
+ {
+ "case": "throttle",
+ "type": "319"
+ },
+ {
+ "case": "vdi",
+ "type": "295"
+ },
+ {
+ "case": "vhdx",
+ "type": "295"
+ },
+ {
+ "case": "vmdk",
+ "type": "313"
+ },
+ {
+ "case": "vpc",
+ "type": "295"
+ },
+ {
+ "case": "vvfat",
+ "type": "320"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "288"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard",
+ "default": null,
+ "type": "289"
+ },
+ {
+ "name": "cache",
+ "default": null,
+ "type": "290"
+ },
+ {
+ "name": "read-only",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-read-only",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "force-share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "detect-zeroes",
+ "default": null,
+ "type": "280"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "50",
+ "members": [
+ {
+ "name": "options",
+ "type": "[49]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "51",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "52",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "321"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "53",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "322"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "54",
+ "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": "55",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "323"
+ },
+ {
+ "name": "action",
+ "type": "324"
+ },
+ {
+ "name": "nospace",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "56",
+ "members": [
+ {
+ "name": "type",
+ "type": "325"
+ },
+ {
+ "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": "57",
+ "members": [
+ {
+ "name": "type",
+ "type": "325"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "58",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "323"
+ },
+ {
+ "name": "action",
+ "type": "324"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "59",
+ "members": [
+ {
+ "name": "type",
+ "type": "325"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "60",
+ "members": [
+ {
+ "name": "type",
+ "type": "325"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "61",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "amount-exceeded",
+ "type": "int"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "62",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "63",
+ "members": [
+ {
+ "name": "parent",
+ "type": "str"
+ },
+ {
+ "name": "child",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "64",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "iothread",
+ "type": "326"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "65",
+ "members": [
+ {
+ "name": "reference",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "66",
+ "members": [
+ {
+ "name": "type",
+ "type": "327"
+ },
+ {
+ "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": "67",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "68",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "69",
+ "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"
+ },
+ {
+ "name": "icount",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "70",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "status",
+ "type": "274"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "71",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "72",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "73",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "74",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "75",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "76",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[77]",
+ "element-type": "77",
+ "meta-type": "array"
+ },
+ {
+ "name": "77",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "325"
+ },
+ {
+ "name": "status",
+ "type": "274"
+ },
+ {
+ "name": "current-progress",
+ "type": "int"
+ },
+ {
+ "name": "total-progress",
+ "type": "int"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "78",
+ "members": [
+ {
+ "name": "addr",
+ "type": "328"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "max-connections",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "79",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "writable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "80",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "329"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "81",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nbd",
+ "type": "331"
+ },
+ {
+ "case": "vhost-user-blk",
+ "type": "332"
+ },
+ {
+ "case": "fuse",
+ "type": "333"
+ },
+ {
+ "case": "vduse-blk",
+ "type": "334"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "330"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "fixed-iothread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "writable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "writethrough",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "82",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "329"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "83",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[84]",
+ "element-type": "84",
+ "meta-type": "array"
+ },
+ {
+ "name": "84",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "330"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "shutting-down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[85]",
+ "element-type": "85",
+ "meta-type": "array"
+ },
+ {
+ "name": "85",
+ "members": [
+ {
+ "name": "label",
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "frontend-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[86]",
+ "element-type": "86",
+ "meta-type": "array"
+ },
+ {
+ "name": "86",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "87",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "data",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "335"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "88",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "335"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "str",
+ "json-type": "string",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "89",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "336"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "90",
+ "members": [
+ {
+ "name": "pty",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "91",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "336"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "92",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "93",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "94",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "95",
+ "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": "337"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "96",
+ "members": [
+ {
+ "name": "status",
+ "type": "338"
+ },
+ {
+ "name": "completed",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "97",
+ "members": [
+ {
+ "name": "result",
+ "type": "96"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "98",
+ "members": [
+ {
+ "name": "formats",
+ "type": "[337]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "99",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "up",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "100",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nic",
+ "type": "340"
+ },
+ {
+ "case": "user",
+ "type": "341"
+ },
+ {
+ "case": "tap",
+ "type": "342"
+ },
+ {
+ "case": "l2tpv3",
+ "type": "343"
+ },
+ {
+ "case": "socket",
+ "type": "344"
+ },
+ {
+ "case": "vde",
+ "type": "345"
+ },
+ {
+ "case": "bridge",
+ "type": "346"
+ },
+ {
+ "case": "hubport",
+ "type": "347"
+ },
+ {
+ "case": "netmap",
+ "type": "348"
+ },
+ {
+ "case": "vhost-user",
+ "type": "349"
+ },
+ {
+ "case": "vhost-vdpa",
+ "type": "350"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "339"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "101",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "102",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[103]",
+ "element-type": "103",
+ "meta-type": "array"
+ },
+ {
+ "name": "103",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "promiscuous",
+ "type": "bool"
+ },
+ {
+ "name": "multicast",
+ "type": "354"
+ },
+ {
+ "name": "unicast",
+ "type": "354"
+ },
+ {
+ "name": "vlan",
+ "type": "354"
+ },
+ {
+ "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": "104",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "105",
+ "members": [
+ {
+ "name": "initial",
+ "type": "int"
+ },
+ {
+ "name": "max",
+ "type": "int"
+ },
+ {
+ "name": "rounds",
+ "type": "int"
+ },
+ {
+ "name": "step",
+ "type": "int"
+ },
+ {
+ "name": "interfaces",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "106",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "107",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "gid-status",
+ "type": "bool"
+ },
+ {
+ "name": "subnet-prefix",
+ "type": "int"
+ },
+ {
+ "name": "interface-id",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "108",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "109",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "ports",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "110",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[111]",
+ "element-type": "111",
+ "meta-type": "array"
+ },
+ {
+ "name": "111",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "link-up",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "duplex",
+ "type": "355"
+ },
+ {
+ "name": "autoneg",
+ "type": "356"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "112",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "tbl-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[113]",
+ "element-type": "113",
+ "meta-type": "array"
+ },
+ {
+ "name": "113",
+ "members": [
+ {
+ "name": "cookie",
+ "type": "int"
+ },
+ {
+ "name": "hits",
+ "type": "int"
+ },
+ {
+ "name": "key",
+ "type": "357"
+ },
+ {
+ "name": "mask",
+ "type": "358"
+ },
+ {
+ "name": "action",
+ "type": "359"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "114",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[115]",
+ "element-type": "115",
+ "meta-type": "array"
+ },
+ {
+ "name": "115",
+ "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": "[116]",
+ "element-type": "116",
+ "meta-type": "array"
+ },
+ {
+ "name": "116",
+ "members": [
+ {
+ "name": "tpm-tis"
+ },
+ {
+ "name": "tpm-crb"
+ },
+ {
+ "name": "tpm-spapr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tpm-tis",
+ "tpm-crb",
+ "tpm-spapr"
+ ]
+ },
+ {
+ "name": "[117]",
+ "element-type": "117",
+ "meta-type": "array"
+ },
+ {
+ "name": "117",
+ "members": [
+ {
+ "name": "passthrough"
+ },
+ {
+ "name": "emulator"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "passthrough",
+ "emulator"
+ ]
+ },
+ {
+ "name": "[118]",
+ "element-type": "118",
+ "meta-type": "array"
+ },
+ {
+ "name": "118",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "model",
+ "type": "116"
+ },
+ {
+ "name": "options",
+ "type": "360"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "119",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "363"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "361"
+ },
+ {
+ "name": "password",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "default": null,
+ "type": "362"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "120",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "364"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "361"
+ },
+ {
+ "name": "time",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "121",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "365"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "122",
+ "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": "366"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "[367]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "123",
+ "members": [
+ {
+ "name": "server",
+ "type": "368"
+ },
+ {
+ "name": "client",
+ "type": "368"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "124",
+ "members": [
+ {
+ "name": "server",
+ "type": "369"
+ },
+ {
+ "name": "client",
+ "type": "367"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "125",
+ "members": [
+ {
+ "name": "server",
+ "type": "368"
+ },
+ {
+ "name": "client",
+ "type": "368"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "126",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "default": null,
+ "type": "370"
+ },
+ {
+ "name": "service",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "clients",
+ "default": null,
+ "type": "[371]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[127]",
+ "element-type": "127",
+ "meta-type": "array"
+ },
+ {
+ "name": "127",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[372]"
+ },
+ {
+ "name": "clients",
+ "type": "[371]"
+ },
+ {
+ "name": "auth",
+ "type": "373"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "374"
+ },
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "128",
+ "members": [
+ {
+ "name": "password",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "129",
+ "members": [
+ {
+ "name": "server",
+ "type": "375"
+ },
+ {
+ "name": "client",
+ "type": "376"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "130",
+ "members": [
+ {
+ "name": "server",
+ "type": "375"
+ },
+ {
+ "name": "client",
+ "type": "371"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "131",
+ "members": [
+ {
+ "name": "server",
+ "type": "375"
+ },
+ {
+ "name": "client",
+ "type": "371"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[132]",
+ "element-type": "132",
+ "meta-type": "array"
+ },
+ {
+ "name": "132",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "current",
+ "type": "bool"
+ },
+ {
+ "name": "absolute",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "133",
+ "members": [
+ {
+ "name": "keys",
+ "type": "[377]"
+ },
+ {
+ "name": "hold-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "134",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "events",
+ "type": "[378]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "135",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "curses",
+ "type": "383"
+ },
+ {
+ "case": "egl-headless",
+ "type": "384"
+ },
+ {
+ "case": "dbus",
+ "type": "385"
+ },
+ {
+ "case": "sdl",
+ "type": "386"
+ },
+ {
+ "case": "default",
+ "type": "0"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ },
+ {
+ "case": "spice-app",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "379"
+ },
+ {
+ "name": "full-screen",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "window-close",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "show-cursor",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "gl",
+ "default": null,
+ "type": "380"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "136",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "388"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "387"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "137",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "390"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "389"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "138",
+ "members": [
+ {
+ "name": "status",
+ "default": null,
+ "type": "391"
+ },
+ {
+ "name": "ram",
+ "default": null,
+ "type": "392"
+ },
+ {
+ "name": "disk",
+ "default": null,
+ "type": "392"
+ },
+ {
+ "name": "vfio",
+ "default": null,
+ "type": "393"
+ },
+ {
+ "name": "xbzrle-cache",
+ "default": null,
+ "type": "394"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "blocked-reasons",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "postcopy-blocktime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "postcopy-vcpu-blocktime",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "compression",
+ "default": null,
+ "type": "395"
+ },
+ {
+ "name": "socket-address",
+ "default": null,
+ "type": "[396]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "139",
+ "members": [
+ {
+ "name": "capabilities",
+ "type": "[140]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[140]",
+ "element-type": "140",
+ "meta-type": "array"
+ },
+ {
+ "name": "140",
+ "members": [
+ {
+ "name": "capability",
+ "type": "397"
+ },
+ {
+ "name": "state",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "141",
+ "members": [
+ {
+ "name": "announce-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-rounds",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-step",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-wait-thread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-trigger-threshold",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "326"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "326"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "326"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-postcopy-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-cpu-throttle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-compression",
+ "default": null,
+ "type": "398"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[399]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "142",
+ "members": [
+ {
+ "name": "announce-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-rounds",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-step",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-wait-thread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-trigger-threshold",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "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",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-postcopy-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-cpu-throttle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-compression",
+ "default": null,
+ "type": "398"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[399]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "143",
+ "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": "144",
+ "members": [
+ {
+ "name": "status",
+ "type": "391"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "145",
+ "members": [
+ {
+ "name": "pass",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "146",
+ "members": [
+ {
+ "name": "mode",
+ "type": "400"
+ },
+ {
+ "name": "reason",
+ "type": "401"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "147",
+ "members": [
+ {
+ "name": "state",
+ "type": "391"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "148",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ },
+ {
+ "name": "blk",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "inc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "resume",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "149",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "150",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "live",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "151",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "152",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "153",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "primary",
+ "type": "bool"
+ },
+ {
+ "name": "failover",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "154",
+ "members": [
+ {
+ "name": "error",
+ "type": "bool"
+ },
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "155",
+ "members": [
+ {
+ "name": "mode",
+ "type": "400"
+ },
+ {
+ "name": "last-mode",
+ "type": "400"
+ },
+ {
+ "name": "reason",
+ "type": "401"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "156",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "157",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "158",
+ "members": [
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "sample-pages",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "402"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "159",
+ "members": [
+ {
+ "name": "dirty-rate",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "403"
+ },
+ {
+ "name": "start-time",
+ "type": "int"
+ },
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "sample-pages",
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "type": "402"
+ },
+ {
+ "name": "vcpu-dirty-rate",
+ "default": null,
+ "type": "[404]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "160",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "161",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[162]",
+ "element-type": "162",
+ "meta-type": "array"
+ },
+ {
+ "name": "162",
+ "members": [
+ {
+ "name": "cpu-index",
+ "type": "int"
+ },
+ {
+ "name": "limit-rate",
+ "type": "int"
+ },
+ {
+ "name": "current-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "163",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "164",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "165",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "166",
+ "members": [
+ {
+ "name": "actions",
+ "type": "[405]"
+ },
+ {
+ "name": "properties",
+ "default": null,
+ "type": "406"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "167",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "vcpu",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[168]",
+ "element-type": "168",
+ "meta-type": "array"
+ },
+ {
+ "name": "168",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "state",
+ "type": "407"
+ },
+ {
+ "name": "vcpu",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "169",
+ "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": "170",
+ "members": [
+ {
+ "name": "enable",
+ "default": null,
+ "type": "[408]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "171",
+ "members": [
+ {
+ "name": "qemu",
+ "type": "409"
+ },
+ {
+ "name": "package",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[172]",
+ "element-type": "172",
+ "meta-type": "array"
+ },
+ {
+ "name": "172",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[173]",
+ "element-type": "173",
+ "meta-type": "array"
+ },
+ {
+ "name": "173",
+ "tag": "meta-type",
+ "variants": [
+ {
+ "case": "builtin",
+ "type": "411"
+ },
+ {
+ "case": "enum",
+ "type": "412"
+ },
+ {
+ "case": "array",
+ "type": "413"
+ },
+ {
+ "case": "object",
+ "type": "414"
+ },
+ {
+ "case": "alternate",
+ "type": "415"
+ },
+ {
+ "case": "command",
+ "type": "416"
+ },
+ {
+ "case": "event",
+ "type": "417"
+ }
+ ],
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "meta-type",
+ "type": "410"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "174",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[175]",
+ "element-type": "175",
+ "meta-type": "array"
+ },
+ {
+ "name": "175",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default-value",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "176",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "any",
+ "json-type": "value",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "177",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "178",
+ "members": [
+ {
+ "name": "implements",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[179]",
+ "element-type": "179",
+ "meta-type": "array"
+ },
+ {
+ "name": "179",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "180",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "181",
+ "tag": "qom-type",
+ "variants": [
+ {
+ "case": "authz-list",
+ "type": "419"
+ },
+ {
+ "case": "authz-listfile",
+ "type": "420"
+ },
+ {
+ "case": "authz-pam",
+ "type": "421"
+ },
+ {
+ "case": "authz-simple",
+ "type": "422"
+ },
+ {
+ "case": "can-host-socketcan",
+ "type": "423"
+ },
+ {
+ "case": "colo-compare",
+ "type": "424"
+ },
+ {
+ "case": "cryptodev-backend",
+ "type": "425"
+ },
+ {
+ "case": "cryptodev-backend-builtin",
+ "type": "425"
+ },
+ {
+ "case": "cryptodev-vhost-user",
+ "type": "426"
+ },
+ {
+ "case": "dbus-vmstate",
+ "type": "427"
+ },
+ {
+ "case": "filter-buffer",
+ "type": "428"
+ },
+ {
+ "case": "filter-dump",
+ "type": "429"
+ },
+ {
+ "case": "filter-mirror",
+ "type": "430"
+ },
+ {
+ "case": "filter-redirector",
+ "type": "431"
+ },
+ {
+ "case": "filter-replay",
+ "type": "432"
+ },
+ {
+ "case": "filter-rewriter",
+ "type": "433"
+ },
+ {
+ "case": "input-barrier",
+ "type": "434"
+ },
+ {
+ "case": "input-linux",
+ "type": "435"
+ },
+ {
+ "case": "iothread",
+ "type": "436"
+ },
+ {
+ "case": "main-loop",
+ "type": "437"
+ },
+ {
+ "case": "memory-backend-epc",
+ "type": "438"
+ },
+ {
+ "case": "memory-backend-file",
+ "type": "439"
+ },
+ {
+ "case": "memory-backend-memfd",
+ "type": "440"
+ },
+ {
+ "case": "memory-backend-ram",
+ "type": "441"
+ },
+ {
+ "case": "pr-manager-helper",
+ "type": "442"
+ },
+ {
+ "case": "qtest",
+ "type": "443"
+ },
+ {
+ "case": "rng-builtin",
+ "type": "444"
+ },
+ {
+ "case": "rng-egd",
+ "type": "445"
+ },
+ {
+ "case": "rng-random",
+ "type": "446"
+ },
+ {
+ "case": "secret",
+ "type": "447"
+ },
+ {
+ "case": "secret_keyring",
+ "type": "448"
+ },
+ {
+ "case": "sev-guest",
+ "type": "449"
+ },
+ {
+ "case": "throttle-group",
+ "type": "450"
+ },
+ {
+ "case": "tls-creds-anon",
+ "type": "451"
+ },
+ {
+ "case": "tls-creds-psk",
+ "type": "452"
+ },
+ {
+ "case": "tls-creds-x509",
+ "type": "453"
+ },
+ {
+ "case": "tls-cipher-suites",
+ "type": "454"
+ },
+ {
+ "case": "x-remote-object",
+ "type": "455"
+ },
+ {
+ "case": "x-vfio-user-server",
+ "type": "456"
+ },
+ {
+ "case": "can-bus",
+ "type": "0"
+ },
+ {
+ "case": "pef-guest",
+ "type": "0"
+ },
+ {
+ "case": "s390-pv-guest",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "qom-type",
+ "type": "418"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "182",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "183",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "184",
+ "members": [
+ {
+ "name": "driver",
+ "type": "str"
+ },
+ {
+ "name": "bus",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "185",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "186",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "187",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[188]",
+ "element-type": "188",
+ "meta-type": "array"
+ },
+ {
+ "name": "188",
+ "tag": "target",
+ "variants": [
+ {
+ "case": "s390x",
+ "type": "459"
+ },
+ {
+ "case": "aarch64",
+ "type": "0"
+ },
+ {
+ "case": "alpha",
+ "type": "0"
+ },
+ {
+ "case": "arm",
+ "type": "0"
+ },
+ {
+ "case": "avr",
+ "type": "0"
+ },
+ {
+ "case": "cris",
+ "type": "0"
+ },
+ {
+ "case": "hppa",
+ "type": "0"
+ },
+ {
+ "case": "i386",
+ "type": "0"
+ },
+ {
+ "case": "loongarch64",
+ "type": "0"
+ },
+ {
+ "case": "m68k",
+ "type": "0"
+ },
+ {
+ "case": "microblaze",
+ "type": "0"
+ },
+ {
+ "case": "microblazeel",
+ "type": "0"
+ },
+ {
+ "case": "mips",
+ "type": "0"
+ },
+ {
+ "case": "mips64",
+ "type": "0"
+ },
+ {
+ "case": "mips64el",
+ "type": "0"
+ },
+ {
+ "case": "mipsel",
+ "type": "0"
+ },
+ {
+ "case": "nios2",
+ "type": "0"
+ },
+ {
+ "case": "or1k",
+ "type": "0"
+ },
+ {
+ "case": "ppc",
+ "type": "0"
+ },
+ {
+ "case": "ppc64",
+ "type": "0"
+ },
+ {
+ "case": "riscv32",
+ "type": "0"
+ },
+ {
+ "case": "riscv64",
+ "type": "0"
+ },
+ {
+ "case": "rx",
+ "type": "0"
+ },
+ {
+ "case": "sh4",
+ "type": "0"
+ },
+ {
+ "case": "sh4eb",
+ "type": "0"
+ },
+ {
+ "case": "sparc",
+ "type": "0"
+ },
+ {
+ "case": "sparc64",
+ "type": "0"
+ },
+ {
+ "case": "tricore",
+ "type": "0"
+ },
+ {
+ "case": "x86_64",
+ "type": "0"
+ },
+ {
+ "case": "xtensa",
+ "type": "0"
+ },
+ {
+ "case": "xtensaeb",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "cpu-index",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ },
+ {
+ "name": "thread-id",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "457"
+ },
+ {
+ "name": "target",
+ "type": "458"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[189]",
+ "element-type": "189",
+ "meta-type": "array"
+ },
+ {
+ "name": "189",
+ "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"
+ },
+ {
+ "name": "numa-mem-supported",
+ "type": "bool"
+ },
+ {
+ "name": "deprecated",
+ "type": "bool"
+ },
+ {
+ "name": "default-cpu-type",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default-ram-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "190",
+ "members": [
+ {
+ "name": "wakeup-suspend-support",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "191",
+ "members": [
+ {
+ "name": "arch",
+ "type": "458"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "192",
+ "members": [
+ {
+ "name": "UUID",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "193",
+ "members": [
+ {
+ "name": "guid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "194",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "present",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "195",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "196",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[197]",
+ "element-type": "197",
+ "meta-type": "array"
+ },
+ {
+ "name": "197",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc",
+ "type": "bool"
+ },
+ {
+ "name": "share",
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "type": "[int]"
+ },
+ {
+ "name": "policy",
+ "type": "460"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[198]",
+ "element-type": "198",
+ "meta-type": "array"
+ },
+ {
+ "name": "198",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "vcpus-count",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "type": "457"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "199",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "node",
+ "type": "462"
+ },
+ {
+ "case": "dist",
+ "type": "463"
+ },
+ {
+ "case": "cpu",
+ "type": "464"
+ },
+ {
+ "case": "hmat-lb",
+ "type": "465"
+ },
+ {
+ "case": "hmat-cache",
+ "type": "466"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "461"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "200",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "201",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "202",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "203",
+ "members": [
+ {
+ "name": "base-memory",
+ "type": "int"
+ },
+ {
+ "name": "plugged-memory",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[204]",
+ "element-type": "204",
+ "meta-type": "array"
+ },
+ {
+ "name": "204",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "dimm",
+ "type": "468"
+ },
+ {
+ "case": "nvdimm",
+ "type": "468"
+ },
+ {
+ "case": "virtio-pmem",
+ "type": "469"
+ },
+ {
+ "case": "virtio-mem",
+ "type": "470"
+ },
+ {
+ "case": "sgx-epc",
+ "type": "471"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "467"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "205",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "206",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "msg",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "207",
+ "members": [
+ {
+ "name": "human-readable-text",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "212",
+ "members": [
+ {
+ "name": "type",
+ "type": "474"
+ },
+ {
+ "name": "model",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "213",
+ "members": [
+ {
+ "name": "model",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[214]",
+ "element-type": "214",
+ "meta-type": "array"
+ },
+ {
+ "name": "214",
+ "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"
+ },
+ {
+ "name": "alias-of",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "deprecated",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "215",
+ "members": [
+ {
+ "name": "mode",
+ "type": "475"
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "216",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "217",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "218",
+ "members": [
+ {
+ "name": "instances",
+ "type": "[219]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[219]",
+ "element-type": "219",
+ "meta-type": "array"
+ },
+ {
+ "name": "219",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "block-node",
+ "type": "477"
+ },
+ {
+ "case": "chardev",
+ "type": "478"
+ },
+ {
+ "case": "migration",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "476"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "220",
+ "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": "221",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[222]",
+ "element-type": "222",
+ "meta-type": "array"
+ },
+ {
+ "name": "222",
+ "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"
+ },
+ {
+ "name": "aio-max-batch",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "223",
+ "members": [
+ {
+ "name": "command-line",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "224",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "225",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "226",
+ "members": [
+ {
+ "name": "fdset-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "227",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "228",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[229]",
+ "element-type": "229",
+ "meta-type": "array"
+ },
+ {
+ "name": "229",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fds",
+ "type": "[479]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "230",
+ "members": [
+ {
+ "name": "option",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[231]",
+ "element-type": "231",
+ "meta-type": "array"
+ },
+ {
+ "name": "231",
+ "members": [
+ {
+ "name": "option",
+ "type": "str"
+ },
+ {
+ "name": "parameters",
+ "type": "[480]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "232",
+ "members": [
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "233",
+ "members": [
+ {
+ "name": "vfu-id",
+ "type": "str"
+ },
+ {
+ "name": "vfu-qom-path",
+ "type": "str"
+ },
+ {
+ "name": "dev-id",
+ "type": "str"
+ },
+ {
+ "name": "dev-qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "234",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "api-major",
+ "type": "int"
+ },
+ {
+ "name": "api-minor",
+ "type": "int"
+ },
+ {
+ "name": "build-id",
+ "type": "int"
+ },
+ {
+ "name": "policy",
+ "type": "int"
+ },
+ {
+ "name": "state",
+ "type": "481"
+ },
+ {
+ "name": "handle",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "235",
+ "members": [
+ {
+ "name": "data",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "236",
+ "members": [
+ {
+ "name": "pdh",
+ "type": "str"
+ },
+ {
+ "name": "cert-chain",
+ "type": "str"
+ },
+ {
+ "name": "cpu0-id",
+ "type": "str"
+ },
+ {
+ "name": "cbitpos",
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "237",
+ "members": [
+ {
+ "name": "packet-header",
+ "type": "str"
+ },
+ {
+ "name": "secret",
+ "type": "str"
+ },
+ {
+ "name": "gpa",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "238",
+ "members": [
+ {
+ "name": "mnonce",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "239",
+ "members": [
+ {
+ "name": "data",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "242",
+ "members": [
+ {
+ "name": "sgx",
+ "type": "bool"
+ },
+ {
+ "name": "sgx1",
+ "type": "bool"
+ },
+ {
+ "name": "sgx2",
+ "type": "bool"
+ },
+ {
+ "name": "flc",
+ "type": "bool"
+ },
+ {
+ "name": "section-size",
+ "type": "int",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "sections",
+ "type": "[482]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[243]",
+ "element-type": "243",
+ "meta-type": "array"
+ },
+ {
+ "name": "243",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "slot",
+ "type": "str"
+ },
+ {
+ "name": "slot-type",
+ "type": "483"
+ },
+ {
+ "name": "source",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "244",
+ "members": [
+ {
+ "name": "info",
+ "type": "243"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[245]",
+ "element-type": "245",
+ "meta-type": "array"
+ },
+ {
+ "name": "245",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "devices",
+ "type": "[484]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "246",
+ "tag": "target",
+ "variants": [
+ {
+ "case": "vcpu",
+ "type": "487"
+ },
+ {
+ "case": "vm",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "target",
+ "type": "485"
+ },
+ {
+ "name": "providers",
+ "default": null,
+ "type": "[486]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[247]",
+ "element-type": "247",
+ "meta-type": "array"
+ },
+ {
+ "name": "247",
+ "members": [
+ {
+ "name": "provider",
+ "type": "488"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "[489]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "248",
+ "members": [
+ {
+ "name": "provider",
+ "default": null,
+ "type": "488"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[249]",
+ "element-type": "249",
+ "meta-type": "array"
+ },
+ {
+ "name": "249",
+ "members": [
+ {
+ "name": "provider",
+ "type": "488"
+ },
+ {
+ "name": "target",
+ "type": "485"
+ },
+ {
+ "name": "stats",
+ "type": "[490]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[250]",
+ "element-type": "250",
+ "meta-type": "array"
+ },
+ {
+ "name": "250",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "251",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "252",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "device-id",
+ "type": "int"
+ },
+ {
+ "name": "vhost-started",
+ "type": "bool"
+ },
+ {
+ "name": "device-endian",
+ "type": "str"
+ },
+ {
+ "name": "guest-features",
+ "type": "491"
+ },
+ {
+ "name": "host-features",
+ "type": "491"
+ },
+ {
+ "name": "backend-features",
+ "type": "491"
+ },
+ {
+ "name": "num-vqs",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "492"
+ },
+ {
+ "name": "isr",
+ "type": "int"
+ },
+ {
+ "name": "queue-sel",
+ "type": "int"
+ },
+ {
+ "name": "vm-running",
+ "type": "bool"
+ },
+ {
+ "name": "broken",
+ "type": "bool"
+ },
+ {
+ "name": "disabled",
+ "type": "bool"
+ },
+ {
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "name": "started",
+ "type": "bool"
+ },
+ {
+ "name": "start-on-kick",
+ "type": "bool"
+ },
+ {
+ "name": "disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "name": "bus-name",
+ "type": "str"
+ },
+ {
+ "name": "use-guest-notifier-mask",
+ "type": "bool"
+ },
+ {
+ "name": "vhost-dev",
+ "default": null,
+ "type": "493"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "253",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "254",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "queue-index",
+ "type": "int"
+ },
+ {
+ "name": "inuse",
+ "type": "int"
+ },
+ {
+ "name": "vring-num",
+ "type": "int"
+ },
+ {
+ "name": "vring-num-default",
+ "type": "int"
+ },
+ {
+ "name": "vring-align",
+ "type": "int"
+ },
+ {
+ "name": "vring-desc",
+ "type": "int"
+ },
+ {
+ "name": "vring-avail",
+ "type": "int"
+ },
+ {
+ "name": "vring-used",
+ "type": "int"
+ },
+ {
+ "name": "last-avail-idx",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "shadow-avail-idx",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "used-idx",
+ "type": "int"
+ },
+ {
+ "name": "signalled-used",
+ "type": "int"
+ },
+ {
+ "name": "signalled-used-valid",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "255",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "256",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "kick",
+ "type": "int"
+ },
+ {
+ "name": "call",
+ "type": "int"
+ },
+ {
+ "name": "desc",
+ "type": "int"
+ },
+ {
+ "name": "avail",
+ "type": "int"
+ },
+ {
+ "name": "used",
+ "type": "int"
+ },
+ {
+ "name": "num",
+ "type": "int"
+ },
+ {
+ "name": "desc-phys",
+ "type": "int"
+ },
+ {
+ "name": "desc-size",
+ "type": "int"
+ },
+ {
+ "name": "avail-phys",
+ "type": "int"
+ },
+ {
+ "name": "avail-size",
+ "type": "int"
+ },
+ {
+ "name": "used-phys",
+ "type": "int"
+ },
+ {
+ "name": "used-size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "257",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ },
+ {
+ "name": "index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "258",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "descs",
+ "type": "[494]"
+ },
+ {
+ "name": "avail",
+ "type": "495"
+ },
+ {
+ "name": "used",
+ "type": "496"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "bool",
+ "json-type": "boolean",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "259",
+ "members": [
+ {
+ "name": "debug"
+ },
+ {
+ "name": "inmigrate"
+ },
+ {
+ "name": "internal-error"
+ },
+ {
+ "name": "io-error"
+ },
+ {
+ "name": "paused"
+ },
+ {
+ "name": "postmigrate"
+ },
+ {
+ "name": "prelaunch"
+ },
+ {
+ "name": "finish-migrate"
+ },
+ {
+ "name": "restore-vm"
+ },
+ {
+ "name": "running"
+ },
+ {
+ "name": "save-vm"
+ },
+ {
+ "name": "shutdown"
+ },
+ {
+ "name": "suspended"
+ },
+ {
+ "name": "watchdog"
+ },
+ {
+ "name": "guest-panicked"
+ },
+ {
+ "name": "colo"
+ }
+ ],
+ "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": "260",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "host-error"
+ },
+ {
+ "name": "host-qmp-quit"
+ },
+ {
+ "name": "host-qmp-system-reset"
+ },
+ {
+ "name": "host-signal"
+ },
+ {
+ "name": "host-ui"
+ },
+ {
+ "name": "guest-shutdown"
+ },
+ {
+ "name": "guest-reset"
+ },
+ {
+ "name": "guest-panic"
+ },
+ {
+ "name": "subsystem-reset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "host-error",
+ "host-qmp-quit",
+ "host-qmp-system-reset",
+ "host-signal",
+ "host-ui",
+ "guest-shutdown",
+ "guest-reset",
+ "guest-panic",
+ "subsystem-reset"
+ ]
+ },
+ {
+ "name": "261",
+ "members": [
+ {
+ "name": "reset"
+ },
+ {
+ "name": "shutdown"
+ },
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "pause"
+ },
+ {
+ "name": "debug"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "inject-nmi"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "reset",
+ "shutdown",
+ "poweroff",
+ "pause",
+ "debug",
+ "none",
+ "inject-nmi"
+ ]
+ },
+ {
+ "name": "262",
+ "members": [
+ {
+ "name": "reset"
+ },
+ {
+ "name": "shutdown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "reset",
+ "shutdown"
+ ]
+ },
+ {
+ "name": "263",
+ "members": [
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "pause"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "poweroff",
+ "pause"
+ ]
+ },
+ {
+ "name": "264",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "shutdown"
+ },
+ {
+ "name": "exit-failure"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "shutdown",
+ "exit-failure",
+ "none"
+ ]
+ },
+ {
+ "name": "265",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "run"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "poweroff",
+ "run"
+ ]
+ },
+ {
+ "name": "266",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "hyper-v",
+ "type": "498"
+ },
+ {
+ "case": "s390",
+ "type": "499"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "497"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "267",
+ "members": [
+ {
+ "name": "hypervisor"
+ },
+ {
+ "name": "guest"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hypervisor",
+ "guest"
+ ]
+ },
+ {
+ "name": "268",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "inject"
+ },
+ {
+ "name": "fatal"
+ },
+ {
+ "name": "reset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "inject",
+ "fatal",
+ "reset"
+ ]
+ },
+ {
+ "name": "269",
+ "members": [
+ {
+ "name": "action-required",
+ "type": "bool"
+ },
+ {
+ "name": "recursive",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "270",
+ "members": [
+ {
+ "name": "retain"
+ },
+ {
+ "name": "read-only"
+ },
+ {
+ "name": "read-write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "retain",
+ "read-only",
+ "read-write"
+ ]
+ },
+ {
+ "name": "int",
+ "json-type": "int",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "[int]",
+ "element-type": "int",
+ "meta-type": "array"
+ },
+ {
+ "name": "271",
+ "members": [
+ {
+ "name": "ok"
+ },
+ {
+ "name": "failed"
+ },
+ {
+ "name": "nospace"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ok",
+ "failed",
+ "nospace"
+ ]
+ },
+ {
+ "name": "272",
+ "members": [
+ {
+ "name": "rd_bytes",
+ "type": "int"
+ },
+ {
+ "name": "wr_bytes",
+ "type": "int"
+ },
+ {
+ "name": "unmap_bytes",
+ "type": "int"
+ },
+ {
+ "name": "rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "rd_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "flush_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "unmap_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_highest_offset",
+ "type": "int"
+ },
+ {
+ "name": "rd_merged",
+ "type": "int"
+ },
+ {
+ "name": "wr_merged",
+ "type": "int"
+ },
+ {
+ "name": "unmap_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": "failed_unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "account_invalid",
+ "type": "bool"
+ },
+ {
+ "name": "account_failed",
+ "type": "bool"
+ },
+ {
+ "name": "timed_stats",
+ "type": "[500]"
+ },
+ {
+ "name": "rd_latency_histogram",
+ "default": null,
+ "type": "501"
+ },
+ {
+ "name": "wr_latency_histogram",
+ "default": null,
+ "type": "501"
+ },
+ {
+ "name": "flush_latency_histogram",
+ "default": null,
+ "type": "501"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "273",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "502"
+ },
+ {
+ "case": "host_device",
+ "type": "502"
+ },
+ {
+ "case": "nvme",
+ "type": "503"
+ },
+ {
+ "case": "blkdebug",
+ "type": "0"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "0"
+ },
+ {
+ "case": "blkreplay",
+ "type": "0"
+ },
+ {
+ "case": "blkverify",
+ "type": "0"
+ },
+ {
+ "case": "bochs",
+ "type": "0"
+ },
+ {
+ "case": "cloop",
+ "type": "0"
+ },
+ {
+ "case": "compress",
+ "type": "0"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "0"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "0"
+ },
+ {
+ "case": "dmg",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "0"
+ },
+ {
+ "case": "ftp",
+ "type": "0"
+ },
+ {
+ "case": "ftps",
+ "type": "0"
+ },
+ {
+ "case": "gluster",
+ "type": "0"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "0"
+ },
+ {
+ "case": "http",
+ "type": "0"
+ },
+ {
+ "case": "https",
+ "type": "0"
+ },
+ {
+ "case": "iscsi",
+ "type": "0"
+ },
+ {
+ "case": "luks",
+ "type": "0"
+ },
+ {
+ "case": "nbd",
+ "type": "0"
+ },
+ {
+ "case": "nfs",
+ "type": "0"
+ },
+ {
+ "case": "null-aio",
+ "type": "0"
+ },
+ {
+ "case": "null-co",
+ "type": "0"
+ },
+ {
+ "case": "parallels",
+ "type": "0"
+ },
+ {
+ "case": "preallocate",
+ "type": "0"
+ },
+ {
+ "case": "qcow",
+ "type": "0"
+ },
+ {
+ "case": "qcow2",
+ "type": "0"
+ },
+ {
+ "case": "qed",
+ "type": "0"
+ },
+ {
+ "case": "quorum",
+ "type": "0"
+ },
+ {
+ "case": "raw",
+ "type": "0"
+ },
+ {
+ "case": "rbd",
+ "type": "0"
+ },
+ {
+ "case": "replication",
+ "type": "0"
+ },
+ {
+ "case": "ssh",
+ "type": "0"
+ },
+ {
+ "case": "throttle",
+ "type": "0"
+ },
+ {
+ "case": "vdi",
+ "type": "0"
+ },
+ {
+ "case": "vhdx",
+ "type": "0"
+ },
+ {
+ "case": "vmdk",
+ "type": "0"
+ },
+ {
+ "case": "vpc",
+ "type": "0"
+ },
+ {
+ "case": "vvfat",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "274",
+ "members": [
+ {
+ "name": "undefined"
+ },
+ {
+ "name": "created"
+ },
+ {
+ "name": "running"
+ },
+ {
+ "name": "paused"
+ },
+ {
+ "name": "ready"
+ },
+ {
+ "name": "standby"
+ },
+ {
+ "name": "waiting"
+ },
+ {
+ "name": "pending"
+ },
+ {
+ "name": "aborting"
+ },
+ {
+ "name": "concluded"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "undefined",
+ "created",
+ "running",
+ "paused",
+ "ready",
+ "standby",
+ "waiting",
+ "pending",
+ "aborting",
+ "concluded",
+ "null"
+ ]
+ },
+ {
+ "name": "275",
+ "members": [
+ {
+ "name": "existing"
+ },
+ {
+ "name": "absolute-paths"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "existing",
+ "absolute-paths"
+ ]
+ },
+ {
+ "name": "276",
+ "members": [
+ {
+ "name": "report"
+ },
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "enospc"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "report",
+ "ignore",
+ "enospc",
+ "stop",
+ "auto"
+ ]
+ },
+ {
+ "name": "277",
+ "members": [
+ {
+ "name": "top"
+ },
+ {
+ "name": "full"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "incremental"
+ },
+ {
+ "name": "bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "top",
+ "full",
+ "none",
+ "incremental",
+ "bitmap"
+ ]
+ },
+ {
+ "name": "278",
+ "members": [
+ {
+ "name": "on-success"
+ },
+ {
+ "name": "never"
+ },
+ {
+ "name": "always"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "on-success",
+ "never",
+ "always"
+ ]
+ },
+ {
+ "name": "279",
+ "members": [
+ {
+ "name": "use-copy-range",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "max-workers",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-chunk",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "280",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "unmap"
+ ]
+ },
+ {
+ "name": "281",
+ "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": "[69]"
+ },
+ {
+ "name": "backing-image",
+ "default": null,
+ "type": "281"
+ },
+ {
+ "name": "format-specific",
+ "default": null,
+ "type": "504"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "282",
+ "members": [
+ {
+ "name": "writeback",
+ "type": "bool"
+ },
+ {
+ "name": "direct",
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[283]",
+ "element-type": "283",
+ "meta-type": "array"
+ },
+ {
+ "name": "283",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "count",
+ "type": "int"
+ },
+ {
+ "name": "granularity",
+ "type": "int"
+ },
+ {
+ "name": "recording",
+ "type": "bool"
+ },
+ {
+ "name": "busy",
+ "type": "bool"
+ },
+ {
+ "name": "persistent",
+ "type": "bool"
+ },
+ {
+ "name": "inconsistent",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[284]",
+ "element-type": "284",
+ "meta-type": "array"
+ },
+ {
+ "name": "284",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "505"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[285]",
+ "element-type": "285",
+ "meta-type": "array"
+ },
+ {
+ "name": "285",
+ "members": [
+ {
+ "name": "parent",
+ "type": "int"
+ },
+ {
+ "name": "child",
+ "type": "int"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "perm",
+ "type": "[506]"
+ },
+ {
+ "name": "shared-perm",
+ "type": "[506]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "286",
+ "members": [
+ {
+ "name": "background"
+ },
+ {
+ "name": "write-blocking"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "background",
+ "write-blocking"
+ ]
+ },
+ {
+ "name": "[287]",
+ "element-type": "287",
+ "meta-type": "array"
+ },
+ {
+ "name": "287",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "37"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "288",
+ "members": [
+ {
+ "name": "blkdebug"
+ },
+ {
+ "name": "blklogwrites"
+ },
+ {
+ "name": "blkreplay"
+ },
+ {
+ "name": "blkverify"
+ },
+ {
+ "name": "bochs"
+ },
+ {
+ "name": "cloop"
+ },
+ {
+ "name": "compress"
+ },
+ {
+ "name": "copy-before-write"
+ },
+ {
+ "name": "copy-on-read"
+ },
+ {
+ "name": "dmg"
+ },
+ {
+ "name": "file"
+ },
+ {
+ "name": "snapshot-access"
+ },
+ {
+ "name": "ftp"
+ },
+ {
+ "name": "ftps"
+ },
+ {
+ "name": "gluster"
+ },
+ {
+ "name": "host_cdrom"
+ },
+ {
+ "name": "host_device"
+ },
+ {
+ "name": "http"
+ },
+ {
+ "name": "https"
+ },
+ {
+ "name": "iscsi"
+ },
+ {
+ "name": "luks"
+ },
+ {
+ "name": "nbd"
+ },
+ {
+ "name": "nfs"
+ },
+ {
+ "name": "null-aio"
+ },
+ {
+ "name": "null-co"
+ },
+ {
+ "name": "nvme"
+ },
+ {
+ "name": "parallels"
+ },
+ {
+ "name": "preallocate"
+ },
+ {
+ "name": "qcow"
+ },
+ {
+ "name": "qcow2"
+ },
+ {
+ "name": "qed"
+ },
+ {
+ "name": "quorum"
+ },
+ {
+ "name": "raw"
+ },
+ {
+ "name": "rbd"
+ },
+ {
+ "name": "replication"
+ },
+ {
+ "name": "ssh"
+ },
+ {
+ "name": "throttle"
+ },
+ {
+ "name": "vdi"
+ },
+ {
+ "name": "vhdx"
+ },
+ {
+ "name": "vmdk"
+ },
+ {
+ "name": "vpc"
+ },
+ {
+ "name": "vvfat"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "blkdebug",
+ "blklogwrites",
+ "blkreplay",
+ "blkverify",
+ "bochs",
+ "cloop",
+ "compress",
+ "copy-before-write",
+ "copy-on-read",
+ "dmg",
+ "file",
+ "snapshot-access",
+ "ftp",
+ "ftps",
+ "gluster",
+ "host_cdrom",
+ "host_device",
+ "http",
+ "https",
+ "iscsi",
+ "luks",
+ "nbd",
+ "nfs",
+ "null-aio",
+ "null-co",
+ "nvme",
+ "parallels",
+ "preallocate",
+ "qcow",
+ "qcow2",
+ "qed",
+ "quorum",
+ "raw",
+ "rbd",
+ "replication",
+ "ssh",
+ "throttle",
+ "vdi",
+ "vhdx",
+ "vmdk",
+ "vpc",
+ "vvfat"
+ ]
+ },
+ {
+ "name": "289",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "unmap"
+ ]
+ },
+ {
+ "name": "290",
+ "members": [
+ {
+ "name": "direct",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "291",
+ "members": [
+ {
+ "name": "image",
+ "type": "507"
+ },
+ {
+ "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": "[508]"
+ },
+ {
+ "name": "set-state",
+ "default": null,
+ "type": "[509]"
+ },
+ {
+ "name": "take-child-perms",
+ "default": null,
+ "type": "[506]"
+ },
+ {
+ "name": "unshare-child-perms",
+ "default": null,
+ "type": "[506]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "292",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "log",
+ "type": "507"
+ },
+ {
+ "name": "log-sector-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "log-append",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "log-super-update-interval",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "293",
+ "members": [
+ {
+ "name": "test",
+ "type": "507"
+ },
+ {
+ "name": "raw",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "294",
+ "members": [
+ {
+ "name": "image",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "295",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "296",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "target",
+ "type": "507"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "37"
+ },
+ {
+ "name": "on-cbw-error",
+ "default": null,
+ "type": "510"
+ },
+ {
+ "name": "cbw-timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "297",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "bottom",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "298",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "pr-manager",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "locking",
+ "default": null,
+ "type": "511"
+ },
+ {
+ "name": "aio",
+ "default": null,
+ "type": "512"
+ },
+ {
+ "name": "aio-max-batch",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "drop-cache",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "x-check-cache-dropped",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object",
+ "features": [
+ "dynamic-auto-read-only"
+ ]
+ },
+ {
+ "name": "299",
+ "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": "300",
+ "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": "301",
+ "members": [
+ {
+ "name": "volume",
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[396]"
+ },
+ {
+ "name": "debug",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "302",
+ "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": "303",
+ "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": "304",
+ "members": [
+ {
+ "name": "transport",
+ "type": "513"
+ },
+ {
+ "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": "514"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "305",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "306",
+ "members": [
+ {
+ "name": "server",
+ "type": "396"
+ },
+ {
+ "name": "export",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-dirty-bitmap",
+ "default": null,
+ "type": "str",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "reconnect-delay",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "open-timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "307",
+ "members": [
+ {
+ "name": "server",
+ "type": "515"
+ },
+ {
+ "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": "308",
+ "members": [
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "latency-ns",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "read-zeroes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "309",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "namespace",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "310",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "prealloc-align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "311",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "516"
+ },
+ {
+ "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": "517"
+ },
+ {
+ "name": "cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "l2-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "l2-cache-entry-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": "518"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "312",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "516"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "519"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "313",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "516"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "314",
+ "members": [
+ {
+ "name": "blkverify",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "children",
+ "type": "[507]"
+ },
+ {
+ "name": "vote-threshold",
+ "type": "int"
+ },
+ {
+ "name": "rewrite-corrupted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-pattern",
+ "default": null,
+ "type": "520"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "315",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "316",
+ "members": [
+ {
+ "name": "pool",
+ "type": "str"
+ },
+ {
+ "name": "namespace",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "image",
+ "type": "str"
+ },
+ {
+ "name": "conf",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshot",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "521"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth-client-required",
+ "default": null,
+ "type": "[522]"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "[523]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "317",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "mode",
+ "type": "524"
+ },
+ {
+ "name": "top-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "318",
+ "members": [
+ {
+ "name": "server",
+ "type": "525"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "host-key-check",
+ "default": null,
+ "type": "526"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "319",
+ "members": [
+ {
+ "name": "throttle-group",
+ "type": "str"
+ },
+ {
+ "name": "file",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "320",
+ "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": "[49]",
+ "element-type": "49",
+ "meta-type": "array"
+ },
+ {
+ "name": "321",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "527"
+ },
+ {
+ "case": "gluster",
+ "type": "528"
+ },
+ {
+ "case": "luks",
+ "type": "529"
+ },
+ {
+ "case": "nfs",
+ "type": "530"
+ },
+ {
+ "case": "parallels",
+ "type": "531"
+ },
+ {
+ "case": "qcow",
+ "type": "532"
+ },
+ {
+ "case": "qcow2",
+ "type": "533"
+ },
+ {
+ "case": "qed",
+ "type": "534"
+ },
+ {
+ "case": "rbd",
+ "type": "535"
+ },
+ {
+ "case": "ssh",
+ "type": "536"
+ },
+ {
+ "case": "vdi",
+ "type": "537"
+ },
+ {
+ "case": "vhdx",
+ "type": "538"
+ },
+ {
+ "case": "vmdk",
+ "type": "539"
+ },
+ {
+ "case": "vpc",
+ "type": "540"
+ },
+ {
+ "case": "blkdebug",
+ "type": "0"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "0"
+ },
+ {
+ "case": "blkreplay",
+ "type": "0"
+ },
+ {
+ "case": "blkverify",
+ "type": "0"
+ },
+ {
+ "case": "bochs",
+ "type": "0"
+ },
+ {
+ "case": "cloop",
+ "type": "0"
+ },
+ {
+ "case": "compress",
+ "type": "0"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "0"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "0"
+ },
+ {
+ "case": "dmg",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "0"
+ },
+ {
+ "case": "ftp",
+ "type": "0"
+ },
+ {
+ "case": "ftps",
+ "type": "0"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "0"
+ },
+ {
+ "case": "host_device",
+ "type": "0"
+ },
+ {
+ "case": "http",
+ "type": "0"
+ },
+ {
+ "case": "https",
+ "type": "0"
+ },
+ {
+ "case": "iscsi",
+ "type": "0"
+ },
+ {
+ "case": "nbd",
+ "type": "0"
+ },
+ {
+ "case": "null-aio",
+ "type": "0"
+ },
+ {
+ "case": "null-co",
+ "type": "0"
+ },
+ {
+ "case": "nvme",
+ "type": "0"
+ },
+ {
+ "case": "preallocate",
+ "type": "0"
+ },
+ {
+ "case": "quorum",
+ "type": "0"
+ },
+ {
+ "case": "raw",
+ "type": "0"
+ },
+ {
+ "case": "replication",
+ "type": "0"
+ },
+ {
+ "case": "throttle",
+ "type": "0"
+ },
+ {
+ "case": "vvfat",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "322",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "541"
+ },
+ {
+ "case": "qcow2",
+ "type": "542"
+ },
+ {
+ "case": "blkdebug",
+ "type": "0"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "0"
+ },
+ {
+ "case": "blkreplay",
+ "type": "0"
+ },
+ {
+ "case": "blkverify",
+ "type": "0"
+ },
+ {
+ "case": "bochs",
+ "type": "0"
+ },
+ {
+ "case": "cloop",
+ "type": "0"
+ },
+ {
+ "case": "compress",
+ "type": "0"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "0"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "0"
+ },
+ {
+ "case": "dmg",
+ "type": "0"
+ },
+ {
+ "case": "file",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "0"
+ },
+ {
+ "case": "ftp",
+ "type": "0"
+ },
+ {
+ "case": "ftps",
+ "type": "0"
+ },
+ {
+ "case": "gluster",
+ "type": "0"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "0"
+ },
+ {
+ "case": "host_device",
+ "type": "0"
+ },
+ {
+ "case": "http",
+ "type": "0"
+ },
+ {
+ "case": "https",
+ "type": "0"
+ },
+ {
+ "case": "iscsi",
+ "type": "0"
+ },
+ {
+ "case": "nbd",
+ "type": "0"
+ },
+ {
+ "case": "nfs",
+ "type": "0"
+ },
+ {
+ "case": "null-aio",
+ "type": "0"
+ },
+ {
+ "case": "null-co",
+ "type": "0"
+ },
+ {
+ "case": "nvme",
+ "type": "0"
+ },
+ {
+ "case": "parallels",
+ "type": "0"
+ },
+ {
+ "case": "preallocate",
+ "type": "0"
+ },
+ {
+ "case": "qcow",
+ "type": "0"
+ },
+ {
+ "case": "qed",
+ "type": "0"
+ },
+ {
+ "case": "quorum",
+ "type": "0"
+ },
+ {
+ "case": "raw",
+ "type": "0"
+ },
+ {
+ "case": "rbd",
+ "type": "0"
+ },
+ {
+ "case": "replication",
+ "type": "0"
+ },
+ {
+ "case": "ssh",
+ "type": "0"
+ },
+ {
+ "case": "throttle",
+ "type": "0"
+ },
+ {
+ "case": "vdi",
+ "type": "0"
+ },
+ {
+ "case": "vhdx",
+ "type": "0"
+ },
+ {
+ "case": "vmdk",
+ "type": "0"
+ },
+ {
+ "case": "vpc",
+ "type": "0"
+ },
+ {
+ "case": "vvfat",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "323",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "name": "324",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "report"
+ },
+ {
+ "name": "stop"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "report",
+ "stop"
+ ]
+ },
+ {
+ "name": "325",
+ "members": [
+ {
+ "name": "commit"
+ },
+ {
+ "name": "stream"
+ },
+ {
+ "name": "mirror"
+ },
+ {
+ "name": "backup"
+ },
+ {
+ "name": "create"
+ },
+ {
+ "name": "amend"
+ },
+ {
+ "name": "snapshot-load"
+ },
+ {
+ "name": "snapshot-save"
+ },
+ {
+ "name": "snapshot-delete"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "commit",
+ "stream",
+ "mirror",
+ "backup",
+ "create",
+ "amend",
+ "snapshot-load",
+ "snapshot-save",
+ "snapshot-delete"
+ ]
+ },
+ {
+ "name": "326",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "327",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "flush"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write",
+ "flush"
+ ]
+ },
+ {
+ "name": "328",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "544"
+ },
+ {
+ "case": "unix",
+ "type": "545"
+ },
+ {
+ "case": "vsock",
+ "type": "546"
+ },
+ {
+ "case": "fd",
+ "type": "547"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "543"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "329",
+ "members": [
+ {
+ "name": "safe"
+ },
+ {
+ "name": "hard"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "safe",
+ "hard"
+ ]
+ },
+ {
+ "name": "330",
+ "members": [
+ {
+ "name": "nbd"
+ },
+ {
+ "name": "vhost-user-blk"
+ },
+ {
+ "name": "fuse"
+ },
+ {
+ "name": "vduse-blk"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "nbd",
+ "vhost-user-blk",
+ "fuse",
+ "vduse-blk"
+ ]
+ },
+ {
+ "name": "331",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[287]"
+ },
+ {
+ "name": "allocation-depth",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "332",
+ "members": [
+ {
+ "name": "addr",
+ "type": "396"
+ },
+ {
+ "name": "logical-block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "num-queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "333",
+ "members": [
+ {
+ "name": "mountpoint",
+ "type": "str"
+ },
+ {
+ "name": "growable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "allow-other",
+ "default": null,
+ "type": "548"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "334",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "num-queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "queue-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "logical-block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "serial",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "335",
+ "members": [
+ {
+ "name": "utf8"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "utf8",
+ "base64"
+ ]
+ },
+ {
+ "name": "336",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "file",
+ "type": "550"
+ },
+ {
+ "case": "serial",
+ "type": "551"
+ },
+ {
+ "case": "parallel",
+ "type": "551"
+ },
+ {
+ "case": "pipe",
+ "type": "551"
+ },
+ {
+ "case": "socket",
+ "type": "552"
+ },
+ {
+ "case": "udp",
+ "type": "553"
+ },
+ {
+ "case": "pty",
+ "type": "554"
+ },
+ {
+ "case": "null",
+ "type": "554"
+ },
+ {
+ "case": "mux",
+ "type": "555"
+ },
+ {
+ "case": "msmouse",
+ "type": "554"
+ },
+ {
+ "case": "wctablet",
+ "type": "554"
+ },
+ {
+ "case": "braille",
+ "type": "554"
+ },
+ {
+ "case": "testdev",
+ "type": "554"
+ },
+ {
+ "case": "stdio",
+ "type": "556"
+ },
+ {
+ "case": "console",
+ "type": "554"
+ },
+ {
+ "case": "spicevmc",
+ "type": "557"
+ },
+ {
+ "case": "spiceport",
+ "type": "558"
+ },
+ {
+ "case": "qemu-vdagent",
+ "type": "559"
+ },
+ {
+ "case": "dbus",
+ "type": "560"
+ },
+ {
+ "case": "vc",
+ "type": "561"
+ },
+ {
+ "case": "ringbuf",
+ "type": "562"
+ },
+ {
+ "case": "memory",
+ "type": "562"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "549"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "337",
+ "members": [
+ {
+ "name": "elf"
+ },
+ {
+ "name": "kdump-zlib"
+ },
+ {
+ "name": "kdump-lzo"
+ },
+ {
+ "name": "kdump-snappy"
+ },
+ {
+ "name": "win-dmp"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "elf",
+ "kdump-zlib",
+ "kdump-lzo",
+ "kdump-snappy",
+ "win-dmp"
+ ]
+ },
+ {
+ "name": "338",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "completed"
+ },
+ {
+ "name": "failed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "active",
+ "completed",
+ "failed"
+ ]
+ },
+ {
+ "name": "[337]",
+ "element-type": "337",
+ "meta-type": "array"
+ },
+ {
+ "name": "339",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "nic"
+ },
+ {
+ "name": "user"
+ },
+ {
+ "name": "tap"
+ },
+ {
+ "name": "l2tpv3"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "vde"
+ },
+ {
+ "name": "bridge"
+ },
+ {
+ "name": "hubport"
+ },
+ {
+ "name": "netmap"
+ },
+ {
+ "name": "vhost-user"
+ },
+ {
+ "name": "vhost-vdpa"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "nic",
+ "user",
+ "tap",
+ "l2tpv3",
+ "socket",
+ "vde",
+ "bridge",
+ "hubport",
+ "netmap",
+ "vhost-user",
+ "vhost-vdpa"
+ ]
+ },
+ {
+ "name": "340",
+ "members": [
+ {
+ "name": "netdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "macaddr",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "model",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "addr",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vectors",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "341",
+ "members": [
+ {
+ "name": "hostname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "restrict",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "ipv4",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "ipv6",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "ip",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "net",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tftp",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bootfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dhcpstart",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dns",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dnssearch",
+ "default": null,
+ "type": "[563]"
+ },
+ {
+ "name": "domainname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ipv6-prefix",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ipv6-prefixlen",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "ipv6-host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ipv6-dns",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "smb",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "smbserver",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "hostfwd",
+ "default": null,
+ "type": "[563]"
+ },
+ {
+ "name": "guestfwd",
+ "default": null,
+ "type": "[563]"
+ },
+ {
+ "name": "tftp-server-name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "342",
+ "members": [
+ {
+ "name": "ifname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "fd",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "fds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "script",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "downscript",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "br",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "helper",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sndbuf",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "vnet_hdr",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "vhost",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "vhostfd",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vhostfds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vhostforce",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "poll-us",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "343",
+ "members": [
+ {
+ "name": "src",
+ "type": "str"
+ },
+ {
+ "name": "dst",
+ "type": "str"
+ },
+ {
+ "name": "srcport",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dstport",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ipv6",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "udp",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "cookie64",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "counter",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pincounter",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "txcookie",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "rxcookie",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "txsession",
+ "type": "int"
+ },
+ {
+ "name": "rxsession",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "344",
+ "members": [
+ {
+ "name": "fd",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "listen",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "connect",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mcast",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "localaddr",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "udp",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "345",
+ "members": [
+ {
+ "name": "sock",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "346",
+ "members": [
+ {
+ "name": "br",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "helper",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "347",
+ "members": [
+ {
+ "name": "hubid",
+ "type": "int"
+ },
+ {
+ "name": "netdev",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "348",
+ "members": [
+ {
+ "name": "ifname",
+ "type": "str"
+ },
+ {
+ "name": "devname",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "349",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "vhostforce",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "350",
+ "members": [
+ {
+ "name": "vhostdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-svq",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "354",
+ "members": [
+ {
+ "name": "normal"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "normal",
+ "none",
+ "all"
+ ]
+ },
+ {
+ "name": "[str]",
+ "element-type": "str",
+ "meta-type": "array"
+ },
+ {
+ "name": "355",
+ "members": [
+ {
+ "name": "half"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "half",
+ "full"
+ ]
+ },
+ {
+ "name": "356",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on"
+ ]
+ },
+ {
+ "name": "357",
+ "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": "358",
+ "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": "359",
+ "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": "360",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "passthrough",
+ "type": "564"
+ },
+ {
+ "case": "emulator",
+ "type": "565"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "117"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "361",
+ "members": [
+ {
+ "name": "vnc"
+ },
+ {
+ "name": "spice"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc",
+ "spice"
+ ]
+ },
+ {
+ "name": "362",
+ "members": [
+ {
+ "name": "keep"
+ },
+ {
+ "name": "fail"
+ },
+ {
+ "name": "disconnect"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "keep",
+ "fail",
+ "disconnect"
+ ]
+ },
+ {
+ "name": "363",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "364",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "365",
+ "members": [
+ {
+ "name": "ppm"
+ },
+ {
+ "name": "png"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ppm",
+ "png"
+ ]
+ },
+ {
+ "name": "366",
+ "members": [
+ {
+ "name": "client"
+ },
+ {
+ "name": "server"
+ },
+ {
+ "name": "unknown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[367]",
+ "element-type": "367",
+ "meta-type": "array"
+ },
+ {
+ "name": "367",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "connection-id",
+ "type": "int"
+ },
+ {
+ "name": "channel-type",
+ "type": "int"
+ },
+ {
+ "name": "channel-id",
+ "type": "int"
+ },
+ {
+ "name": "tls",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "368",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "369",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "370",
+ "members": [
+ {
+ "name": "ipv4"
+ },
+ {
+ "name": "ipv6"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "unknown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ipv4",
+ "ipv6",
+ "unix",
+ "vsock",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[371]",
+ "element-type": "371",
+ "meta-type": "array"
+ },
+ {
+ "name": "371",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "x509_dname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sasl_username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[372]",
+ "element-type": "372",
+ "meta-type": "array"
+ },
+ {
+ "name": "372",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "type": "373"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "374"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "373",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "vnc"
+ },
+ {
+ "name": "ra2"
+ },
+ {
+ "name": "ra2ne"
+ },
+ {
+ "name": "tight"
+ },
+ {
+ "name": "ultra"
+ },
+ {
+ "name": "tls"
+ },
+ {
+ "name": "vencrypt"
+ },
+ {
+ "name": "sasl"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "vnc",
+ "ra2",
+ "ra2ne",
+ "tight",
+ "ultra",
+ "tls",
+ "vencrypt",
+ "sasl"
+ ]
+ },
+ {
+ "name": "374",
+ "members": [
+ {
+ "name": "plain"
+ },
+ {
+ "name": "tls-none"
+ },
+ {
+ "name": "x509-none"
+ },
+ {
+ "name": "tls-vnc"
+ },
+ {
+ "name": "x509-vnc"
+ },
+ {
+ "name": "tls-plain"
+ },
+ {
+ "name": "x509-plain"
+ },
+ {
+ "name": "tls-sasl"
+ },
+ {
+ "name": "x509-sasl"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "tls-none",
+ "x509-none",
+ "tls-vnc",
+ "x509-vnc",
+ "tls-plain",
+ "x509-plain",
+ "tls-sasl",
+ "x509-sasl"
+ ]
+ },
+ {
+ "name": "375",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "376",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "370"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[377]",
+ "element-type": "377",
+ "meta-type": "array"
+ },
+ {
+ "name": "377",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "number",
+ "type": "567"
+ },
+ {
+ "case": "qcode",
+ "type": "568"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "566"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[378]",
+ "element-type": "378",
+ "meta-type": "array"
+ },
+ {
+ "name": "378",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "key",
+ "type": "570"
+ },
+ {
+ "case": "btn",
+ "type": "571"
+ },
+ {
+ "case": "rel",
+ "type": "572"
+ },
+ {
+ "case": "abs",
+ "type": "572"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "569"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "379",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "sdl"
+ },
+ {
+ "name": "egl-headless"
+ },
+ {
+ "name": "curses"
+ },
+ {
+ "name": "spice-app"
+ },
+ {
+ "name": "dbus"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "none",
+ "sdl",
+ "egl-headless",
+ "curses",
+ "spice-app",
+ "dbus"
+ ]
+ },
+ {
+ "name": "380",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "core"
+ },
+ {
+ "name": "es"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "core",
+ "es"
+ ]
+ },
+ {
+ "name": "381",
+ "members": [
+ {
+ "name": "grab-on-hover",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "zoom-to-fit",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "show-tabs",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "show-menubar",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "382",
+ "members": [
+ {
+ "name": "left-command-key",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "full-grab",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "swap-opt-cmd",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "383",
+ "members": [
+ {
+ "name": "charset",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "384",
+ "members": [
+ {
+ "name": "rendernode",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "385",
+ "members": [
+ {
+ "name": "rendernode",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "addr",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "p2p",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "audiodev",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "386",
+ "members": [
+ {
+ "name": "grab-mod",
+ "default": null,
+ "type": "573"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "387",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "388",
+ "members": [
+ {
+ "name": "tls-certs",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "389",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "390",
+ "members": [
+ {
+ "name": "addresses",
+ "default": null,
+ "type": "[396]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "391",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "setup"
+ },
+ {
+ "name": "cancelling"
+ },
+ {
+ "name": "cancelled"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "postcopy-active"
+ },
+ {
+ "name": "postcopy-paused"
+ },
+ {
+ "name": "postcopy-recover"
+ },
+ {
+ "name": "completed"
+ },
+ {
+ "name": "failed"
+ },
+ {
+ "name": "colo"
+ },
+ {
+ "name": "pre-switchover"
+ },
+ {
+ "name": "device"
+ },
+ {
+ "name": "wait-unplug"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "setup",
+ "cancelling",
+ "cancelled",
+ "active",
+ "postcopy-active",
+ "postcopy-paused",
+ "postcopy-recover",
+ "completed",
+ "failed",
+ "colo",
+ "pre-switchover",
+ "device",
+ "wait-unplug"
+ ]
+ },
+ {
+ "name": "392",
+ "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"
+ },
+ {
+ "name": "multifd-bytes",
+ "type": "int"
+ },
+ {
+ "name": "pages-per-second",
+ "type": "int"
+ },
+ {
+ "name": "precopy-bytes",
+ "type": "int"
+ },
+ {
+ "name": "downtime-bytes",
+ "type": "int"
+ },
+ {
+ "name": "postcopy-bytes",
+ "type": "int"
+ },
+ {
+ "name": "dirty-sync-missed-zero-copy",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "393",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "394",
+ "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": "encoding-rate",
+ "type": "number"
+ },
+ {
+ "name": "overflow",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "395",
+ "members": [
+ {
+ "name": "pages",
+ "type": "int"
+ },
+ {
+ "name": "busy",
+ "type": "int"
+ },
+ {
+ "name": "busy-rate",
+ "type": "number"
+ },
+ {
+ "name": "compressed-size",
+ "type": "int"
+ },
+ {
+ "name": "compression-rate",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[396]",
+ "element-type": "396",
+ "meta-type": "array"
+ },
+ {
+ "name": "396",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "525"
+ },
+ {
+ "case": "unix",
+ "type": "574"
+ },
+ {
+ "case": "vsock",
+ "type": "575"
+ },
+ {
+ "case": "fd",
+ "type": "563"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "543"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "397",
+ "members": [
+ {
+ "name": "xbzrle"
+ },
+ {
+ "name": "rdma-pin-all"
+ },
+ {
+ "name": "auto-converge"
+ },
+ {
+ "name": "zero-blocks"
+ },
+ {
+ "name": "compress"
+ },
+ {
+ "name": "events"
+ },
+ {
+ "name": "postcopy-ram"
+ },
+ {
+ "name": "x-colo",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "release-ram"
+ },
+ {
+ "name": "block"
+ },
+ {
+ "name": "return-path"
+ },
+ {
+ "name": "pause-before-switchover"
+ },
+ {
+ "name": "multifd"
+ },
+ {
+ "name": "dirty-bitmaps"
+ },
+ {
+ "name": "postcopy-blocktime"
+ },
+ {
+ "name": "late-block-activate"
+ },
+ {
+ "name": "x-ignore-shared",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "validate-uuid"
+ },
+ {
+ "name": "background-snapshot"
+ },
+ {
+ "name": "zero-copy-send"
+ },
+ {
+ "name": "postcopy-preempt"
+ }
+ ],
+ "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",
+ "multifd",
+ "dirty-bitmaps",
+ "postcopy-blocktime",
+ "late-block-activate",
+ "x-ignore-shared",
+ "validate-uuid",
+ "background-snapshot",
+ "zero-copy-send",
+ "postcopy-preempt"
+ ]
+ },
+ {
+ "name": "398",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "zlib"
+ },
+ {
+ "name": "zstd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "zlib",
+ "zstd"
+ ]
+ },
+ {
+ "name": "[399]",
+ "element-type": "399",
+ "meta-type": "array"
+ },
+ {
+ "name": "399",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[576]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "400",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "401",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "request"
+ },
+ {
+ "name": "error"
+ },
+ {
+ "name": "processing"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "request",
+ "error",
+ "processing"
+ ]
+ },
+ {
+ "name": "402",
+ "members": [
+ {
+ "name": "page-sampling"
+ },
+ {
+ "name": "dirty-ring"
+ },
+ {
+ "name": "dirty-bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "page-sampling",
+ "dirty-ring",
+ "dirty-bitmap"
+ ]
+ },
+ {
+ "name": "403",
+ "members": [
+ {
+ "name": "unstarted"
+ },
+ {
+ "name": "measuring"
+ },
+ {
+ "name": "measured"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unstarted",
+ "measuring",
+ "measured"
+ ]
+ },
+ {
+ "name": "[404]",
+ "element-type": "404",
+ "meta-type": "array"
+ },
+ {
+ "name": "404",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[405]",
+ "element-type": "405",
+ "meta-type": "array"
+ },
+ {
+ "name": "405",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "abort",
+ "type": "578"
+ },
+ {
+ "case": "block-dirty-bitmap-add",
+ "type": "579"
+ },
+ {
+ "case": "block-dirty-bitmap-remove",
+ "type": "580"
+ },
+ {
+ "case": "block-dirty-bitmap-clear",
+ "type": "580"
+ },
+ {
+ "case": "block-dirty-bitmap-enable",
+ "type": "580"
+ },
+ {
+ "case": "block-dirty-bitmap-disable",
+ "type": "580"
+ },
+ {
+ "case": "block-dirty-bitmap-merge",
+ "type": "581"
+ },
+ {
+ "case": "blockdev-backup",
+ "type": "582"
+ },
+ {
+ "case": "blockdev-snapshot",
+ "type": "583"
+ },
+ {
+ "case": "blockdev-snapshot-internal-sync",
+ "type": "584"
+ },
+ {
+ "case": "blockdev-snapshot-sync",
+ "type": "585"
+ },
+ {
+ "case": "drive-backup",
+ "type": "586"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "577"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "406",
+ "members": [
+ {
+ "name": "completion-mode",
+ "default": null,
+ "type": "587"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "407",
+ "members": [
+ {
+ "name": "unavailable"
+ },
+ {
+ "name": "disabled"
+ },
+ {
+ "name": "enabled"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unavailable",
+ "disabled",
+ "enabled"
+ ]
+ },
+ {
+ "name": "[408]",
+ "element-type": "408",
+ "meta-type": "array"
+ },
+ {
+ "name": "408",
+ "members": [
+ {
+ "name": "oob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "oob"
+ ]
+ },
+ {
+ "name": "409",
+ "members": [
+ {
+ "name": "major",
+ "type": "int"
+ },
+ {
+ "name": "minor",
+ "type": "int"
+ },
+ {
+ "name": "micro",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "410",
+ "members": [
+ {
+ "name": "builtin"
+ },
+ {
+ "name": "enum"
+ },
+ {
+ "name": "array"
+ },
+ {
+ "name": "object"
+ },
+ {
+ "name": "alternate"
+ },
+ {
+ "name": "command"
+ },
+ {
+ "name": "event"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "builtin",
+ "enum",
+ "array",
+ "object",
+ "alternate",
+ "command",
+ "event"
+ ]
+ },
+ {
+ "name": "411",
+ "members": [
+ {
+ "name": "json-type",
+ "type": "588"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "412",
+ "members": [
+ {
+ "name": "members",
+ "type": "[589]"
+ },
+ {
+ "name": "values",
+ "type": "[str]",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "413",
+ "members": [
+ {
+ "name": "element-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "414",
+ "members": [
+ {
+ "name": "members",
+ "type": "[590]"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "variants",
+ "default": null,
+ "type": "[591]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "415",
+ "members": [
+ {
+ "name": "members",
+ "type": "[592]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "416",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ },
+ {
+ "name": "ret-type",
+ "type": "str"
+ },
+ {
+ "name": "allow-oob",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "417",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "418",
+ "members": [
+ {
+ "name": "authz-list"
+ },
+ {
+ "name": "authz-listfile"
+ },
+ {
+ "name": "authz-pam"
+ },
+ {
+ "name": "authz-simple"
+ },
+ {
+ "name": "can-bus"
+ },
+ {
+ "name": "can-host-socketcan"
+ },
+ {
+ "name": "colo-compare"
+ },
+ {
+ "name": "cryptodev-backend"
+ },
+ {
+ "name": "cryptodev-backend-builtin"
+ },
+ {
+ "name": "cryptodev-vhost-user"
+ },
+ {
+ "name": "dbus-vmstate"
+ },
+ {
+ "name": "filter-buffer"
+ },
+ {
+ "name": "filter-dump"
+ },
+ {
+ "name": "filter-mirror"
+ },
+ {
+ "name": "filter-redirector"
+ },
+ {
+ "name": "filter-replay"
+ },
+ {
+ "name": "filter-rewriter"
+ },
+ {
+ "name": "input-barrier"
+ },
+ {
+ "name": "input-linux"
+ },
+ {
+ "name": "iothread"
+ },
+ {
+ "name": "main-loop"
+ },
+ {
+ "name": "memory-backend-epc"
+ },
+ {
+ "name": "memory-backend-file"
+ },
+ {
+ "name": "memory-backend-memfd"
+ },
+ {
+ "name": "memory-backend-ram"
+ },
+ {
+ "name": "pef-guest"
+ },
+ {
+ "name": "pr-manager-helper"
+ },
+ {
+ "name": "qtest"
+ },
+ {
+ "name": "rng-builtin"
+ },
+ {
+ "name": "rng-egd"
+ },
+ {
+ "name": "rng-random"
+ },
+ {
+ "name": "secret"
+ },
+ {
+ "name": "secret_keyring"
+ },
+ {
+ "name": "sev-guest"
+ },
+ {
+ "name": "s390-pv-guest"
+ },
+ {
+ "name": "throttle-group"
+ },
+ {
+ "name": "tls-creds-anon"
+ },
+ {
+ "name": "tls-creds-psk"
+ },
+ {
+ "name": "tls-creds-x509"
+ },
+ {
+ "name": "tls-cipher-suites"
+ },
+ {
+ "name": "x-remote-object",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-vfio-user-server",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "authz-list",
+ "authz-listfile",
+ "authz-pam",
+ "authz-simple",
+ "can-bus",
+ "can-host-socketcan",
+ "colo-compare",
+ "cryptodev-backend",
+ "cryptodev-backend-builtin",
+ "cryptodev-vhost-user",
+ "dbus-vmstate",
+ "filter-buffer",
+ "filter-dump",
+ "filter-mirror",
+ "filter-redirector",
+ "filter-replay",
+ "filter-rewriter",
+ "input-barrier",
+ "input-linux",
+ "iothread",
+ "main-loop",
+ "memory-backend-epc",
+ "memory-backend-file",
+ "memory-backend-memfd",
+ "memory-backend-ram",
+ "pef-guest",
+ "pr-manager-helper",
+ "qtest",
+ "rng-builtin",
+ "rng-egd",
+ "rng-random",
+ "secret",
+ "secret_keyring",
+ "sev-guest",
+ "s390-pv-guest",
+ "throttle-group",
+ "tls-creds-anon",
+ "tls-creds-psk",
+ "tls-creds-x509",
+ "tls-cipher-suites",
+ "x-remote-object",
+ "x-vfio-user-server"
+ ]
+ },
+ {
+ "name": "419",
+ "members": [
+ {
+ "name": "policy",
+ "default": null,
+ "type": "593"
+ },
+ {
+ "name": "rules",
+ "default": null,
+ "type": "[594]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "420",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "refresh",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "421",
+ "members": [
+ {
+ "name": "service",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "422",
+ "members": [
+ {
+ "name": "identity",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "423",
+ "members": [
+ {
+ "name": "if",
+ "type": "str"
+ },
+ {
+ "name": "canbus",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "424",
+ "members": [
+ {
+ "name": "primary_in",
+ "type": "str"
+ },
+ {
+ "name": "secondary_in",
+ "type": "str"
+ },
+ {
+ "name": "outdev",
+ "type": "str"
+ },
+ {
+ "name": "iothread",
+ "type": "str"
+ },
+ {
+ "name": "notify_dev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "compare_timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "expired_scan_cycle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max_queue_size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "425",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "426",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "427",
+ "members": [
+ {
+ "name": "addr",
+ "type": "str"
+ },
+ {
+ "name": "id-list",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "428",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ },
+ {
+ "name": "interval",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "429",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ },
+ {
+ "name": "file",
+ "type": "str"
+ },
+ {
+ "name": "maxlen",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "430",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ },
+ {
+ "name": "outdev",
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "431",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ },
+ {
+ "name": "indev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "outdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "432",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "433",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "596"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "434",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-origin",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "y-origin",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "width",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "height",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "435",
+ "members": [
+ {
+ "name": "evdev",
+ "type": "str"
+ },
+ {
+ "name": "grab_all",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "repeat",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "grab-toggle",
+ "default": null,
+ "type": "597"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "436",
+ "members": [
+ {
+ "name": "aio-max-batch",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-pool-min",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-pool-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "poll-max-ns",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "poll-grow",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "poll-shrink",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "437",
+ "members": [
+ {
+ "name": "aio-max-batch",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-pool-min",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-pool-max",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "438",
+ "members": [
+ {
+ "name": "dump",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "merge",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "460"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "439",
+ "members": [
+ {
+ "name": "dump",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "merge",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "460"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "discard-data",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mem-path",
+ "type": "str"
+ },
+ {
+ "name": "pmem",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "readonly",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "440",
+ "members": [
+ {
+ "name": "dump",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "merge",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "460"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "hugetlb",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "hugetlbsize",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "seal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "441",
+ "members": [
+ {
+ "name": "dump",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "merge",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "460"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "442",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "443",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "444",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "445",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "446",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "447",
+ "members": [
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "598"
+ },
+ {
+ "name": "keyid",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "iv",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "data",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "file",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "448",
+ "members": [
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "598"
+ },
+ {
+ "name": "keyid",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "iv",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "serial",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "449",
+ "members": [
+ {
+ "name": "sev-device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dh-cert-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "session-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "handle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cbitpos",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ },
+ {
+ "name": "kernel-hashes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "450",
+ "members": [
+ {
+ "name": "limits",
+ "default": null,
+ "type": "599"
+ },
+ {
+ "name": "x-iops-total",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-total-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-total-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-read",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-read-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-read-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-write",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-write-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-write-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-total",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-total-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-total-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-read",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-read-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-read-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-write",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-write-max",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-bps-write-max-length",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-iops-size",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "451",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "452",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "453",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "sanity-check",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "passwordid",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "454",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "455",
+ "members": [
+ {
+ "name": "fd",
+ "type": "str"
+ },
+ {
+ "name": "devid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "456",
+ "members": [
+ {
+ "name": "socket",
+ "type": "396"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "457",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "socket-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "die-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cluster-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "458",
+ "members": [
+ {
+ "name": "aarch64"
+ },
+ {
+ "name": "alpha"
+ },
+ {
+ "name": "arm"
+ },
+ {
+ "name": "avr"
+ },
+ {
+ "name": "cris"
+ },
+ {
+ "name": "hppa"
+ },
+ {
+ "name": "i386"
+ },
+ {
+ "name": "loongarch64"
+ },
+ {
+ "name": "m68k"
+ },
+ {
+ "name": "microblaze"
+ },
+ {
+ "name": "microblazeel"
+ },
+ {
+ "name": "mips"
+ },
+ {
+ "name": "mips64"
+ },
+ {
+ "name": "mips64el"
+ },
+ {
+ "name": "mipsel"
+ },
+ {
+ "name": "nios2"
+ },
+ {
+ "name": "or1k"
+ },
+ {
+ "name": "ppc"
+ },
+ {
+ "name": "ppc64"
+ },
+ {
+ "name": "riscv32"
+ },
+ {
+ "name": "riscv64"
+ },
+ {
+ "name": "rx"
+ },
+ {
+ "name": "s390x"
+ },
+ {
+ "name": "sh4"
+ },
+ {
+ "name": "sh4eb"
+ },
+ {
+ "name": "sparc"
+ },
+ {
+ "name": "sparc64"
+ },
+ {
+ "name": "tricore"
+ },
+ {
+ "name": "x86_64"
+ },
+ {
+ "name": "xtensa"
+ },
+ {
+ "name": "xtensaeb"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aarch64",
+ "alpha",
+ "arm",
+ "avr",
+ "cris",
+ "hppa",
+ "i386",
+ "loongarch64",
+ "m68k",
+ "microblaze",
+ "microblazeel",
+ "mips",
+ "mips64",
+ "mips64el",
+ "mipsel",
+ "nios2",
+ "or1k",
+ "ppc",
+ "ppc64",
+ "riscv32",
+ "riscv64",
+ "rx",
+ "s390x",
+ "sh4",
+ "sh4eb",
+ "sparc",
+ "sparc64",
+ "tricore",
+ "x86_64",
+ "xtensa",
+ "xtensaeb"
+ ]
+ },
+ {
+ "name": "459",
+ "members": [
+ {
+ "name": "cpu-state",
+ "type": "601"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "460",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "preferred"
+ },
+ {
+ "name": "bind"
+ },
+ {
+ "name": "interleave"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "preferred",
+ "bind",
+ "interleave"
+ ]
+ },
+ {
+ "name": "461",
+ "members": [
+ {
+ "name": "node"
+ },
+ {
+ "name": "dist"
+ },
+ {
+ "name": "cpu"
+ },
+ {
+ "name": "hmat-lb"
+ },
+ {
+ "name": "hmat-cache"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "node",
+ "dist",
+ "cpu",
+ "hmat-lb",
+ "hmat-cache"
+ ]
+ },
+ {
+ "name": "462",
+ "members": [
+ {
+ "name": "nodeid",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpus",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "mem",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "initiator",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "463",
+ "members": [
+ {
+ "name": "src",
+ "type": "int"
+ },
+ {
+ "name": "dst",
+ "type": "int"
+ },
+ {
+ "name": "val",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "464",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "socket-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "die-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cluster-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "465",
+ "members": [
+ {
+ "name": "initiator",
+ "type": "int"
+ },
+ {
+ "name": "target",
+ "type": "int"
+ },
+ {
+ "name": "hierarchy",
+ "type": "602"
+ },
+ {
+ "name": "data-type",
+ "type": "603"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bandwidth",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "466",
+ "members": [
+ {
+ "name": "node-id",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "level",
+ "type": "int"
+ },
+ {
+ "name": "associativity",
+ "type": "604"
+ },
+ {
+ "name": "policy",
+ "type": "605"
+ },
+ {
+ "name": "line",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "467",
+ "members": [
+ {
+ "name": "dimm"
+ },
+ {
+ "name": "nvdimm"
+ },
+ {
+ "name": "virtio-pmem"
+ },
+ {
+ "name": "virtio-mem"
+ },
+ {
+ "name": "sgx-epc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dimm",
+ "nvdimm",
+ "virtio-pmem",
+ "virtio-mem",
+ "sgx-epc"
+ ]
+ },
+ {
+ "name": "468",
+ "members": [
+ {
+ "name": "data",
+ "type": "606"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "469",
+ "members": [
+ {
+ "name": "data",
+ "type": "607"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "470",
+ "members": [
+ {
+ "name": "data",
+ "type": "608"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "471",
+ "members": [
+ {
+ "name": "data",
+ "type": "609"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "472",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "473",
+ "members": [
+ {
+ "name": "incompatible"
+ },
+ {
+ "name": "identical"
+ },
+ {
+ "name": "superset"
+ },
+ {
+ "name": "subset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "incompatible",
+ "identical",
+ "superset",
+ "subset"
+ ]
+ },
+ {
+ "name": "474",
+ "members": [
+ {
+ "name": "static"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "static",
+ "full"
+ ]
+ },
+ {
+ "name": "475",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "record"
+ },
+ {
+ "name": "play"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "record",
+ "play"
+ ]
+ },
+ {
+ "name": "476",
+ "members": [
+ {
+ "name": "block-node"
+ },
+ {
+ "name": "chardev"
+ },
+ {
+ "name": "migration"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-node",
+ "chardev",
+ "migration"
+ ]
+ },
+ {
+ "name": "477",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "478",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[479]",
+ "element-type": "479",
+ "meta-type": "array"
+ },
+ {
+ "name": "479",
+ "members": [
+ {
+ "name": "fd",
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[480]",
+ "element-type": "480",
+ "meta-type": "array"
+ },
+ {
+ "name": "480",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "610"
+ },
+ {
+ "name": "help",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "481",
+ "members": [
+ {
+ "name": "uninit"
+ },
+ {
+ "name": "launch-update"
+ },
+ {
+ "name": "launch-secret"
+ },
+ {
+ "name": "running"
+ },
+ {
+ "name": "send-update"
+ },
+ {
+ "name": "receive-update"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "uninit",
+ "launch-update",
+ "launch-secret",
+ "running",
+ "send-update",
+ "receive-update"
+ ]
+ },
+ {
+ "name": "[482]",
+ "element-type": "482",
+ "meta-type": "array"
+ },
+ {
+ "name": "482",
+ "members": [
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "483",
+ "members": [
+ {
+ "name": "DIMM"
+ },
+ {
+ "name": "CPU"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "DIMM",
+ "CPU"
+ ]
+ },
+ {
+ "name": "[484]",
+ "element-type": "484",
+ "meta-type": "array"
+ },
+ {
+ "name": "484",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "function",
+ "type": "int"
+ },
+ {
+ "name": "class_info",
+ "type": "611"
+ },
+ {
+ "name": "id",
+ "type": "612"
+ },
+ {
+ "name": "irq",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "irq_pin",
+ "type": "int"
+ },
+ {
+ "name": "qdev_id",
+ "type": "str"
+ },
+ {
+ "name": "pci_bridge",
+ "default": null,
+ "type": "613"
+ },
+ {
+ "name": "regions",
+ "type": "[614]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "485",
+ "members": [
+ {
+ "name": "vm"
+ },
+ {
+ "name": "vcpu"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vm",
+ "vcpu"
+ ]
+ },
+ {
+ "name": "[486]",
+ "element-type": "486",
+ "meta-type": "array"
+ },
+ {
+ "name": "486",
+ "members": [
+ {
+ "name": "provider",
+ "type": "488"
+ },
+ {
+ "name": "names",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "487",
+ "members": [
+ {
+ "name": "vcpus",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "488",
+ "members": [
+ {
+ "name": "kvm"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "kvm"
+ ]
+ },
+ {
+ "name": "[489]",
+ "element-type": "489",
+ "meta-type": "array"
+ },
+ {
+ "name": "489",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "615"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[490]",
+ "element-type": "490",
+ "meta-type": "array"
+ },
+ {
+ "name": "490",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "616"
+ },
+ {
+ "name": "unit",
+ "default": null,
+ "type": "617"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "exponent",
+ "type": "int"
+ },
+ {
+ "name": "bucket-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "491",
+ "members": [
+ {
+ "name": "transports",
+ "type": "[str]"
+ },
+ {
+ "name": "dev-features",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-dev-features",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "492",
+ "members": [
+ {
+ "name": "statuses",
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-statuses",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "493",
+ "members": [
+ {
+ "name": "n-mem-sections",
+ "type": "int"
+ },
+ {
+ "name": "n-tmp-sections",
+ "type": "int"
+ },
+ {
+ "name": "nvqs",
+ "type": "int"
+ },
+ {
+ "name": "vq-index",
+ "type": "int"
+ },
+ {
+ "name": "features",
+ "type": "491"
+ },
+ {
+ "name": "acked-features",
+ "type": "491"
+ },
+ {
+ "name": "backend-features",
+ "type": "491"
+ },
+ {
+ "name": "protocol-features",
+ "type": "618"
+ },
+ {
+ "name": "max-queues",
+ "type": "int"
+ },
+ {
+ "name": "backend-cap",
+ "type": "int"
+ },
+ {
+ "name": "log-enabled",
+ "type": "bool"
+ },
+ {
+ "name": "log-size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[494]",
+ "element-type": "494",
+ "meta-type": "array"
+ },
+ {
+ "name": "494",
+ "members": [
+ {
+ "name": "addr",
+ "type": "int"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "flags",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "495",
+ "members": [
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "idx",
+ "type": "int"
+ },
+ {
+ "name": "ring",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "496",
+ "members": [
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "idx",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "497",
+ "members": [
+ {
+ "name": "hyper-v"
+ },
+ {
+ "name": "s390"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hyper-v",
+ "s390"
+ ]
+ },
+ {
+ "name": "498",
+ "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": "499",
+ "members": [
+ {
+ "name": "core",
+ "type": "int"
+ },
+ {
+ "name": "psw-mask",
+ "type": "int"
+ },
+ {
+ "name": "psw-addr",
+ "type": "int"
+ },
+ {
+ "name": "reason",
+ "type": "619"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[500]",
+ "element-type": "500",
+ "meta-type": "array"
+ },
+ {
+ "name": "500",
+ "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": "501",
+ "members": [
+ {
+ "name": "boundaries",
+ "type": "[int]"
+ },
+ {
+ "name": "bins",
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "502",
+ "members": [
+ {
+ "name": "discard-nb-ok",
+ "type": "int"
+ },
+ {
+ "name": "discard-nb-failed",
+ "type": "int"
+ },
+ {
+ "name": "discard-bytes-ok",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "503",
+ "members": [
+ {
+ "name": "completion-errors",
+ "type": "int"
+ },
+ {
+ "name": "aligned-accesses",
+ "type": "int"
+ },
+ {
+ "name": "unaligned-accesses",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[69]",
+ "element-type": "69",
+ "meta-type": "array"
+ },
+ {
+ "name": "504",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "qcow2",
+ "type": "621"
+ },
+ {
+ "case": "vmdk",
+ "type": "622"
+ },
+ {
+ "case": "luks",
+ "type": "623"
+ },
+ {
+ "case": "rbd",
+ "type": "624"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "620"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "505",
+ "members": [
+ {
+ "name": "block-backend"
+ },
+ {
+ "name": "block-job"
+ },
+ {
+ "name": "block-driver"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-backend",
+ "block-job",
+ "block-driver"
+ ]
+ },
+ {
+ "name": "[506]",
+ "element-type": "506",
+ "meta-type": "array"
+ },
+ {
+ "name": "506",
+ "members": [
+ {
+ "name": "consistent-read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "write-unchanged"
+ },
+ {
+ "name": "resize"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "consistent-read",
+ "write",
+ "write-unchanged",
+ "resize"
+ ]
+ },
+ {
+ "name": "507",
+ "members": [
+ {
+ "type": "49"
+ },
+ {
+ "type": "str"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "[508]",
+ "element-type": "508",
+ "meta-type": "array"
+ },
+ {
+ "name": "508",
+ "members": [
+ {
+ "name": "event",
+ "type": "625"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iotype",
+ "default": null,
+ "type": "626"
+ },
+ {
+ "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": "[509]",
+ "element-type": "509",
+ "meta-type": "array"
+ },
+ {
+ "name": "509",
+ "members": [
+ {
+ "name": "event",
+ "type": "625"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "new_state",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "510",
+ "members": [
+ {
+ "name": "break-guest-write"
+ },
+ {
+ "name": "break-snapshot"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "break-guest-write",
+ "break-snapshot"
+ ]
+ },
+ {
+ "name": "511",
+ "members": [
+ {
+ "name": "auto"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "off"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "auto",
+ "on",
+ "off"
+ ]
+ },
+ {
+ "name": "512",
+ "members": [
+ {
+ "name": "threads"
+ },
+ {
+ "name": "native"
+ },
+ {
+ "name": "io_uring"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "threads",
+ "native",
+ "io_uring"
+ ]
+ },
+ {
+ "name": "513",
+ "members": [
+ {
+ "name": "tcp"
+ },
+ {
+ "name": "iser"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tcp",
+ "iser"
+ ]
+ },
+ {
+ "name": "514",
+ "members": [
+ {
+ "name": "crc32c"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "crc32c-none"
+ },
+ {
+ "name": "none-crc32c"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "crc32c",
+ "none",
+ "crc32c-none",
+ "none-crc32c"
+ ]
+ },
+ {
+ "name": "515",
+ "members": [
+ {
+ "name": "type",
+ "type": "627"
+ },
+ {
+ "name": "host",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "516",
+ "members": [
+ {
+ "type": "49"
+ },
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "517",
+ "members": [
+ {
+ "type": "628"
+ },
+ {
+ "type": "629"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "518",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "631"
+ },
+ {
+ "case": "luks",
+ "type": "632"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "630"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "519",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "631"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "633"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[507]",
+ "element-type": "507",
+ "meta-type": "array"
+ },
+ {
+ "name": "520",
+ "members": [
+ {
+ "name": "quorum"
+ },
+ {
+ "name": "fifo"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "quorum",
+ "fifo"
+ ]
+ },
+ {
+ "name": "521",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "635"
+ },
+ {
+ "case": "luks2",
+ "type": "636"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "634"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[522]",
+ "element-type": "522",
+ "meta-type": "array"
+ },
+ {
+ "name": "522",
+ "members": [
+ {
+ "name": "cephx"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cephx",
+ "none"
+ ]
+ },
+ {
+ "name": "[523]",
+ "element-type": "523",
+ "meta-type": "array"
+ },
+ {
+ "name": "523",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "524",
+ "members": [
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "525",
+ "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"
+ },
+ {
+ "name": "keep-alive",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mptcp",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "526",
+ "tag": "mode",
+ "variants": [
+ {
+ "case": "hash",
+ "type": "638"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ },
+ {
+ "case": "known_hosts",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "mode",
+ "type": "637"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "527",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "639"
+ },
+ {
+ "name": "nocow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extent-size-hint",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "528",
+ "members": [
+ {
+ "name": "location",
+ "type": "301"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "639"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "529",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "640"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "641"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "642"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "643"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "643"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "639"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "530",
+ "members": [
+ {
+ "name": "location",
+ "type": "307"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "531",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "532",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "644"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "533",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "507"
+ },
+ {
+ "name": "data-file-raw",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extended-l2",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "version",
+ "default": null,
+ "type": "645"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "288"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "644"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "639"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-bits",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compression-type",
+ "default": null,
+ "type": "646"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "534",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "288"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "table-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "535",
+ "members": [
+ {
+ "name": "location",
+ "type": "316"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "647"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "536",
+ "members": [
+ {
+ "name": "location",
+ "type": "318"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "537",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "639"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "538",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "log-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "648"
+ },
+ {
+ "name": "block-state-zero",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "539",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "default": null,
+ "type": "[507]"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "649"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "adapter-type",
+ "default": null,
+ "type": "650"
+ },
+ {
+ "name": "hwversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "toolsversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "zeroed-grain",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "540",
+ "members": [
+ {
+ "name": "file",
+ "type": "507"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "651"
+ },
+ {
+ "name": "force-size",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "541",
+ "members": [
+ {
+ "name": "state",
+ "type": "652"
+ },
+ {
+ "name": "new-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "old-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "keyslot",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "542",
+ "members": [
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "653"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "null",
+ "json-type": "null",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "543",
+ "members": [
+ {
+ "name": "inet"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "fd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet",
+ "unix",
+ "vsock",
+ "fd"
+ ]
+ },
+ {
+ "name": "544",
+ "members": [
+ {
+ "name": "data",
+ "type": "525"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "545",
+ "members": [
+ {
+ "name": "data",
+ "type": "574"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "546",
+ "members": [
+ {
+ "name": "data",
+ "type": "575"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "547",
+ "members": [
+ {
+ "name": "data",
+ "type": "563"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "548",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "auto"
+ ]
+ },
+ {
+ "name": "549",
+ "members": [
+ {
+ "name": "file"
+ },
+ {
+ "name": "serial"
+ },
+ {
+ "name": "parallel"
+ },
+ {
+ "name": "pipe"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "udp"
+ },
+ {
+ "name": "pty"
+ },
+ {
+ "name": "null"
+ },
+ {
+ "name": "mux"
+ },
+ {
+ "name": "msmouse"
+ },
+ {
+ "name": "wctablet"
+ },
+ {
+ "name": "braille"
+ },
+ {
+ "name": "testdev"
+ },
+ {
+ "name": "stdio"
+ },
+ {
+ "name": "console"
+ },
+ {
+ "name": "spicevmc"
+ },
+ {
+ "name": "spiceport"
+ },
+ {
+ "name": "qemu-vdagent"
+ },
+ {
+ "name": "dbus"
+ },
+ {
+ "name": "vc"
+ },
+ {
+ "name": "ringbuf"
+ },
+ {
+ "name": "memory"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "file",
+ "serial",
+ "parallel",
+ "pipe",
+ "socket",
+ "udp",
+ "pty",
+ "null",
+ "mux",
+ "msmouse",
+ "wctablet",
+ "braille",
+ "testdev",
+ "stdio",
+ "console",
+ "spicevmc",
+ "spiceport",
+ "qemu-vdagent",
+ "dbus",
+ "vc",
+ "ringbuf",
+ "memory"
+ ]
+ },
+ {
+ "name": "550",
+ "members": [
+ {
+ "name": "data",
+ "type": "654"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "551",
+ "members": [
+ {
+ "name": "data",
+ "type": "655"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "552",
+ "members": [
+ {
+ "name": "data",
+ "type": "656"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "553",
+ "members": [
+ {
+ "name": "data",
+ "type": "657"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "554",
+ "members": [
+ {
+ "name": "data",
+ "type": "658"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "555",
+ "members": [
+ {
+ "name": "data",
+ "type": "659"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "556",
+ "members": [
+ {
+ "name": "data",
+ "type": "660"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "557",
+ "members": [
+ {
+ "name": "data",
+ "type": "661"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "558",
+ "members": [
+ {
+ "name": "data",
+ "type": "662"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "559",
+ "members": [
+ {
+ "name": "data",
+ "type": "663"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "560",
+ "members": [
+ {
+ "name": "data",
+ "type": "664"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "561",
+ "members": [
+ {
+ "name": "data",
+ "type": "665"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "562",
+ "members": [
+ {
+ "name": "data",
+ "type": "666"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[563]",
+ "element-type": "563",
+ "meta-type": "array"
+ },
+ {
+ "name": "563",
+ "members": [
+ {
+ "name": "str",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "564",
+ "members": [
+ {
+ "name": "data",
+ "type": "667"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "565",
+ "members": [
+ {
+ "name": "data",
+ "type": "668"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "566",
+ "members": [
+ {
+ "name": "number"
+ },
+ {
+ "name": "qcode"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "number",
+ "qcode"
+ ]
+ },
+ {
+ "name": "567",
+ "members": [
+ {
+ "name": "data",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "568",
+ "members": [
+ {
+ "name": "data",
+ "type": "669"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "569",
+ "members": [
+ {
+ "name": "key"
+ },
+ {
+ "name": "btn"
+ },
+ {
+ "name": "rel"
+ },
+ {
+ "name": "abs"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "key",
+ "btn",
+ "rel",
+ "abs"
+ ]
+ },
+ {
+ "name": "570",
+ "members": [
+ {
+ "name": "data",
+ "type": "670"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "571",
+ "members": [
+ {
+ "name": "data",
+ "type": "671"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "572",
+ "members": [
+ {
+ "name": "data",
+ "type": "672"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "573",
+ "members": [
+ {
+ "name": "lctrl-lalt"
+ },
+ {
+ "name": "lshift-lctrl-lalt"
+ },
+ {
+ "name": "rctrl"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "lctrl-lalt",
+ "lshift-lctrl-lalt",
+ "rctrl"
+ ]
+ },
+ {
+ "name": "number",
+ "json-type": "number",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "574",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tight",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "575",
+ "members": [
+ {
+ "name": "cid",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[576]",
+ "element-type": "576",
+ "meta-type": "array"
+ },
+ {
+ "name": "576",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "transform",
+ "default": null,
+ "type": "673"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "577",
+ "members": [
+ {
+ "name": "abort"
+ },
+ {
+ "name": "block-dirty-bitmap-add"
+ },
+ {
+ "name": "block-dirty-bitmap-remove"
+ },
+ {
+ "name": "block-dirty-bitmap-clear"
+ },
+ {
+ "name": "block-dirty-bitmap-enable"
+ },
+ {
+ "name": "block-dirty-bitmap-disable"
+ },
+ {
+ "name": "block-dirty-bitmap-merge"
+ },
+ {
+ "name": "blockdev-backup"
+ },
+ {
+ "name": "blockdev-snapshot"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync"
+ },
+ {
+ "name": "blockdev-snapshot-sync"
+ },
+ {
+ "name": "drive-backup",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "abort",
+ "block-dirty-bitmap-add",
+ "block-dirty-bitmap-remove",
+ "block-dirty-bitmap-clear",
+ "block-dirty-bitmap-enable",
+ "block-dirty-bitmap-disable",
+ "block-dirty-bitmap-merge",
+ "blockdev-backup",
+ "blockdev-snapshot",
+ "blockdev-snapshot-internal-sync",
+ "blockdev-snapshot-sync",
+ "drive-backup"
+ ]
+ },
+ {
+ "name": "578",
+ "members": [
+ {
+ "name": "data",
+ "type": "674"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "579",
+ "members": [
+ {
+ "name": "data",
+ "type": "36"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "580",
+ "members": [
+ {
+ "name": "data",
+ "type": "37"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "581",
+ "members": [
+ {
+ "name": "data",
+ "type": "38"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "582",
+ "members": [
+ {
+ "name": "data",
+ "type": "31"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "583",
+ "members": [
+ {
+ "name": "data",
+ "type": "27"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "584",
+ "members": [
+ {
+ "name": "data",
+ "type": "67"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "585",
+ "members": [
+ {
+ "name": "data",
+ "type": "26"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "586",
+ "members": [
+ {
+ "name": "data",
+ "type": "30"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "587",
+ "members": [
+ {
+ "name": "individual"
+ },
+ {
+ "name": "grouped"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "individual",
+ "grouped"
+ ]
+ },
+ {
+ "name": "588",
+ "members": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "int"
+ },
+ {
+ "name": "boolean"
+ },
+ {
+ "name": "null"
+ },
+ {
+ "name": "object"
+ },
+ {
+ "name": "array"
+ },
+ {
+ "name": "value"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "number",
+ "int",
+ "boolean",
+ "null",
+ "object",
+ "array",
+ "value"
+ ]
+ },
+ {
+ "name": "[589]",
+ "element-type": "589",
+ "meta-type": "array"
+ },
+ {
+ "name": "589",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[590]",
+ "element-type": "590",
+ "meta-type": "array"
+ },
+ {
+ "name": "590",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "any"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[591]",
+ "element-type": "591",
+ "meta-type": "array"
+ },
+ {
+ "name": "591",
+ "members": [
+ {
+ "name": "case",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[592]",
+ "element-type": "592",
+ "meta-type": "array"
+ },
+ {
+ "name": "592",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "593",
+ "members": [
+ {
+ "name": "deny"
+ },
+ {
+ "name": "allow"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "deny",
+ "allow"
+ ]
+ },
+ {
+ "name": "[594]",
+ "element-type": "594",
+ "meta-type": "array"
+ },
+ {
+ "name": "594",
+ "members": [
+ {
+ "name": "match",
+ "type": "str"
+ },
+ {
+ "name": "policy",
+ "type": "593"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "675"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "595",
+ "members": [
+ {
+ "name": "all"
+ },
+ {
+ "name": "rx"
+ },
+ {
+ "name": "tx"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "all",
+ "rx",
+ "tx"
+ ]
+ },
+ {
+ "name": "596",
+ "members": [
+ {
+ "name": "before"
+ },
+ {
+ "name": "behind"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "before",
+ "behind"
+ ]
+ },
+ {
+ "name": "597",
+ "members": [
+ {
+ "name": "ctrl-ctrl"
+ },
+ {
+ "name": "alt-alt"
+ },
+ {
+ "name": "shift-shift"
+ },
+ {
+ "name": "meta-meta"
+ },
+ {
+ "name": "scrolllock"
+ },
+ {
+ "name": "ctrl-scrolllock"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ctrl-ctrl",
+ "alt-alt",
+ "shift-shift",
+ "meta-meta",
+ "scrolllock",
+ "ctrl-scrolllock"
+ ]
+ },
+ {
+ "name": "598",
+ "members": [
+ {
+ "name": "raw"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "raw",
+ "base64"
+ ]
+ },
+ {
+ "name": "599",
+ "members": [
+ {
+ "name": "iops-total",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-total-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-total-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-read",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-read-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-read-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-write",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-write-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-write-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-total",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-total-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-total-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-read",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-read-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-read-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-write",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-write-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps-write-max-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "600",
+ "members": [
+ {
+ "name": "client"
+ },
+ {
+ "name": "server"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server"
+ ]
+ },
+ {
+ "name": "601",
+ "members": [
+ {
+ "name": "uninitialized"
+ },
+ {
+ "name": "stopped"
+ },
+ {
+ "name": "check-stop"
+ },
+ {
+ "name": "operating"
+ },
+ {
+ "name": "load"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "uninitialized",
+ "stopped",
+ "check-stop",
+ "operating",
+ "load"
+ ]
+ },
+ {
+ "name": "602",
+ "members": [
+ {
+ "name": "memory"
+ },
+ {
+ "name": "first-level"
+ },
+ {
+ "name": "second-level"
+ },
+ {
+ "name": "third-level"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "memory",
+ "first-level",
+ "second-level",
+ "third-level"
+ ]
+ },
+ {
+ "name": "603",
+ "members": [
+ {
+ "name": "access-latency"
+ },
+ {
+ "name": "read-latency"
+ },
+ {
+ "name": "write-latency"
+ },
+ {
+ "name": "access-bandwidth"
+ },
+ {
+ "name": "read-bandwidth"
+ },
+ {
+ "name": "write-bandwidth"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "access-latency",
+ "read-latency",
+ "write-latency",
+ "access-bandwidth",
+ "read-bandwidth",
+ "write-bandwidth"
+ ]
+ },
+ {
+ "name": "604",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "direct"
+ },
+ {
+ "name": "complex"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "direct",
+ "complex"
+ ]
+ },
+ {
+ "name": "605",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "write-back"
+ },
+ {
+ "name": "write-through"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "write-back",
+ "write-through"
+ ]
+ },
+ {
+ "name": "606",
+ "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": "607",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "608",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "type": "int"
+ },
+ {
+ "name": "requested-size",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "max-size",
+ "type": "int"
+ },
+ {
+ "name": "block-size",
+ "type": "int"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "609",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "610",
+ "members": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "boolean"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "size"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "boolean",
+ "number",
+ "size"
+ ]
+ },
+ {
+ "name": "611",
+ "members": [
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "class",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "612",
+ "members": [
+ {
+ "name": "device",
+ "type": "int"
+ },
+ {
+ "name": "vendor",
+ "type": "int"
+ },
+ {
+ "name": "subsystem",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "subsystem-vendor",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "613",
+ "members": [
+ {
+ "name": "bus",
+ "type": "676"
+ },
+ {
+ "name": "devices",
+ "default": null,
+ "type": "[484]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[614]",
+ "element-type": "614",
+ "meta-type": "array"
+ },
+ {
+ "name": "614",
+ "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": "615",
+ "members": [
+ {
+ "type": "int"
+ },
+ {
+ "type": "bool"
+ },
+ {
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "616",
+ "members": [
+ {
+ "name": "cumulative"
+ },
+ {
+ "name": "instant"
+ },
+ {
+ "name": "peak"
+ },
+ {
+ "name": "linear-histogram"
+ },
+ {
+ "name": "log2-histogram"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cumulative",
+ "instant",
+ "peak",
+ "linear-histogram",
+ "log2-histogram"
+ ]
+ },
+ {
+ "name": "617",
+ "members": [
+ {
+ "name": "bytes"
+ },
+ {
+ "name": "seconds"
+ },
+ {
+ "name": "cycles"
+ },
+ {
+ "name": "boolean"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "bytes",
+ "seconds",
+ "cycles",
+ "boolean"
+ ]
+ },
+ {
+ "name": "618",
+ "members": [
+ {
+ "name": "protocols",
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-protocols",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "619",
+ "members": [
+ {
+ "name": "unknown"
+ },
+ {
+ "name": "disabled-wait"
+ },
+ {
+ "name": "extint-loop"
+ },
+ {
+ "name": "pgmint-loop"
+ },
+ {
+ "name": "opint-loop"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unknown",
+ "disabled-wait",
+ "extint-loop",
+ "pgmint-loop",
+ "opint-loop"
+ ]
+ },
+ {
+ "name": "620",
+ "members": [
+ {
+ "name": "qcow2"
+ },
+ {
+ "name": "vmdk"
+ },
+ {
+ "name": "luks"
+ },
+ {
+ "name": "rbd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow2",
+ "vmdk",
+ "luks",
+ "rbd"
+ ]
+ },
+ {
+ "name": "621",
+ "members": [
+ {
+ "name": "data",
+ "type": "677"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "622",
+ "members": [
+ {
+ "name": "data",
+ "type": "678"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "623",
+ "members": [
+ {
+ "name": "data",
+ "type": "679"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "624",
+ "members": [
+ {
+ "name": "data",
+ "type": "680"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "625",
+ "members": [
+ {
+ "name": "l1_update"
+ },
+ {
+ "name": "l1_grow_alloc_table"
+ },
+ {
+ "name": "l1_grow_write_table"
+ },
+ {
+ "name": "l1_grow_activate_table"
+ },
+ {
+ "name": "l2_load"
+ },
+ {
+ "name": "l2_update"
+ },
+ {
+ "name": "l2_update_compressed"
+ },
+ {
+ "name": "l2_alloc_cow_read"
+ },
+ {
+ "name": "l2_alloc_write"
+ },
+ {
+ "name": "read_aio"
+ },
+ {
+ "name": "read_backing_aio"
+ },
+ {
+ "name": "read_compressed"
+ },
+ {
+ "name": "write_aio"
+ },
+ {
+ "name": "write_compressed"
+ },
+ {
+ "name": "vmstate_load"
+ },
+ {
+ "name": "vmstate_save"
+ },
+ {
+ "name": "cow_read"
+ },
+ {
+ "name": "cow_write"
+ },
+ {
+ "name": "reftable_load"
+ },
+ {
+ "name": "reftable_grow"
+ },
+ {
+ "name": "reftable_update"
+ },
+ {
+ "name": "refblock_load"
+ },
+ {
+ "name": "refblock_update"
+ },
+ {
+ "name": "refblock_update_part"
+ },
+ {
+ "name": "refblock_alloc"
+ },
+ {
+ "name": "refblock_alloc_hookup"
+ },
+ {
+ "name": "refblock_alloc_write"
+ },
+ {
+ "name": "refblock_alloc_write_blocks"
+ },
+ {
+ "name": "refblock_alloc_write_table"
+ },
+ {
+ "name": "refblock_alloc_switch_table"
+ },
+ {
+ "name": "cluster_alloc"
+ },
+ {
+ "name": "cluster_alloc_bytes"
+ },
+ {
+ "name": "cluster_free"
+ },
+ {
+ "name": "flush_to_os"
+ },
+ {
+ "name": "flush_to_disk"
+ },
+ {
+ "name": "pwritev_rmw_head"
+ },
+ {
+ "name": "pwritev_rmw_after_head"
+ },
+ {
+ "name": "pwritev_rmw_tail"
+ },
+ {
+ "name": "pwritev_rmw_after_tail"
+ },
+ {
+ "name": "pwritev"
+ },
+ {
+ "name": "pwritev_zero"
+ },
+ {
+ "name": "pwritev_done"
+ },
+ {
+ "name": "empty_image_prepare"
+ },
+ {
+ "name": "l1_shrink_write_table"
+ },
+ {
+ "name": "l1_shrink_free_l2_clusters"
+ },
+ {
+ "name": "cor_write"
+ },
+ {
+ "name": "cluster_alloc_space"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "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",
+ "cluster_alloc_space",
+ "none"
+ ]
+ },
+ {
+ "name": "626",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "write-zeroes"
+ },
+ {
+ "name": "discard"
+ },
+ {
+ "name": "flush"
+ },
+ {
+ "name": "block-status"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write",
+ "write-zeroes",
+ "discard",
+ "flush",
+ "block-status"
+ ]
+ },
+ {
+ "name": "627",
+ "members": [
+ {
+ "name": "inet"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet"
+ ]
+ },
+ {
+ "name": "628",
+ "members": [
+ {
+ "name": "template",
+ "default": null,
+ "type": "629"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "bitmap-directory",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "629",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "constant"
+ },
+ {
+ "name": "cached"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "constant",
+ "cached",
+ "all"
+ ]
+ },
+ {
+ "name": "630",
+ "members": [
+ {
+ "name": "aes"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes",
+ "luks"
+ ]
+ },
+ {
+ "name": "631",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "632",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "633",
+ "members": [
+ {
+ "name": "aes"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes"
+ ]
+ },
+ {
+ "name": "634",
+ "members": [
+ {
+ "name": "luks"
+ },
+ {
+ "name": "luks2"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "luks",
+ "luks2"
+ ]
+ },
+ {
+ "name": "635",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "636",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "637",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "hash"
+ },
+ {
+ "name": "known_hosts"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "hash",
+ "known_hosts"
+ ]
+ },
+ {
+ "name": "638",
+ "members": [
+ {
+ "name": "type",
+ "type": "681"
+ },
+ {
+ "name": "hash",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "639",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "metadata"
+ },
+ {
+ "name": "falloc"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "metadata",
+ "falloc",
+ "full"
+ ]
+ },
+ {
+ "name": "640",
+ "members": [
+ {
+ "name": "aes-128"
+ },
+ {
+ "name": "aes-192"
+ },
+ {
+ "name": "aes-256"
+ },
+ {
+ "name": "des"
+ },
+ {
+ "name": "3des"
+ },
+ {
+ "name": "cast5-128"
+ },
+ {
+ "name": "serpent-128"
+ },
+ {
+ "name": "serpent-192"
+ },
+ {
+ "name": "serpent-256"
+ },
+ {
+ "name": "twofish-128"
+ },
+ {
+ "name": "twofish-192"
+ },
+ {
+ "name": "twofish-256"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes-128",
+ "aes-192",
+ "aes-256",
+ "des",
+ "3des",
+ "cast5-128",
+ "serpent-128",
+ "serpent-192",
+ "serpent-256",
+ "twofish-128",
+ "twofish-192",
+ "twofish-256"
+ ]
+ },
+ {
+ "name": "641",
+ "members": [
+ {
+ "name": "ecb"
+ },
+ {
+ "name": "cbc"
+ },
+ {
+ "name": "xts"
+ },
+ {
+ "name": "ctr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ecb",
+ "cbc",
+ "xts",
+ "ctr"
+ ]
+ },
+ {
+ "name": "642",
+ "members": [
+ {
+ "name": "plain"
+ },
+ {
+ "name": "plain64"
+ },
+ {
+ "name": "essiv"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "plain64",
+ "essiv"
+ ]
+ },
+ {
+ "name": "643",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha224"
+ },
+ {
+ "name": "sha256"
+ },
+ {
+ "name": "sha384"
+ },
+ {
+ "name": "sha512"
+ },
+ {
+ "name": "ripemd160"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha224",
+ "sha256",
+ "sha384",
+ "sha512",
+ "ripemd160"
+ ]
+ },
+ {
+ "name": "644",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "qcow",
+ "type": "631"
+ },
+ {
+ "case": "luks",
+ "type": "683"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "682"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "645",
+ "members": [
+ {
+ "name": "v2"
+ },
+ {
+ "name": "v3"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "v2",
+ "v3"
+ ]
+ },
+ {
+ "name": "646",
+ "members": [
+ {
+ "name": "zlib"
+ },
+ {
+ "name": "zstd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "zlib",
+ "zstd"
+ ]
+ },
+ {
+ "name": "647",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "684"
+ },
+ {
+ "case": "luks2",
+ "type": "685"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "634"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "648",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "649",
+ "members": [
+ {
+ "name": "monolithicSparse"
+ },
+ {
+ "name": "monolithicFlat"
+ },
+ {
+ "name": "twoGbMaxExtentSparse"
+ },
+ {
+ "name": "twoGbMaxExtentFlat"
+ },
+ {
+ "name": "streamOptimized"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "monolithicSparse",
+ "monolithicFlat",
+ "twoGbMaxExtentSparse",
+ "twoGbMaxExtentFlat",
+ "streamOptimized"
+ ]
+ },
+ {
+ "name": "650",
+ "members": [
+ {
+ "name": "ide"
+ },
+ {
+ "name": "buslogic"
+ },
+ {
+ "name": "lsilogic"
+ },
+ {
+ "name": "legacyESX"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ide",
+ "buslogic",
+ "lsilogic",
+ "legacyESX"
+ ]
+ },
+ {
+ "name": "651",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "652",
+ "members": [
+ {
+ "name": "active"
+ },
+ {
+ "name": "inactive"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "active",
+ "inactive"
+ ]
+ },
+ {
+ "name": "653",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "686"
+ },
+ {
+ "case": "qcow",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "682"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "654",
+ "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": "655",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "656",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "type": "328"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "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": "websocket",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reconnect",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "657",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "remote",
+ "type": "328"
+ },
+ {
+ "name": "local",
+ "default": null,
+ "type": "328"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "658",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "659",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "660",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "signal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "661",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "662",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fqdn",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "663",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mouse",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "clipboard",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "664",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "665",
+ "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": "666",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "667",
+ "members": [
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cancel-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "668",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "669",
+ "members": [
+ {
+ "name": "unmapped"
+ },
+ {
+ "name": "shift"
+ },
+ {
+ "name": "shift_r"
+ },
+ {
+ "name": "alt"
+ },
+ {
+ "name": "alt_r"
+ },
+ {
+ "name": "ctrl"
+ },
+ {
+ "name": "ctrl_r"
+ },
+ {
+ "name": "menu"
+ },
+ {
+ "name": "esc"
+ },
+ {
+ "name": "1"
+ },
+ {
+ "name": "2"
+ },
+ {
+ "name": "3"
+ },
+ {
+ "name": "4"
+ },
+ {
+ "name": "5"
+ },
+ {
+ "name": "6"
+ },
+ {
+ "name": "7"
+ },
+ {
+ "name": "8"
+ },
+ {
+ "name": "9"
+ },
+ {
+ "name": "0"
+ },
+ {
+ "name": "minus"
+ },
+ {
+ "name": "equal"
+ },
+ {
+ "name": "backspace"
+ },
+ {
+ "name": "tab"
+ },
+ {
+ "name": "q"
+ },
+ {
+ "name": "w"
+ },
+ {
+ "name": "e"
+ },
+ {
+ "name": "r"
+ },
+ {
+ "name": "t"
+ },
+ {
+ "name": "y"
+ },
+ {
+ "name": "u"
+ },
+ {
+ "name": "i"
+ },
+ {
+ "name": "o"
+ },
+ {
+ "name": "p"
+ },
+ {
+ "name": "bracket_left"
+ },
+ {
+ "name": "bracket_right"
+ },
+ {
+ "name": "ret"
+ },
+ {
+ "name": "a"
+ },
+ {
+ "name": "s"
+ },
+ {
+ "name": "d"
+ },
+ {
+ "name": "f"
+ },
+ {
+ "name": "g"
+ },
+ {
+ "name": "h"
+ },
+ {
+ "name": "j"
+ },
+ {
+ "name": "k"
+ },
+ {
+ "name": "l"
+ },
+ {
+ "name": "semicolon"
+ },
+ {
+ "name": "apostrophe"
+ },
+ {
+ "name": "grave_accent"
+ },
+ {
+ "name": "backslash"
+ },
+ {
+ "name": "z"
+ },
+ {
+ "name": "x"
+ },
+ {
+ "name": "c"
+ },
+ {
+ "name": "v"
+ },
+ {
+ "name": "b"
+ },
+ {
+ "name": "n"
+ },
+ {
+ "name": "m"
+ },
+ {
+ "name": "comma"
+ },
+ {
+ "name": "dot"
+ },
+ {
+ "name": "slash"
+ },
+ {
+ "name": "asterisk"
+ },
+ {
+ "name": "spc"
+ },
+ {
+ "name": "caps_lock"
+ },
+ {
+ "name": "f1"
+ },
+ {
+ "name": "f2"
+ },
+ {
+ "name": "f3"
+ },
+ {
+ "name": "f4"
+ },
+ {
+ "name": "f5"
+ },
+ {
+ "name": "f6"
+ },
+ {
+ "name": "f7"
+ },
+ {
+ "name": "f8"
+ },
+ {
+ "name": "f9"
+ },
+ {
+ "name": "f10"
+ },
+ {
+ "name": "num_lock"
+ },
+ {
+ "name": "scroll_lock"
+ },
+ {
+ "name": "kp_divide"
+ },
+ {
+ "name": "kp_multiply"
+ },
+ {
+ "name": "kp_subtract"
+ },
+ {
+ "name": "kp_add"
+ },
+ {
+ "name": "kp_enter"
+ },
+ {
+ "name": "kp_decimal"
+ },
+ {
+ "name": "sysrq"
+ },
+ {
+ "name": "kp_0"
+ },
+ {
+ "name": "kp_1"
+ },
+ {
+ "name": "kp_2"
+ },
+ {
+ "name": "kp_3"
+ },
+ {
+ "name": "kp_4"
+ },
+ {
+ "name": "kp_5"
+ },
+ {
+ "name": "kp_6"
+ },
+ {
+ "name": "kp_7"
+ },
+ {
+ "name": "kp_8"
+ },
+ {
+ "name": "kp_9"
+ },
+ {
+ "name": "less"
+ },
+ {
+ "name": "f11"
+ },
+ {
+ "name": "f12"
+ },
+ {
+ "name": "print"
+ },
+ {
+ "name": "home"
+ },
+ {
+ "name": "pgup"
+ },
+ {
+ "name": "pgdn"
+ },
+ {
+ "name": "end"
+ },
+ {
+ "name": "left"
+ },
+ {
+ "name": "up"
+ },
+ {
+ "name": "down"
+ },
+ {
+ "name": "right"
+ },
+ {
+ "name": "insert"
+ },
+ {
+ "name": "delete"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "again"
+ },
+ {
+ "name": "props"
+ },
+ {
+ "name": "undo"
+ },
+ {
+ "name": "front"
+ },
+ {
+ "name": "copy"
+ },
+ {
+ "name": "open"
+ },
+ {
+ "name": "paste"
+ },
+ {
+ "name": "find"
+ },
+ {
+ "name": "cut"
+ },
+ {
+ "name": "lf"
+ },
+ {
+ "name": "help"
+ },
+ {
+ "name": "meta_l"
+ },
+ {
+ "name": "meta_r"
+ },
+ {
+ "name": "compose"
+ },
+ {
+ "name": "pause"
+ },
+ {
+ "name": "ro"
+ },
+ {
+ "name": "hiragana"
+ },
+ {
+ "name": "henkan"
+ },
+ {
+ "name": "yen"
+ },
+ {
+ "name": "muhenkan"
+ },
+ {
+ "name": "katakanahiragana"
+ },
+ {
+ "name": "kp_comma"
+ },
+ {
+ "name": "kp_equals"
+ },
+ {
+ "name": "power"
+ },
+ {
+ "name": "sleep"
+ },
+ {
+ "name": "wake"
+ },
+ {
+ "name": "audionext"
+ },
+ {
+ "name": "audioprev"
+ },
+ {
+ "name": "audiostop"
+ },
+ {
+ "name": "audioplay"
+ },
+ {
+ "name": "audiomute"
+ },
+ {
+ "name": "volumeup"
+ },
+ {
+ "name": "volumedown"
+ },
+ {
+ "name": "mediaselect"
+ },
+ {
+ "name": "mail"
+ },
+ {
+ "name": "calculator"
+ },
+ {
+ "name": "computer"
+ },
+ {
+ "name": "ac_home"
+ },
+ {
+ "name": "ac_back"
+ },
+ {
+ "name": "ac_forward"
+ },
+ {
+ "name": "ac_refresh"
+ },
+ {
+ "name": "ac_bookmarks"
+ },
+ {
+ "name": "lang1"
+ },
+ {
+ "name": "lang2"
+ }
+ ],
+ "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",
+ "muhenkan",
+ "katakanahiragana",
+ "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",
+ "lang1",
+ "lang2"
+ ]
+ },
+ {
+ "name": "670",
+ "members": [
+ {
+ "name": "key",
+ "type": "377"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "671",
+ "members": [
+ {
+ "name": "button",
+ "type": "687"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "672",
+ "members": [
+ {
+ "name": "axis",
+ "type": "688"
+ },
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "673",
+ "members": [
+ {
+ "name": "persistent",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "674",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "675",
+ "members": [
+ {
+ "name": "exact"
+ },
+ {
+ "name": "glob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "exact",
+ "glob"
+ ]
+ },
+ {
+ "name": "676",
+ "members": [
+ {
+ "name": "number",
+ "type": "int"
+ },
+ {
+ "name": "secondary",
+ "type": "int"
+ },
+ {
+ "name": "subordinate",
+ "type": "int"
+ },
+ {
+ "name": "io_range",
+ "type": "689"
+ },
+ {
+ "name": "memory_range",
+ "type": "689"
+ },
+ {
+ "name": "prefetchable_range",
+ "type": "689"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "677",
+ "members": [
+ {
+ "name": "compat",
+ "type": "str"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "data-file-raw",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extended-l2",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "corrupt",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-bits",
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "690"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[691]"
+ },
+ {
+ "name": "compression-type",
+ "type": "646"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "678",
+ "members": [
+ {
+ "name": "create-type",
+ "type": "str"
+ },
+ {
+ "name": "cid",
+ "type": "int"
+ },
+ {
+ "name": "parent-cid",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "type": "[281]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "679",
+ "members": [
+ {
+ "name": "cipher-alg",
+ "type": "640"
+ },
+ {
+ "name": "cipher-mode",
+ "type": "641"
+ },
+ {
+ "name": "ivgen-alg",
+ "type": "642"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "643"
+ },
+ {
+ "name": "hash-alg",
+ "type": "643"
+ },
+ {
+ "name": "payload-offset",
+ "type": "int"
+ },
+ {
+ "name": "master-key-iters",
+ "type": "int"
+ },
+ {
+ "name": "uuid",
+ "type": "str"
+ },
+ {
+ "name": "slots",
+ "type": "[692]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "680",
+ "members": [
+ {
+ "name": "encryption-format",
+ "default": null,
+ "type": "634"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "681",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha256"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha256"
+ ]
+ },
+ {
+ "name": "682",
+ "members": [
+ {
+ "name": "qcow"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow",
+ "luks"
+ ]
+ },
+ {
+ "name": "683",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "640"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "641"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "642"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "643"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "643"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "684",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "640"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "685",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "640"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "686",
+ "members": [
+ {
+ "name": "state",
+ "type": "652"
+ },
+ {
+ "name": "new-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "old-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "keyslot",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "687",
+ "members": [
+ {
+ "name": "left"
+ },
+ {
+ "name": "middle"
+ },
+ {
+ "name": "right"
+ },
+ {
+ "name": "wheel-up"
+ },
+ {
+ "name": "wheel-down"
+ },
+ {
+ "name": "side"
+ },
+ {
+ "name": "extra"
+ },
+ {
+ "name": "wheel-left"
+ },
+ {
+ "name": "wheel-right"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "left",
+ "middle",
+ "right",
+ "wheel-up",
+ "wheel-down",
+ "side",
+ "extra",
+ "wheel-left",
+ "wheel-right"
+ ]
+ },
+ {
+ "name": "688",
+ "members": [
+ {
+ "name": "x"
+ },
+ {
+ "name": "y"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "x",
+ "y"
+ ]
+ },
+ {
+ "name": "689",
+ "members": [
+ {
+ "name": "base",
+ "type": "int"
+ },
+ {
+ "name": "limit",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "690",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "679"
+ },
+ {
+ "case": "aes",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "630"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[691]",
+ "element-type": "691",
+ "meta-type": "array"
+ },
+ {
+ "name": "691",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "granularity",
+ "type": "int"
+ },
+ {
+ "name": "flags",
+ "type": "[693]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[281]",
+ "element-type": "281",
+ "meta-type": "array"
+ },
+ {
+ "name": "[692]",
+ "element-type": "692",
+ "meta-type": "array"
+ },
+ {
+ "name": "692",
+ "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": "[693]",
+ "element-type": "693",
+ "meta-type": "array"
+ },
+ {
+ "name": "693",
+ "members": [
+ {
+ "name": "in-use"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "in-use",
+ "auto"
+ ]
+ }
+ ],
+ "id": "libvirt-4"
+}
+
+{
+ "execute": "query-commands",
+ "id": "libvirt-5"
+}
+
+{
+ "return": [
+ {
+ "name": "device_add"
+ },
+ {
+ "name": "x-query-virtio-queue-element"
+ },
+ {
+ "name": "x-query-virtio-vhost-queue-status"
+ },
+ {
+ "name": "x-query-virtio-queue-status"
+ },
+ {
+ "name": "x-query-virtio-status"
+ },
+ {
+ "name": "x-query-virtio"
+ },
+ {
+ "name": "query-stats-schemas"
+ },
+ {
+ "name": "query-stats"
+ },
+ {
+ "name": "query-pci"
+ },
+ {
+ "name": "query-acpi-ospm-status"
+ },
+ {
+ "name": "query-sgx-capabilities"
+ },
+ {
+ "name": "query-sgx"
+ },
+ {
+ "name": "query-sev-attestation-report"
+ },
+ {
+ "name": "sev-inject-launch-secret"
+ },
+ {
+ "name": "query-sev-capabilities"
+ },
+ {
+ "name": "query-sev-launch-measure"
+ },
+ {
+ "name": "query-sev"
+ },
+ {
+ "name": "rtc-reset-reinjection"
+ },
+ {
+ "name": "query-command-line-options"
+ },
+ {
+ "name": "query-fdsets"
+ },
+ {
+ "name": "remove-fd"
+ },
+ {
+ "name": "add-fd"
+ },
+ {
+ "name": "closefd"
+ },
+ {
+ "name": "getfd"
+ },
+ {
+ "name": "human-monitor-command"
+ },
+ {
+ "name": "x-exit-preconfig"
+ },
+ {
+ "name": "cont"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "query-iothreads"
+ },
+ {
+ "name": "query-name"
+ },
+ {
+ "name": "add_client"
+ },
+ {
+ "name": "query-yank"
+ },
+ {
+ "name": "yank"
+ },
+ {
+ "name": "replay-seek"
+ },
+ {
+ "name": "replay-delete-break"
+ },
+ {
+ "name": "replay-break"
+ },
+ {
+ "name": "query-replay"
+ },
+ {
+ "name": "query-cpu-definitions"
+ },
+ {
+ "name": "query-cpu-model-expansion"
+ },
+ {
+ "name": "x-query-usb"
+ },
+ {
+ "name": "x-query-roms"
+ },
+ {
+ "name": "x-query-rdma"
+ },
+ {
+ "name": "x-query-ramblock"
+ },
+ {
+ "name": "x-query-profile"
+ },
+ {
+ "name": "x-query-opcount"
+ },
+ {
+ "name": "x-query-numa"
+ },
+ {
+ "name": "x-query-jit"
+ },
+ {
+ "name": "x-query-irq"
+ },
+ {
+ "name": "query-memory-devices"
+ },
+ {
+ "name": "query-memory-size-summary"
+ },
+ {
+ "name": "query-balloon"
+ },
+ {
+ "name": "balloon"
+ },
+ {
+ "name": "set-numa-node"
+ },
+ {
+ "name": "query-hotpluggable-cpus"
+ },
+ {
+ "name": "query-memdev"
+ },
+ {
+ "name": "pmemsave"
+ },
+ {
+ "name": "memsave"
+ },
+ {
+ "name": "query-kvm"
+ },
+ {
+ "name": "inject-nmi"
+ },
+ {
+ "name": "system_wakeup"
+ },
+ {
+ "name": "system_powerdown"
+ },
+ {
+ "name": "system_reset"
+ },
+ {
+ "name": "query-vm-generation-id"
+ },
+ {
+ "name": "query-uuid"
+ },
+ {
+ "name": "query-target"
+ },
+ {
+ "name": "query-current-machine"
+ },
+ {
+ "name": "query-machines"
+ },
+ {
+ "name": "query-cpus-fast"
+ },
+ {
+ "name": "device_del"
+ },
+ {
+ "name": "device-list-properties"
+ },
+ {
+ "name": "object-del"
+ },
+ {
+ "name": "object-add"
+ },
+ {
+ "name": "qom-list-properties"
+ },
+ {
+ "name": "qom-list-types"
+ },
+ {
+ "name": "qom-set"
+ },
+ {
+ "name": "qom-get"
+ },
+ {
+ "name": "qom-list"
+ },
+ {
+ "name": "query-qmp-schema"
+ },
+ {
+ "name": "quit"
+ },
+ {
+ "name": "query-commands"
+ },
+ {
+ "name": "query-version"
+ },
+ {
+ "name": "qmp_capabilities"
+ },
+ {
+ "name": "trace-event-set-state"
+ },
+ {
+ "name": "trace-event-get-state"
+ },
+ {
+ "name": "transaction"
+ },
+ {
+ "name": "snapshot-delete"
+ },
+ {
+ "name": "snapshot-load"
+ },
+ {
+ "name": "snapshot-save"
+ },
+ {
+ "name": "query-vcpu-dirty-limit"
+ },
+ {
+ "name": "cancel-vcpu-dirty-limit"
+ },
+ {
+ "name": "set-vcpu-dirty-limit"
+ },
+ {
+ "name": "query-dirty-rate"
+ },
+ {
+ "name": "calc-dirty-rate"
+ },
+ {
+ "name": "migrate-pause"
+ },
+ {
+ "name": "migrate-recover"
+ },
+ {
+ "name": "query-colo-status"
+ },
+ {
+ "name": "xen-colo-do-checkpoint"
+ },
+ {
+ "name": "query-xen-replication-status"
+ },
+ {
+ "name": "xen-set-replication"
+ },
+ {
+ "name": "xen-load-devices-state"
+ },
+ {
+ "name": "xen-set-global-dirty-log"
+ },
+ {
+ "name": "xen-save-devices-state"
+ },
+ {
+ "name": "migrate-incoming"
+ },
+ {
+ "name": "migrate"
+ },
+ {
+ "name": "migrate-continue"
+ },
+ {
+ "name": "migrate_cancel"
+ },
+ {
+ "name": "x-colo-lost-heartbeat"
+ },
+ {
+ "name": "migrate-start-postcopy"
+ },
+ {
+ "name": "client_migrate_info"
+ },
+ {
+ "name": "query-migrate-parameters"
+ },
+ {
+ "name": "migrate-set-parameters"
+ },
+ {
+ "name": "query-migrate-capabilities"
+ },
+ {
+ "name": "migrate-set-capabilities"
+ },
+ {
+ "name": "query-migrate"
+ },
+ {
+ "name": "display-update"
+ },
+ {
+ "name": "display-reload"
+ },
+ {
+ "name": "query-display-options"
+ },
+ {
+ "name": "input-send-event"
+ },
+ {
+ "name": "send-key"
+ },
+ {
+ "name": "query-mice"
+ },
+ {
+ "name": "change-vnc-password"
+ },
+ {
+ "name": "query-vnc-servers"
+ },
+ {
+ "name": "query-vnc"
+ },
+ {
+ "name": "query-spice"
+ },
+ {
+ "name": "screendump"
+ },
+ {
+ "name": "expire_password"
+ },
+ {
+ "name": "set_password"
+ },
+ {
+ "name": "query-tpm"
+ },
+ {
+ "name": "query-tpm-types"
+ },
+ {
+ "name": "query-tpm-models"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows"
+ },
+ {
+ "name": "query-rocker-ports"
+ },
+ {
+ "name": "query-rocker"
+ },
+ {
+ "name": "announce-self"
+ },
+ {
+ "name": "query-rx-filter"
+ },
+ {
+ "name": "netdev_del"
+ },
+ {
+ "name": "netdev_add"
+ },
+ {
+ "name": "set_link"
+ },
+ {
+ "name": "query-dump-guest-memory-capability"
+ },
+ {
+ "name": "query-dump"
+ },
+ {
+ "name": "dump-guest-memory"
+ },
+ {
+ "name": "chardev-send-break"
+ },
+ {
+ "name": "chardev-remove"
+ },
+ {
+ "name": "chardev-change"
+ },
+ {
+ "name": "chardev-add"
+ },
+ {
+ "name": "ringbuf-read"
+ },
+ {
+ "name": "ringbuf-write"
+ },
+ {
+ "name": "query-chardev-backends"
+ },
+ {
+ "name": "query-chardev"
+ },
+ {
+ "name": "query-block-exports"
+ },
+ {
+ "name": "block-export-del"
+ },
+ {
+ "name": "block-export-add"
+ },
+ {
+ "name": "nbd-server-stop"
+ },
+ {
+ "name": "nbd-server-remove"
+ },
+ {
+ "name": "nbd-server-add"
+ },
+ {
+ "name": "nbd-server-start"
+ },
+ {
+ "name": "query-jobs"
+ },
+ {
+ "name": "job-finalize"
+ },
+ {
+ "name": "job-dismiss"
+ },
+ {
+ "name": "job-complete"
+ },
+ {
+ "name": "job-cancel"
+ },
+ {
+ "name": "job-resume"
+ },
+ {
+ "name": "job-pause"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync"
+ },
+ {
+ "name": "x-blockdev-set-iothread"
+ },
+ {
+ "name": "x-blockdev-change"
+ },
+ {
+ "name": "block-set-write-threshold"
+ },
+ {
+ "name": "x-blockdev-amend"
+ },
+ {
+ "name": "blockdev-create"
+ },
+ {
+ "name": "blockdev-del"
+ },
+ {
+ "name": "blockdev-reopen"
+ },
+ {
+ "name": "blockdev-add"
+ },
+ {
+ "name": "block-job-finalize"
+ },
+ {
+ "name": "block-job-dismiss"
+ },
+ {
+ "name": "block-job-complete"
+ },
+ {
+ "name": "block-job-resume"
+ },
+ {
+ "name": "block-job-pause"
+ },
+ {
+ "name": "block-job-cancel"
+ },
+ {
+ "name": "block-job-set-speed"
+ },
+ {
+ "name": "block-stream"
+ },
+ {
+ "name": "blockdev-mirror"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256"
+ },
+ {
+ "name": "block-dirty-bitmap-merge"
+ },
+ {
+ "name": "block-dirty-bitmap-disable"
+ },
+ {
+ "name": "block-dirty-bitmap-enable"
+ },
+ {
+ "name": "block-dirty-bitmap-clear"
+ },
+ {
+ "name": "block-dirty-bitmap-remove"
+ },
+ {
+ "name": "block-dirty-bitmap-add"
+ },
+ {
+ "name": "drive-mirror"
+ },
+ {
+ "name": "x-debug-query-block-graph"
+ },
+ {
+ "name": "query-named-block-nodes"
+ },
+ {
+ "name": "blockdev-backup"
+ },
+ {
+ "name": "drive-backup"
+ },
+ {
+ "name": "block-commit"
+ },
+ {
+ "name": "change-backing-file"
+ },
+ {
+ "name": "blockdev-snapshot"
+ },
+ {
+ "name": "blockdev-snapshot-sync"
+ },
+ {
+ "name": "block_resize"
+ },
+ {
+ "name": "query-block-jobs"
+ },
+ {
+ "name": "query-blockstats"
+ },
+ {
+ "name": "query-block"
+ },
+ {
+ "name": "block-latency-histogram-set"
+ },
+ {
+ "name": "block_set_io_throttle"
+ },
+ {
+ "name": "blockdev-change-medium"
+ },
+ {
+ "name": "blockdev-insert-medium"
+ },
+ {
+ "name": "blockdev-remove-medium"
+ },
+ {
+ "name": "blockdev-close-tray"
+ },
+ {
+ "name": "blockdev-open-tray"
+ },
+ {
+ "name": "eject"
+ },
+ {
+ "name": "query-pr-managers"
+ },
+ {
+ "name": "set-action"
+ },
+ {
+ "name": "watchdog-set-action"
+ },
+ {
+ "name": "query-status"
+ }
+ ],
+ "id": "libvirt-5"
+}
+
+{
+ "execute": "query-kvm",
+ "id": "libvirt-6"
+}
+
+{
+ "return": {
+ "enabled": true,
+ "present": true
+ },
+ "id": "libvirt-6"
+}
+
+{
+ "execute": "qom-list-types",
+ "id": "libvirt-7"
+}
+
+{
+ "return": [
+ {
+ "name": "vhost-user-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "pcie-pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "pc-q35-2.11-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "acpi-erst",
+ "parent": "pci-device"
+ },
+ {
+ "name": "max-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-7.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "virtio-crypto-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "isa-applesmc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Westmere-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-input-pci",
+ "parent": "vhost-user-input-pci-base-type"
+ },
+ {
+ "name": "floppy-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "Denverton-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-testdev",
+ "parent": "chardev"
+ },
+ {
+ "name": "usb-wacom-tablet",
+ "parent": "usb-device"
+ },
+ {
+ "name": "Icelake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Haswell-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "sev-guest",
+ "parent": "confidential-guest-support"
+ },
+ {
+ "name": "pci-ipmi-bt",
+ "parent": "pci-device"
+ },
+ {
+ "name": "filter-buffer",
+ "parent": "netfilter"
+ },
+ {
+ "name": "usb-redir",
+ "parent": "usb-device"
+ },
+ {
+ "name": "ich9-usb-uhci6",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "secondary-vga",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "kvm-pit",
+ "parent": "pit-common"
+ },
+ {
+ "name": "tpm-crb",
+ "parent": "device"
+ },
+ {
+ "name": "rtl8139",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-rng-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "pc-i440fx-3.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "cxl-rp",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "core2duo-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ich9-usb-uhci5",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pcm3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-2.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vmware-svga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-mmio-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "i8042-mmio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "kvm-ioapic",
+ "parent": "ioapic-common"
+ },
+ {
+ "name": "gus",
+ "parent": "isa-device"
+ },
+ {
+ "name": "serial",
+ "parent": "device"
+ },
+ {
+ "name": "ich9-usb-uhci4",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pxb-cxl-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "usb-hub",
+ "parent": "usb-device"
+ },
+ {
+ "name": "virtio-9p-pci-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "chardev-pty",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-blk-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "ich9-usb-uhci3",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "Opteron_G5-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qtest-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "chardev-wctablet",
+ "parent": "chardev"
+ },
+ {
+ "name": "Westmere-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-6.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "ich9-usb-uhci2",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pc-i440fx-2.8-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-serial",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "virtio-gpu-gl-device",
+ "parent": "virtio-gpu-device"
+ },
+ {
+ "name": "vhost-user-vsock-pci",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "Cooperlake-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ich9-usb-uhci1",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "PCIE",
+ "parent": "PCI"
+ },
+ {
+ "name": "pc-i440fx-5.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "scsi-generic",
+ "parent": "scsi-device"
+ },
+ {
+ "name": "ICH9-SMB",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvmclock",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "x3130-upstream",
+ "parent": "pcie-port"
+ },
+ {
+ "name": "virtio-serial-pci-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "memory-backend-ram",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "e1000e",
+ "parent": "pci-device"
+ },
+ {
+ "name": "n270-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pxb-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "virtio-serial-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "chardev-file",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "Icelake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "tpm-passthrough",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "pentium3-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ps2-mouse",
+ "parent": "ps2-device"
+ },
+ {
+ "name": "usb-host",
+ "parent": "usb-device"
+ },
+ {
+ "name": "tulip",
+ "parent": "pci-device"
+ },
+ {
+ "name": "piix3-ide",
+ "parent": "pci-ide"
+ },
+ {
+ "name": "filter-rewriter",
+ "parent": "netfilter"
+ },
+ {
+ "name": "pc-i440fx-4.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-scsi-pci",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "acpi-ged",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "isa-ipmi-bt",
+ "parent": "isa-device"
+ },
+ {
+ "name": "virtio-gpu-pci",
+ "parent": "virtio-gpu-pci-base-type"
+ },
+ {
+ "name": "ICH9-LPC",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pci-ipmi-kcs",
+ "parent": "pci-device"
+ },
+ {
+ "name": "intel-iommu-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "xio3130-downstream",
+ "parent": "pcie-slot"
+ },
+ {
+ "name": "vhost-user-vsock-pci-non-transitional",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "pc-i440fx-2.3-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Snowridge-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "PCI",
+ "parent": "bus"
+ },
+ {
+ "name": "microvm-machine",
+ "parent": "x86-machine"
+ },
+ {
+ "name": "sdhci-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "imx-usdhc",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "pci-serial-2x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-i2c-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virtio-9p-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virtio-scsi-pci",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "ipmi-bmc-extern",
+ "parent": "ipmi-bmc"
+ },
+ {
+ "name": "EPYC-Rome-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-4.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "authz-list-file",
+ "parent": "authz"
+ },
+ {
+ "name": "usb-audio",
+ "parent": "usb-device"
+ },
+ {
+ "name": "pc-q35-7.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-6.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qemu32-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Client-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-vsock-pci-non-transitional",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "usb-net",
+ "parent": "usb-device"
+ },
+ {
+ "name": "CXL",
+ "parent": "PCIE"
+ },
+ {
+ "name": "ich9-usb-ehci2",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "isa-debug-exit",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vfio-pci-nohotplug",
+ "parent": "vfio-pci"
+ },
+ {
+ "name": "KnightsMill-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i2c-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "memory-region",
+ "parent": "object"
+ },
+ {
+ "name": "Skylake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ctucan_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ich9-usb-ehci1",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "mch",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-input-host-pci",
+ "parent": "virtio-input-host-pci-base-type"
+ },
+ {
+ "name": "nvdimm",
+ "parent": "pc-dimm"
+ },
+ {
+ "name": "pc-q35-3.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-mem",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "serial-mm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pr-manager-helper",
+ "parent": "pr-manager"
+ },
+ {
+ "name": "pc-i440fx-2.10-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82557c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "i82557b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-scsi-device",
+ "parent": "virtio-scsi-common"
+ },
+ {
+ "name": "pxb-pcie",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Haswell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-i2c-pci",
+ "parent": "vhost-user-i2c-pci-base"
+ },
+ {
+ "name": "input-barrier",
+ "parent": "object"
+ },
+ {
+ "name": "cpu-cluster",
+ "parent": "device"
+ },
+ {
+ "name": "sysbus-xhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "chardev-memory",
+ "parent": "chardev-ringbuf"
+ },
+ {
+ "name": "Haswell-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-scsi-pci-non-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "i82557a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "chardev-udp",
+ "parent": "chardev"
+ },
+ {
+ "name": "pc-q35-2.8-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "generic-sdhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-scsi-pci-non-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "vmmouse",
+ "parent": "isa-device"
+ },
+ {
+ "name": "migration",
+ "parent": "device"
+ },
+ {
+ "name": "athlon-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ps2-kbd",
+ "parent": "ps2-device"
+ },
+ {
+ "name": "EPYC-Rome-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-mouse-pci",
+ "parent": "virtio-mouse-pci-base-type"
+ },
+ {
+ "name": "pc-q35-5.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-1.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Skylake-Client-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-vga",
+ "parent": "vhost-user-vga-base-type"
+ },
+ {
+ "name": "Opteron_G2-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-dbus",
+ "parent": "chardev-socket"
+ },
+ {
+ "name": "Broadwell-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-7.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "usb-braille",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "EPYC-IBPB-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ib700",
+ "parent": "isa-device"
+ },
+ {
+ "name": "amd-iommu",
+ "parent": "x86-iommu"
+ },
+ {
+ "name": "Skylake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-9p-pci-non-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "memory-backend-file",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "Nehalem-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "isa-pcspk",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "usb-tablet",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "sysbus-ahci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sd-card",
+ "parent": "device"
+ },
+ {
+ "name": "pc-q35-4.0.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "virtio-blk-pci-non-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "esp",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-serial-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "tcg-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "isabus-bridge",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ne2k_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "IvyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "ide-cd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "qtest",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "piix4-ide",
+ "parent": "pci-ide"
+ },
+ {
+ "name": "ES1370",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Cascadelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qio-channel-null",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-gpu-device",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "e1000",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "athlon-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "acpi-ged-x86",
+ "parent": "acpi-ged"
+ },
+ {
+ "name": "cxl-type3",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-2.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82551",
+ "parent": "pci-device"
+ },
+ {
+ "name": "EPYC-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "isa-ipmi-kcs",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Icelake-Server-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "SandyBridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82550",
+ "parent": "pci-device"
+ },
+ {
+ "name": "nvme",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-6.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-user-backend",
+ "parent": "object"
+ },
+ {
+ "name": "mioe3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmxnet3",
+ "parent": "pci-device"
+ },
+ {
+ "name": "nec-usb-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "Conroe-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvm-apic",
+ "parent": "apic-common"
+ },
+ {
+ "name": "isa-pit",
+ "parent": "pit-common"
+ },
+ {
+ "name": "kvm64-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "memory-backend-memfd",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "smbus-eeprom",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "dbus-display",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-serial-pci",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "Denverton-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-gpu-pci",
+ "parent": "vhost-user-gpu-pci-base-type"
+ },
+ {
+ "name": "iothread",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "virtio-crypto-pci",
+ "parent": "virtio-crypto-pci-base-type"
+ },
+ {
+ "name": "i8042",
+ "parent": "isa-device"
+ },
+ {
+ "name": "System",
+ "parent": "bus"
+ },
+ {
+ "name": "ati-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pentium3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvm-i8259",
+ "parent": "pic-common"
+ },
+ {
+ "name": "isa-serial",
+ "parent": "isa-device"
+ },
+ {
+ "name": "imx.usbphy",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "x-remote-object",
+ "parent": "object"
+ },
+ {
+ "name": "core2duo-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk-pci-non-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "container",
+ "parent": "object"
+ },
+ {
+ "name": "cirrus-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvm32-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cascadelake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82559er",
+ "parent": "pci-device"
+ },
+ {
+ "name": "remote-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "virtio-rng-pci-non-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "Skylake-Client-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "main-loop",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "Cooperlake-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "EPYC-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "486-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "sgx-epc",
+ "parent": "device"
+ },
+ {
+ "name": "scsi-cd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "gpex-root",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmport",
+ "parent": "isa-device"
+ },
+ {
+ "name": "pc-q35-7.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "isa-ide",
+ "parent": "isa-device"
+ },
+ {
+ "name": "am53c974",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-serial-pci-non-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "qemu64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "e1000-82545em",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "pxb-pcie-bus",
+ "parent": "PCIE"
+ },
+ {
+ "name": "sdhci-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "PIIX4_PM",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-rng-pci-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "EPYC-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-bot",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "virtio-gpu-gl-pci",
+ "parent": "virtio-gpu-gl-pci-base-type"
+ },
+ {
+ "name": "pc-q35-2.12-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "VGA",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "qio-channel-buffer",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "i440FX",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Penryn-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Conroe-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "apic",
+ "parent": "apic-common"
+ },
+ {
+ "name": "vhost-user-fs-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "Icelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pci-serial-4x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-3.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "sga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Opteron_G5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-2.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "hpet",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pci-ohci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Haswell-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-tablet-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "ccid-card-passthru",
+ "parent": "ccid-card"
+ },
+ {
+ "name": "pc-i440fx-1.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-parallel",
+ "parent": "chardev"
+ },
+ {
+ "name": "chardev-vc",
+ "parent": "chardev"
+ },
+ {
+ "name": "cryptodev-backend",
+ "parent": "object"
+ },
+ {
+ "name": "isapc-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "cryptodev-vhost-user",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "tpm-emulator",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "i8257",
+ "parent": "isa-device"
+ },
+ {
+ "name": "usb-uas",
+ "parent": "usb-device"
+ },
+ {
+ "name": "IvyBridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "SandyBridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.9-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "ivshmem-plain",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "virtio-keyboard-pci",
+ "parent": "virtio-keyboard-pci-base-type"
+ },
+ {
+ "name": "pcnet",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Dhyana-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-5.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82559c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "AMDVI-PCI",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-blk-pci",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "virtserialport",
+ "parent": "virtio-serial-port"
+ },
+ {
+ "name": "ipoctal232",
+ "parent": "ipack-device"
+ },
+ {
+ "name": "i82559b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Nehalem-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-mouse",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "filter-redirector",
+ "parent": "netfilter"
+ },
+ {
+ "name": "ccid-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "ide-hd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "Snowridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-scsi-pci",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "kvaser_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "i82559a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "dbus-vmstate",
+ "parent": "object"
+ },
+ {
+ "name": "pc-i440fx-4.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "e1000-82544gc",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "chardev-spiceport",
+ "parent": "chardev-spice"
+ },
+ {
+ "name": "tls-creds-x509",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "Opteron_G3-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-ccid",
+ "parent": "usb-device"
+ },
+ {
+ "name": "qio-channel-command",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "x-remote-iommu",
+ "parent": "object"
+ },
+ {
+ "name": "pc-i440fx-2.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "port92",
+ "parent": "isa-device"
+ },
+ {
+ "name": "isa-cirrus-vga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "qemu64-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-4.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "mc146818rtc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vfio-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "bochs-display",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Broadwell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qio-net-listener",
+ "parent": "object"
+ },
+ {
+ "name": "edu",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-testdev",
+ "parent": "isa-device"
+ },
+ {
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "megasas",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "virtio-iommu-pci",
+ "parent": "virtio-iommu-pci-base-type"
+ },
+ {
+ "name": "pc-i440fx-6.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vmcoreinfo",
+ "parent": "device"
+ },
+ {
+ "name": "chardev-braille",
+ "parent": "chardev"
+ },
+ {
+ "name": "tpci200",
+ "parent": "pci-device"
+ },
+ {
+ "name": "rocker",
+ "parent": "pci-device"
+ },
+ {
+ "name": "qio-channel-file",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "gpio_i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-socket",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "coreduo-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-3.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu-console",
+ "parent": "object"
+ },
+ {
+ "name": "chardev-socket",
+ "parent": "chardev"
+ },
+ {
+ "name": "clock",
+ "parent": "object"
+ },
+ {
+ "name": "Haswell-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "host-x86_64-cpu",
+ "parent": "max-x86_64-cpu"
+ },
+ {
+ "name": "secret",
+ "parent": "secret_common"
+ },
+ {
+ "name": "usb-ehci",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "pc-i440fx-2.11-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pxb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "AC97",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmgenid",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-net-pci-non-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "Skylake-Server-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-pmem",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nvme-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "cs4231a",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-user-rng",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "scsi-hd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-kbd",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "isa-fdc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "base-xhci",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-net-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "filter-replay",
+ "parent": "netfilter"
+ },
+ {
+ "name": "usb-mtp",
+ "parent": "usb-device"
+ },
+ {
+ "name": "input-linux",
+ "parent": "object"
+ },
+ {
+ "name": "Westmere-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-2.9-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Skylake-Client-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "tpm-tis",
+ "parent": "isa-device"
+ },
+ {
+ "name": "virtconsole",
+ "parent": "virtserialport"
+ },
+ {
+ "name": "hyperv-testdev",
+ "parent": "isa-device"
+ },
+ {
+ "name": "s3c-sdhci",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "filter-mirror",
+ "parent": "netfilter"
+ },
+ {
+ "name": "fw_cfg_mem",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "ccid-card-emulated",
+ "parent": "ccid-card"
+ },
+ {
+ "name": "pc-q35-5.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-1.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "x-pci-proxy-dev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-mouse-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "lsi53c810",
+ "parent": "lsi53c895a"
+ },
+ {
+ "name": "ioh3420",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "guest-loader",
+ "parent": "device"
+ },
+ {
+ "name": "x-remote-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "throttle-group",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-rng-pci",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "piix4-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pc-q35-2.10-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-7.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-gdb",
+ "parent": "chardev"
+ },
+ {
+ "name": "vhost-user-gpio-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virtio-scsi-pci-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "gpex-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "Skylake-Client-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cascadelake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Icelake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pci-testdev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-input",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "ich9-intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "secret_keyring",
+ "parent": "secret_common"
+ },
+ {
+ "name": "PIIX3",
+ "parent": "pci-piix3"
+ },
+ {
+ "name": "pc-q35-2.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "tls-creds-psk",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "virtio-9p-pci",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "ISA",
+ "parent": "bus"
+ },
+ {
+ "name": "phenom-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-vsock-pci",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "pc-dimm",
+ "parent": "device"
+ },
+ {
+ "name": "pxb-cxl-bus",
+ "parent": "CXL"
+ },
+ {
+ "name": "virtio-net-pci-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "irq",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci-non-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "ipmi-bmc-sim",
+ "parent": "ipmi-bmc"
+ },
+ {
+ "name": "Snowridge-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmbus-bridge",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "IvyBridge-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk-pci-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "coreduo-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-storage",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "chardev-msmouse",
+ "parent": "chardev"
+ },
+ {
+ "name": "pc-q35-6.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-2.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-scsi-pci-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "isa-i8259",
+ "parent": "pic-common"
+ },
+ {
+ "name": "Skylake-Client-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "colo-compare",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-mmio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pxb-bus",
+ "parent": "PCI"
+ },
+ {
+ "name": "pentium2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "EPYC-Milan-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "KnightsMill-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "n270-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pvpanic",
+ "parent": "isa-device"
+ },
+ {
+ "name": "rng-random",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "Skylake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Nehalem-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvmvapic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nvme-ns",
+ "parent": "device"
+ },
+ {
+ "name": "Icelake-Server-v6-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "megasas-gen2",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "vhost-user-blk-pci",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "authz-simple",
+ "parent": "authz"
+ },
+ {
+ "name": "fw_cfg_io",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "intel-iommu",
+ "parent": "x86-iommu"
+ },
+ {
+ "name": "none-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "HDA",
+ "parent": "bus"
+ },
+ {
+ "name": "Broadwell-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "u2f-passthru",
+ "parent": "u2f-key"
+ },
+ {
+ "name": "Snowridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "IvyBridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "sysbus-esp",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qxl",
+ "parent": "pci-qxl"
+ },
+ {
+ "name": "tls-cipher-suites",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "cryptodev-backend-builtin",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "vfio-pci-igd-lpc-bridge",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qio-dns-resolver",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "Haswell-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hv-syndbg",
+ "parent": "device"
+ },
+ {
+ "name": "EPYC-Rome-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82801b11-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "virtio-keyboard-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "ramfb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "hda-output",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "pc-q35-7.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "virtio-input-host-device",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "IndustryPack",
+ "parent": "bus"
+ },
+ {
+ "name": "Broadwell-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ioapic",
+ "parent": "ioapic-common"
+ },
+ {
+ "name": "pentium-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu32-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Haswell-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-null",
+ "parent": "chardev"
+ },
+ {
+ "name": "pci-serial",
+ "parent": "pci-device"
+ },
+ {
+ "name": "sysbus-ohci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "kvm-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "vhost-scsi-pci-non-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "Denverton-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "piix3-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "Opteron_G4-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ne2k_isa",
+ "parent": "isa-device"
+ },
+ {
+ "name": "virtio-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "phenom-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "adlib",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-user-gpio-pci",
+ "parent": "vhost-user-gpio-pci-base"
+ },
+ {
+ "name": "vhost-user-gpu",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "pentium-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hda-duplex",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "amd-iommu-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "can-bus",
+ "parent": "object"
+ },
+ {
+ "name": "pvpanic-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Cascadelake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cooperlake-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-balloon-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "Skylake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "cfi.pflash01",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pc-q35-2.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "isa-parallel",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Nehalem-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pentium2-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-rng-pci",
+ "parent": "vhost-user-rng-pci-base"
+ },
+ {
+ "name": "isa-vga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "EPYC-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-vga-gl",
+ "parent": "virtio-vga-gl-base-type"
+ },
+ {
+ "name": "pc-i440fx-1.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "cxl-upstream",
+ "parent": "pcie-port"
+ },
+ {
+ "name": "i440FX-pcihost",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "virtio-iommu-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "isa-debugcon",
+ "parent": "isa-device"
+ },
+ {
+ "name": "tls-creds-anon",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "cxl-downstream",
+ "parent": "pcie-slot"
+ },
+ {
+ "name": "rng-egd",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "Cascadelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82558b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ivshmem-doorbell",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "qxl-vga",
+ "parent": "pci-qxl"
+ },
+ {
+ "name": "PIIX3-xen",
+ "parent": "pci-piix3"
+ },
+ {
+ "name": "virtio-net-pci",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "i82558a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "loader",
+ "parent": "device"
+ },
+ {
+ "name": "usb-serial",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "pvscsi",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Denverton-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-5.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82801",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-mem-pci",
+ "parent": "virtio-mem-pci-base"
+ },
+ {
+ "name": "virtio-pmem-pci",
+ "parent": "virtio-pmem-pci-base"
+ },
+ {
+ "name": "accel",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-tablet-pci",
+ "parent": "virtio-tablet-pci-base-type"
+ },
+ {
+ "name": "dc390",
+ "parent": "am53c974"
+ },
+ {
+ "name": "EPYC-Milan-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i6300esb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Cascadelake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "floppy",
+ "parent": "device"
+ },
+ {
+ "name": "authz-list",
+ "parent": "authz"
+ },
+ {
+ "name": "pc-i440fx-4.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Opteron_G4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-qemu-vdagent",
+ "parent": "chardev"
+ },
+ {
+ "name": "vhost-user-fs-pci",
+ "parent": "vhost-user-fs-pci-base"
+ },
+ {
+ "name": "sb16",
+ "parent": "isa-device"
+ },
+ {
+ "name": "ich9-ahci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-2.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-user-scsi-pci-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "Westmere-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmbus",
+ "parent": "bus"
+ },
+ {
+ "name": "chardev-pipe",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "i2c-ddc",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "can-host-socketcan",
+ "parent": "can-host"
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82562",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-4.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pci-bridge-seat",
+ "parent": "pci-bridge"
+ },
+ {
+ "name": "lsi53c895a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvm32-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qio-channel-block",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "pc-i440fx-6.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "SandyBridge-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-mux",
+ "parent": "chardev"
+ },
+ {
+ "name": "intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "base-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hyperv-synic",
+ "parent": "device"
+ },
+ {
+ "name": "Opteron_G1-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvm64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "IDE",
+ "parent": "bus"
+ },
+ {
+ "name": "486-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pcie-root-port",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "mptsas1068",
+ "parent": "pci-device"
+ },
+ {
+ "name": "scsi-block",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "Snowridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-spicevmc",
+ "parent": "chardev-spice"
+ },
+ {
+ "name": "q35-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "pc-i440fx-2.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-2.12-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "SCSI",
+ "parent": "bus"
+ },
+ {
+ "name": "Penryn-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hda-micro",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "pxb-cxl",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Dhyana-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "rng-builtin",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "sd-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "filter-dump",
+ "parent": "netfilter"
+ },
+ {
+ "name": "chardev-ringbuf",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-pci-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "smbus-ipmi",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "Skylake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nvme-subsys",
+ "parent": "device"
+ },
+ {
+ "name": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "SandyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-5.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qio-channel-tls",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-blk-pci-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "chardev-stdio",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "virtio-vga",
+ "parent": "virtio-vga-base-type"
+ },
+ {
+ "name": "authz-pam",
+ "parent": "authz"
+ },
+ {
+ "name": "Dhyana-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ }
+ ],
+ "id": "libvirt-7"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-blk-pci"
+ },
+ "id": "libvirt-8"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 256,
+ "name": "queue-size",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-invalid",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": 65535,
+ "name": "num-queues",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-blk-device>"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "config-wce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "seg-max-adjust",
+ "type": "bool"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": true,
+ "name": "report-discard-granularity",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": "auto",
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "scsi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 4194303,
+ "name": "max-discard-sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "discard",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "request-merging",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "write-zeroes",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4194303,
+ "name": "max-write-zeroes-sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-failed",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-enable-wce-if-config-wce",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-8"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-pci"
+ },
+ "id": "libvirt-9"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "mac",
+ "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "gso",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 150000,
+ "name": "x-txtimer",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "mq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "mrg_rxbuf",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "x-txburst",
+ "type": "int32"
+ },
+ {
+ "default-value": 0,
+ "name": "host_mtu",
+ "type": "uint16"
+ },
+ {
+ "name": "tx",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "rss",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "status",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "failover",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-net-device>"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_mac_addr",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "tx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "guest_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "hash",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_guest_offloads",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "guest_rsc_ext",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "duplex",
+ "type": "str"
+ },
+ {
+ "default-value": 300000,
+ "name": "rsc_interval",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "guest_announce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "netdev",
+ "description": "ID of a netdev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "host_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-mtu-bypass-backend",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_rx_extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "rx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "guest_csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_vlan",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": -1,
+ "name": "speed",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_rx",
+ "description": "on/off",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-9"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-pci"
+ },
+ "id": "libvirt-10"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "num_queues",
+ "type": "uint32"
+ },
+ {
+ "default-value": 65535,
+ "name": "max_sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": true,
+ "name": "param_change",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "virtqueue_size",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "seg_max_adjust",
+ "type": "bool"
+ },
+ {
+ "default-value": 128,
+ "name": "cmd_per_lun",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-scsi-device>"
+ }
+ ],
+ "id": "libvirt-10"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-ccw"
+ },
+ "id": "libvirt-11"
+}
+
+{
+ "id": "libvirt-11",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-net-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-ccw"
+ },
+ "id": "libvirt-12"
+}
+
+{
+ "id": "libvirt-12",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-scsi-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vfio-pci"
+ },
+ "id": "libvirt-13"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msix",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-vga",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "on",
+ "name": "x-pre-copy-dirty-page-tracking",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "x-nv-gpudirect-clique",
+ "description": "NVIDIA GPUDirect Clique ID (0 - 15)",
+ "type": "uint4"
+ },
+ {
+ "default-value": "off",
+ "name": "x-msix-relocation",
+ "description": "off/auto/bar0/bar1/bar2/bar3/bar4/bar5",
+ "type": "OffAutoPCIBAR"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-vfio-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "name": "sysfsdev",
+ "type": "str"
+ },
+ {
+ "name": "host",
+ "description": "Address (bus/device/function) of the host device, example: 04:10.0",
+ "type": "str"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-device-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msi",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-enable-migration",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-geforce-quirks",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-req",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "x-igd-gms",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1100,
+ "name": "x-intx-mmap-timeout-ms",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-intx",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-device-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": "off",
+ "name": "display",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "x-igd-opregion",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-mmap",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-balloon-allowed",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-13"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "scsi-hd"
+ },
+ "id": "libvirt-14"
+}
+
+{
+ "return": [
+ {
+ "default-value": 4294967295,
+ "name": "scsi-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "lun",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "channel",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-invalid",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 5,
+ "name": "scsi_version",
+ "type": "int32"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "removable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ver",
+ "type": "str"
+ },
+ {
+ "default-value": 1073741824,
+ "name": "max_unmap_size",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "name": "product",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "rotation_rate",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "dpofua",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": 0,
+ "name": "wwn",
+ "type": "uint64"
+ },
+ {
+ "name": "vendor",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": "auto",
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 2147483647,
+ "name": "max_io_size",
+ "type": "uint64"
+ },
+ {
+ "default-value": false,
+ "name": "quirk_mode_page_vendor_specific_apple",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "port_wwn",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "port_index",
+ "type": "uint16"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-failed",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "device_id",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-14"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ide-hd"
+ },
+ "id": "libvirt-15"
+}
+
+{
+ "return": [
+ {
+ "default-value": 4294967295,
+ "name": "unit",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-invalid",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "model",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "rotation_rate",
+ "type": "uint16"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "name": "ver",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "wwn",
+ "type": "uint64"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": "auto",
+ "name": "bios-chs-trans",
+ "description": "Logical CHS translation algorithm, auto/none/lba/large/rechs",
+ "type": "BiosAtaTranslation"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-failed",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-15"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "PIIX4_PM"
+ },
+ "id": "libvirt-16"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "acpi-pci-hotplug-with-bridge-support",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "smb_io_base",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "disable_s3",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "acpi-root-pci-hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "smm-enabled",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "disable_s4",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "memory-hotplug-support",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "smm-compat",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-not-migrate-acpi-index",
+ "type": "bool"
+ },
+ {
+ "default-value": 2,
+ "name": "s4_val",
+ "type": "uint8"
+ },
+ {
+ "name": "smi-irq[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "unnamed-gpio-out[0]",
+ "type": "link<irq>"
+ }
+ ],
+ "id": "libvirt-16"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-redir"
+ },
+ "id": "libvirt-17"
+}
+
+{
+ "return": [
+ {
+ "name": "pcap",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "msos-desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "name": "filter",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "streams",
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "description": "ID of a chardev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": 2,
+ "name": "debug",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "suppress-remote-wake",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "attached",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-17"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-storage"
+ },
+ "id": "libvirt-18"
+}
+
+{
+ "return": [
+ {
+ "name": "pcap",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "msos-desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "commandlog",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "removable",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-failed",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-invalid",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "attached",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-18"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "kvm-pit"
+ },
+ "id": "libvirt-19"
+}
+
+{
+ "return": [
+ {
+ "default-value": "delay",
+ "name": "lost_tick_policy",
+ "type": "LostTickPolicy"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "iobase",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-19"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "VGA"
+ },
+ "id": "libvirt-20"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "refresh_rate",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "global-vmstate",
+ "type": "bool"
+ },
+ {
+ "name": "big-endian-framebuffer",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "vgamem_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "qemu-extended-regs",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "mmio",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "ymax",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "xmax",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-20"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vmware-svga"
+ },
+ "id": "libvirt-21"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "global-vmstate",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "vgamem_mb",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-21"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "qxl"
+ },
+ "id": "libvirt-22"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "global-vmstate",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "vgamem_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vram64_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vram_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "debug",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "max_outputs",
+ "type": "uint16"
+ },
+ {
+ "default-value": 5,
+ "name": "revision",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "cmdlog",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "ram_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 67108864,
+ "name": "ram_size",
+ "type": "uint32"
+ },
+ {
+ "default-value": 67108864,
+ "name": "vram_size",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "guestdebug",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1024,
+ "name": "surfaces",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-22"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-pci"
+ },
+ "id": "libvirt-23"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 3,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 800,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "blob",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1280,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-gpu-device>"
+ }
+ ],
+ "id": "libvirt-23"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-device"
+ },
+ "id": "libvirt-24"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1280,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "blob",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 800,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1,
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-24"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ICH9-LPC"
+ },
+ "id": "libvirt-25"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-cpu-hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-cpu-hotunplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "smm-compat",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "noreboot",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-broadcast",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "enable_tco",
+ "type": "bool"
+ },
+ {
+ "name": "cpu-hotplug-legacy",
+ "type": "bool"
+ },
+ {
+ "name": "acpi_enable_cmd",
+ "type": "uint8"
+ },
+ {
+ "name": "acpi-pci-hotplug-with-bridge-support",
+ "type": "bool"
+ },
+ {
+ "name": "disable_s3",
+ "type": "uint8"
+ },
+ {
+ "name": "disable_s4",
+ "type": "uint8"
+ },
+ {
+ "name": "acpi_disable_cmd",
+ "type": "uint8"
+ },
+ {
+ "name": "memory-hotplug-support",
+ "type": "bool"
+ },
+ {
+ "name": "gpe0_blk_len",
+ "type": "uint32"
+ },
+ {
+ "name": "x-keep-pci-slot-hpc",
+ "type": "bool"
+ },
+ {
+ "name": "sci_int",
+ "type": "uint8"
+ },
+ {
+ "name": "gpe0_blk",
+ "type": "uint32"
+ },
+ {
+ "name": "x-smi-negotiated-features",
+ "type": "uint64"
+ },
+ {
+ "name": "s4_val",
+ "type": "uint8"
+ },
+ {
+ "name": "pm_io_base",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-25"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-pci"
+ },
+ "id": "libvirt-26"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-reporting",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "page-poison",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": false,
+ "name": "qemu-4-0-config-size",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-hint",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-balloon-device>"
+ }
+ ],
+ "id": "libvirt-26"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-ccw"
+ },
+ "id": "libvirt-27"
+}
+
+{
+ "id": "libvirt-27",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-balloon-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-device"
+ },
+ "id": "libvirt-28"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": false,
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-hint",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "page-poison",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "qemu-4-0-config-size",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-reporting",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ }
+ ],
+ "id": "libvirt-28"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "intel-iommu"
+ },
+ "id": "libvirt-29"
+}
+
+{
+ "return": [
+ {
+ "default-value": true,
+ "name": "pt",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "device-iotlb",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "intremap",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "x-scalable-mode",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "caching-mode",
+ "type": "bool"
+ },
+ {
+ "default-value": 39,
+ "name": "aw-bits",
+ "type": "uint8"
+ },
+ {
+ "default-value": "auto",
+ "name": "eim",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "version",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-buggy-eim",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "dma-translation",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "dma-drain",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "snoop-control",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-29"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "mch"
+ },
+ "id": "libvirt-30"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "smbase-smram",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "extended-tseg-mbytes",
+ "type": "uint16"
+ }
+ ],
+ "id": "libvirt-30"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "nvdimm"
+ },
+ "id": "libvirt-31"
+}
+
+{
+ "return": [
+ {
+ "name": "memdev",
+ "type": "link<memory-backend>"
+ },
+ {
+ "default-value": 0,
+ "name": "node",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "addr",
+ "type": "uint64"
+ },
+ {
+ "default-value": -1,
+ "name": "slot",
+ "type": "int32"
+ },
+ {
+ "default-value": false,
+ "name": "unarmed",
+ "type": "bool"
+ },
+ {
+ "name": "uuid",
+ "type": "QemuUUID"
+ },
+ {
+ "name": "label-size",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "uint64"
+ }
+ ],
+ "id": "libvirt-31"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "pcie-root-port"
+ },
+ "id": "libvirt-32"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "port",
+ "type": "uint8"
+ },
+ {
+ "default-value": 8,
+ "name": "aer_log_max",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-native-hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "slot",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "chassis",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "power_controller_present",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "disable-acs",
+ "type": "bool"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "mem-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "pref64-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "bus-reserve",
+ "type": "uint32"
+ },
+ {
+ "default-value": "32",
+ "name": "x-width",
+ "description": "1/2/4/8/12/16/32",
+ "type": "PCIELinkWidth"
+ },
+ {
+ "default-value": true,
+ "name": "x-migrate-msix",
+ "type": "bool"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "io-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": "16",
+ "name": "x-speed",
+ "description": "2_5/5/8/16",
+ "type": "PCIELinkSpeed"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "pref32-reserve",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-32"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-host"
+ },
+ "id": "libvirt-33"
+}
+
+{
+ "return": [
+ {
+ "name": "pcap",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "msos-desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "pipeline",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "hostbus",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4,
+ "name": "isobufs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "vendorid",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "productid",
+ "type": "uint32"
+ },
+ {
+ "name": "hostport",
+ "type": "str"
+ },
+ {
+ "name": "hostdevice",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "hostaddr",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "suppress-remote-wake",
+ "type": "bool"
+ },
+ {
+ "default-value": 2,
+ "name": "loglevel",
+ "type": "uint32"
+ },
+ {
+ "default-value": 32,
+ "name": "isobsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "guest-resets-all",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest-reset",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "attached",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-33"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vhost-user-fs-device"
+ },
+ "id": "libvirt-34"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "description": "ID of a chardev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": 128,
+ "name": "queue-size",
+ "type": "uint16"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "default-value": 1,
+ "name": "num-request-queues",
+ "type": "uint16"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-34"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-mem-pci"
+ },
+ "id": "libvirt-35"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "memaddr",
+ "type": "uint64"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "memdev",
+ "type": "link<memory-backend>"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "node",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "requested-size",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "block-size",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "prealloc",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "unplugged-inaccessible",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-mem>"
+ }
+ ],
+ "id": "libvirt-35"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-iommu-pci"
+ },
+ "id": "libvirt-36"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "len-reserved-regions",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-iommu-device>"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "boot-bypass",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "primary-bus",
+ "type": "link<PCI>"
+ }
+ ],
+ "id": "libvirt-36"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-file"
+ },
+ "id": "libvirt-37"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "description": "Set to 'off' to exclude from core dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "description": "Number of CPU threads to use for prealloc",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "description": "Set the NUMA policy",
+ "type": "HostMemPolicy"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "name": "prealloc",
+ "description": "Preallocate memory",
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "description": "Reserve swap space (or huge pages) if applicable",
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "description": "Binds memory to the list of NUMA host nodes",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "description": "Mark memory as mergeable",
+ "type": "bool"
+ },
+ {
+ "name": "readonly",
+ "type": "bool"
+ },
+ {
+ "name": "align",
+ "type": "int"
+ },
+ {
+ "name": "pmem",
+ "type": "bool"
+ },
+ {
+ "name": "mem-path",
+ "type": "string"
+ },
+ {
+ "name": "discard-data",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-memfd"
+ },
+ "id": "libvirt-38"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "description": "Set to 'off' to exclude from core dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "description": "Number of CPU threads to use for prealloc",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "description": "Set the NUMA policy",
+ "type": "HostMemPolicy"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "name": "prealloc",
+ "description": "Preallocate memory",
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "description": "Reserve swap space (or huge pages) if applicable",
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "description": "Binds memory to the list of NUMA host nodes",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "description": "Mark memory as mergeable",
+ "type": "bool"
+ },
+ {
+ "name": "hugetlb",
+ "description": "Use huge pages",
+ "type": "bool"
+ },
+ {
+ "name": "seal",
+ "description": "Seal growing & shrinking",
+ "type": "bool"
+ },
+ {
+ "name": "hugetlbsize",
+ "description": "Huge pages size (ex: 2M, 1G)",
+ "type": "int"
+ }
+ ],
+ "id": "libvirt-38"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-x86_64-cpu"
+ },
+ "id": "libvirt-39"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "parent_bus",
+ "type": "link<bus>"
+ },
+ {
+ "name": "realized",
+ "type": "bool"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ },
+ {
+ "name": "memory",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "name": "legacy-memory",
+ "type": "str"
+ },
+ {
+ "name": "vmx-invept-single-context",
+ "type": "bool"
+ },
+ {
+ "name": "core-capability",
+ "type": "bool"
+ },
+ {
+ "name": "popcnt",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-debug",
+ "type": "bool"
+ },
+ {
+ "name": "dtes64",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid-single-addr",
+ "type": "bool"
+ },
+ {
+ "name": "xstore",
+ "type": "bool"
+ },
+ {
+ "name": "min-xlevel2",
+ "type": "uint32"
+ },
+ {
+ "name": "stepping",
+ "type": "int"
+ },
+ {
+ "name": "vmx-vmfunc",
+ "type": "bool"
+ },
+ {
+ "name": "hv-emsr-bitmap",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "pse36",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-4vnniw",
+ "type": "bool"
+ },
+ {
+ "name": "x-intel-pt-auto-level",
+ "type": "bool"
+ },
+ {
+ "name": "fma4",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-vp2intersect",
+ "type": "bool"
+ },
+ {
+ "name": "avx2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-poll-control",
+ "type": "bool"
+ },
+ {
+ "name": "sgxlc",
+ "type": "bool"
+ },
+ {
+ "name": "amd-stibp",
+ "type": "bool"
+ },
+ {
+ "name": "family",
+ "type": "int"
+ },
+ {
+ "name": "vmware-cpuid-freq",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-store-lma",
+ "type": "bool"
+ },
+ {
+ "name": "hv-spinlocks",
+ "type": "uint32"
+ },
+ {
+ "name": "erms",
+ "type": "bool"
+ },
+ {
+ "name": "vaes",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-tokenkey",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-wait-sipi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-flexpriority",
+ "type": "bool"
+ },
+ {
+ "name": "hv-reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rdrand",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-advanced-exitinfo",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-pause-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-shadow-vmcs",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-vpopcntdq",
+ "type": "bool"
+ },
+ {
+ "name": "model",
+ "type": "int"
+ },
+ {
+ "name": "xcrypt",
+ "type": "bool"
+ },
+ {
+ "name": "tbm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-eptad",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-monitor-exit",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-eoi",
+ "type": "bool"
+ },
+ {
+ "name": "lm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-spack",
+ "type": "uint32"
+ },
+ {
+ "name": "x-vendor-cpuid-only",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-unrestricted-guest",
+ "type": "bool"
+ },
+ {
+ "name": "host-phys-bits-limit",
+ "type": "uint8"
+ },
+ {
+ "name": "pae",
+ "type": "bool"
+ },
+ {
+ "name": "hv-runtime",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ssse3",
+ "type": "bool"
+ },
+ {
+ "name": "phe",
+ "type": "bool"
+ },
+ {
+ "name": "movdiri",
+ "type": "bool"
+ },
+ {
+ "name": "host-phys-bits",
+ "type": "bool"
+ },
+ {
+ "name": "taa-no",
+ "type": "bool"
+ },
+ {
+ "name": "full-width-write",
+ "type": "bool"
+ },
+ {
+ "name": "arat",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vbmi2",
+ "type": "bool"
+ },
+ {
+ "name": "arch-lbr",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vnmi-pending",
+ "type": "bool"
+ },
+ {
+ "name": "x2apic",
+ "type": "bool"
+ },
+ {
+ "name": "npt",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invpcid-exit",
+ "type": "bool"
+ },
+ {
+ "name": "avx512ifma",
+ "type": "bool"
+ },
+ {
+ "name": "model-id",
+ "type": "string"
+ },
+ {
+ "name": "ucode-rev",
+ "type": "uint64"
+ },
+ {
+ "name": "hv-evmcs",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "pmm-en",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-io-exit",
+ "type": "bool"
+ },
+ {
+ "name": "tsc",
+ "type": "bool"
+ },
+ {
+ "name": "x-force-features",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ins-outs",
+ "type": "bool"
+ },
+ {
+ "name": "dca",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-x2apic",
+ "type": "bool"
+ },
+ {
+ "name": "ia64",
+ "type": "bool"
+ },
+ {
+ "name": "hv-stimer-direct",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr-core",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr3-load-noexit",
+ "type": "bool"
+ },
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "kvmclock",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-noload-debugctl",
+ "type": "bool"
+ },
+ {
+ "name": "md-clear",
+ "type": "bool"
+ },
+ {
+ "name": "invtsc",
+ "type": "bool"
+ },
+ {
+ "name": "pn",
+ "type": "bool"
+ },
+ {
+ "name": "avx512cd",
+ "type": "bool"
+ },
+ {
+ "name": "cmp-legacy",
+ "type": "bool"
+ },
+ {
+ "name": "cx16",
+ "type": "bool"
+ },
+ {
+ "name": "avx512dq",
+ "type": "bool"
+ },
+ {
+ "name": "abm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-shutdown",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-ipi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-register",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr-opt",
+ "type": "bool"
+ },
+ {
+ "name": "skip-l1dfl-vmentry",
+ "type": "bool"
+ },
+ {
+ "name": "fill-mtrr-mask",
+ "type": "bool"
+ },
+ {
+ "name": "x-migrate-smi-count",
+ "type": "bool"
+ },
+ {
+ "name": "pcid",
+ "type": "bool"
+ },
+ {
+ "name": "rdpid",
+ "type": "bool"
+ },
+ {
+ "name": "wbnoinvd",
+ "type": "bool"
+ },
+ {
+ "name": "syscall",
+ "type": "bool"
+ },
+ {
+ "name": "pse",
+ "type": "bool"
+ },
+ {
+ "name": "xsaves",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-pat",
+ "type": "bool"
+ },
+ {
+ "name": "vgif",
+ "type": "bool"
+ },
+ {
+ "name": "mce",
+ "type": "bool"
+ },
+ {
+ "name": "xfd",
+ "type": "bool"
+ },
+ {
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "ibpb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-xapic",
+ "type": "bool"
+ },
+ {
+ "name": "cldemote",
+ "type": "bool"
+ },
+ {
+ "name": "lwp",
+ "type": "bool"
+ },
+ {
+ "name": "rtm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-tlbflush",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-steal-time",
+ "type": "bool"
+ },
+ {
+ "name": "cpuid-0xb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-hlt-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-desc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-eptp-switching",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-provisionkey",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-efer",
+ "type": "bool"
+ },
+ {
+ "name": "level-func7",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-invlpg-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-efer",
+ "type": "bool"
+ },
+ {
+ "name": "die-id",
+ "type": "int32"
+ },
+ {
+ "name": "vme",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-unhalt",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-no-smi-migration",
+ "type": "bool"
+ },
+ {
+ "name": "svm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-hint-dedicated",
+ "type": "bool"
+ },
+ {
+ "name": "mca",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-tsc-scaling",
+ "type": "bool"
+ },
+ {
+ "name": "mtrr",
+ "type": "bool"
+ },
+ {
+ "name": "cid",
+ "type": "bool"
+ },
+ {
+ "name": "pfthreshold",
+ "type": "bool"
+ },
+ {
+ "name": "pmm",
+ "type": "bool"
+ },
+ {
+ "name": "lahf-lm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-build",
+ "type": "uint32"
+ },
+ {
+ "name": "tcg-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-pkrs",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-ia32e-mode",
+ "type": "bool"
+ },
+ {
+ "name": "x-hv-max-vps",
+ "type": "int32"
+ },
+ {
+ "name": "tm",
+ "type": "bool"
+ },
+ {
+ "name": "pbe",
+ "type": "bool"
+ },
+ {
+ "name": "amx-int8",
+ "type": "bool"
+ },
+ {
+ "name": "sgx1",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdpmc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "split-lock-detect",
+ "type": "bool"
+ },
+ {
+ "name": "apic-id",
+ "type": "uint32"
+ },
+ {
+ "name": "fpu",
+ "type": "bool"
+ },
+ {
+ "name": "skinit",
+ "type": "bool"
+ },
+ {
+ "name": "l3-cache",
+ "type": "bool"
+ },
+ {
+ "name": "sep",
+ "type": "bool"
+ },
+ {
+ "name": "intel-pt-lip",
+ "type": "bool"
+ },
+ {
+ "name": "hv-tlbflush-direct",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-bf16",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept-single-context-noglobals",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdtscp-exit",
+ "type": "bool"
+ },
+ {
+ "name": "nx",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid-all-context",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-kss",
+ "type": "bool"
+ },
+ {
+ "name": "pause-filter",
+ "type": "bool"
+ },
+ {
+ "name": "ds-cpl",
+ "type": "bool"
+ },
+ {
+ "name": "fsrm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-efer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vmwrite-vmexit-fields",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept",
+ "type": "bool"
+ },
+ {
+ "name": "nodeid-msr",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-execonly",
+ "type": "bool"
+ },
+ {
+ "name": "smap",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-io-bitmap",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-preemption-timer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept-all-context",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-intr-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-clear-bndcfgs",
+ "type": "bool"
+ },
+ {
+ "name": "cr8legacy",
+ "type": "bool"
+ },
+ {
+ "name": "xlevel",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-vpid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-zero-len-inject",
+ "type": "bool"
+ },
+ {
+ "name": "pschange-mc-no",
+ "type": "bool"
+ },
+ {
+ "name": "virt-ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "umip",
+ "type": "bool"
+ },
+ {
+ "name": "avx512er",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vintr-pending",
+ "type": "bool"
+ },
+ {
+ "name": "xstore-en",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vl",
+ "type": "bool"
+ },
+ {
+ "name": "ibrs",
+ "type": "bool"
+ },
+ {
+ "name": "rsba",
+ "type": "bool"
+ },
+ {
+ "name": "cmov",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-posted-intr",
+ "type": "bool"
+ },
+ {
+ "name": "xcrypt-en",
+ "type": "bool"
+ },
+ {
+ "name": "tm2",
+ "type": "bool"
+ },
+ {
+ "name": "lbrv",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-scale",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-secondary-ctls",
+ "type": "bool"
+ },
+ {
+ "name": "xsaveerptr",
+ "type": "bool"
+ },
+ {
+ "name": "fsgsbase",
+ "type": "bool"
+ },
+ {
+ "name": "x-hv-synic-kvm-only",
+ "type": "bool"
+ },
+ {
+ "name": "avx512bw",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-minor",
+ "type": "uint16"
+ },
+ {
+ "name": "sse4a",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-frequency",
+ "type": "int"
+ },
+ {
+ "name": "smx",
+ "type": "bool"
+ },
+ {
+ "name": "hle",
+ "type": "bool"
+ },
+ {
+ "name": "monitor",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-fp16",
+ "type": "bool"
+ },
+ {
+ "name": "tce",
+ "type": "bool"
+ },
+ {
+ "name": "vpclmulqdq",
+ "type": "bool"
+ },
+ {
+ "name": "hv-frequencies",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-tlb-flush",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdtsc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-hlt",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr8-load-exit",
+ "type": "bool"
+ },
+ {
+ "name": "mds-no",
+ "type": "bool"
+ },
+ {
+ "name": "svme-addr-chk",
+ "type": "bool"
+ },
+ {
+ "name": "amd-no-ssb",
+ "type": "bool"
+ },
+ {
+ "name": "adx",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-pkrs",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-sbranch",
+ "type": "uint8"
+ },
+ {
+ "name": "crash-information",
+ "type": "GuestPanicInformation"
+ },
+ {
+ "name": "min-level",
+ "type": "uint32"
+ },
+ {
+ "name": "full-cpuid-auto-level",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-bndcfgs",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vnmi",
+ "type": "bool"
+ },
+ {
+ "name": "pclmulqdq",
+ "type": "bool"
+ },
+ {
+ "name": "xop",
+ "type": "bool"
+ },
+ {
+ "name": "msr",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-enforce-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "ssb-no",
+ "type": "bool"
+ },
+ {
+ "name": "clflush",
+ "type": "bool"
+ },
+ {
+ "name": "xlevel2",
+ "type": "uint32"
+ },
+ {
+ "name": "mpx",
+ "type": "bool"
+ },
+ {
+ "name": "extapic",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-mtf",
+ "type": "bool"
+ },
+ {
+ "name": "hv-enforce-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "hv-stimer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "sgx2",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdseed-exit",
+ "type": "bool"
+ },
+ {
+ "name": "smep",
+ "type": "bool"
+ },
+ {
+ "name": "xsavec",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-mwait-exit",
+ "type": "bool"
+ },
+ {
+ "name": "hv-synic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "cx8",
+ "type": "bool"
+ },
+ {
+ "name": "pku",
+ "type": "bool"
+ },
+ {
+ "name": "kvm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-pat",
+ "type": "bool"
+ },
+ {
+ "name": "hv-passthrough",
+ "type": "bool"
+ },
+ {
+ "name": "vmcb-clean",
+ "type": "bool"
+ },
+ {
+ "name": "tsx-ldtrk",
+ "type": "bool"
+ },
+ {
+ "name": "hv-tlbflush-ext",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "stibp",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr3-store-noexit",
+ "type": "bool"
+ },
+ {
+ "name": "tsx-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "svm-lock",
+ "type": "bool"
+ },
+ {
+ "name": "hv-reenlightenment",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-exinfo",
+ "type": "bool"
+ },
+ {
+ "name": "avic",
+ "type": "bool"
+ },
+ {
+ "name": "ds",
+ "type": "bool"
+ },
+ {
+ "name": "legacy-cache",
+ "type": "bool"
+ },
+ {
+ "name": "sse",
+ "type": "bool"
+ },
+ {
+ "name": "clzero",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vpindex",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "osvw",
+ "type": "bool"
+ },
+ {
+ "name": "pks",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-2mb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-true-ctls",
+ "type": "bool"
+ },
+ {
+ "name": "movdir64b",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept",
+ "type": "bool"
+ },
+ {
+ "name": "acpi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-encls-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr8-store-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdrand-exit",
+ "type": "bool"
+ },
+ {
+ "name": "nrip-save",
+ "type": "bool"
+ },
+ {
+ "name": "gfni",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-mmu",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-msi-ext-dest-id",
+ "type": "bool"
+ },
+ {
+ "name": "serialize",
+ "type": "bool"
+ },
+ {
+ "name": "avx512bitalg",
+ "type": "bool"
+ },
+ {
+ "name": "rdseed",
+ "type": "bool"
+ },
+ {
+ "name": "sha-ni",
+ "type": "bool"
+ },
+ {
+ "name": "ace2",
+ "type": "bool"
+ },
+ {
+ "name": "lmce",
+ "type": "bool"
+ },
+ {
+ "name": "waitpkg",
+ "type": "bool"
+ },
+ {
+ "name": "topoext",
+ "type": "bool"
+ },
+ {
+ "name": "f16c",
+ "type": "bool"
+ },
+ {
+ "name": "3dnowprefetch",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-4fmaps",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-1gb",
+ "type": "bool"
+ },
+ {
+ "name": "avx",
+ "type": "bool"
+ },
+ {
+ "name": "sse2",
+ "type": "bool"
+ },
+ {
+ "name": "rdctl-no",
+ "type": "bool"
+ },
+ {
+ "name": "mmx",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-major",
+ "type": "uint16"
+ },
+ {
+ "name": "level",
+ "type": "uint32"
+ },
+ {
+ "name": "avx512vnni",
+ "type": "bool"
+ },
+ {
+ "name": "pni",
+ "type": "bool"
+ },
+ {
+ "name": "movbe",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ple",
+ "type": "bool"
+ },
+ {
+ "name": "mmxext",
+ "type": "bool"
+ },
+ {
+ "name": "lbr-fmt",
+ "type": "uint64"
+ },
+ {
+ "name": "bus-lock-detect",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-vid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-page-walk-5",
+ "type": "bool"
+ },
+ {
+ "name": "flushbyasid",
+ "type": "bool"
+ },
+ {
+ "name": "rdtscp",
+ "type": "bool"
+ },
+ {
+ "name": "clwb",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-sched-yield",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-asyncpf",
+ "type": "bool"
+ },
+ {
+ "name": "decodeassists",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-wbinvd-exit",
+ "type": "bool"
+ },
+ {
+ "name": "pat",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-clear-rtit-ctl",
+ "type": "bool"
+ },
+ {
+ "name": "invpcid",
+ "type": "bool"
+ },
+ {
+ "name": "pdpe1gb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-pat",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vendor-id",
+ "type": "str"
+ },
+ {
+ "name": "tsc-adjust",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-rtit-ctl",
+ "type": "bool"
+ },
+ {
+ "name": "ht",
+ "type": "bool"
+ },
+ {
+ "name": "amx-tile",
+ "type": "bool"
+ },
+ {
+ "name": "xtpr",
+ "type": "bool"
+ },
+ {
+ "name": "hv-xmm-input",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-tsc-offset",
+ "type": "bool"
+ },
+ {
+ "name": "ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "3dnowext",
+ "type": "bool"
+ },
+ {
+ "name": "clflushopt",
+ "type": "bool"
+ },
+ {
+ "name": "sgx",
+ "type": "bool"
+ },
+ {
+ "name": "unavailable-features",
+ "type": "strList"
+ },
+ {
+ "name": "xsave",
+ "type": "bool"
+ },
+ {
+ "name": "pdcm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-crash",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "est",
+ "type": "bool"
+ },
+ {
+ "name": "vendor",
+ "type": "string"
+ },
+ {
+ "name": "pge",
+ "type": "bool"
+ },
+ {
+ "name": "pcommit",
+ "type": "bool"
+ },
+ {
+ "name": "ibs",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-deadline",
+ "type": "bool"
+ },
+ {
+ "name": "kvmclock-stable-bit",
+ "type": "bool"
+ },
+ {
+ "name": "misalignsse",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-msr-bitmap",
+ "type": "bool"
+ },
+ {
+ "name": "check",
+ "type": "bool"
+ },
+ {
+ "name": "hv-time",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-avic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr-nb",
+ "type": "bool"
+ },
+ {
+ "name": "phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "apic",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-preemption-timer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-ack-intr",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-mode64",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vbmi",
+ "type": "bool"
+ },
+ {
+ "name": "thread-id",
+ "type": "int32"
+ },
+ {
+ "name": "min-xlevel",
+ "type": "uint32"
+ },
+ {
+ "name": "socket-id",
+ "type": "int32"
+ },
+ {
+ "name": "vmx-exit-nosave-debugctl",
+ "type": "bool"
+ },
+ {
+ "name": "avx512f",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-xsaves",
+ "type": "bool"
+ },
+ {
+ "name": "arch-capabilities",
+ "type": "bool"
+ },
+ {
+ "name": "bmi2",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-perf-global-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-pml",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-page-walk-4",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-nmi-exit",
+ "type": "bool"
+ },
+ {
+ "name": "intel-pt",
+ "type": "bool"
+ },
+ {
+ "name": "wdt",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-nopiodelay",
+ "type": "bool"
+ },
+ {
+ "name": "ace2-en",
+ "type": "bool"
+ },
+ {
+ "name": "v-vmsave-vmload",
+ "type": "bool"
+ },
+ {
+ "name": "avx512pf",
+ "type": "bool"
+ },
+ {
+ "name": "bmi1",
+ "type": "bool"
+ },
+ {
+ "name": "enforce",
+ "type": "bool"
+ },
+ {
+ "name": "sse4.2",
+ "type": "bool"
+ },
+ {
+ "name": "hv-syndbg",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ibrs-all",
+ "type": "bool"
+ },
+ {
+ "name": "xgetbv1",
+ "type": "bool"
+ },
+ {
+ "name": "spec-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "3dnow",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-asyncpf-int",
+ "type": "bool"
+ },
+ {
+ "name": "vmx",
+ "type": "bool"
+ },
+ {
+ "name": "la57",
+ "type": "bool"
+ },
+ {
+ "name": "hv-no-nonarch-coresharing",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "amx-bf16",
+ "type": "bool"
+ },
+ {
+ "name": "sse4.1",
+ "type": "bool"
+ },
+ {
+ "name": "xsaveopt",
+ "type": "bool"
+ },
+ {
+ "name": "hv-relaxed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-snumber",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-entry-load-perf-global-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "avx-vnni",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr",
+ "type": "bool"
+ },
+ {
+ "name": "phe-en",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vapic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-ipi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hypervisor",
+ "type": "bool"
+ },
+ {
+ "name": "aes",
+ "type": "bool"
+ },
+ {
+ "name": "amd-ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "core-id",
+ "type": "int32"
+ },
+ {
+ "name": "de",
+ "type": "bool"
+ },
+ {
+ "name": "ss",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-movdr-exit",
+ "type": "bool"
+ },
+ {
+ "name": "fma",
+ "type": "bool"
+ },
+ {
+ "name": "host-cache-info",
+ "type": "bool"
+ },
+ {
+ "name": "migratable",
+ "type": "bool"
+ },
+ {
+ "name": "lahf_lm",
+ "type": "bool"
+ },
+ {
+ "name": "tsc_adjust",
+ "type": "bool"
+ },
+ {
+ "name": "svm_lock",
+ "type": "bool"
+ },
+ {
+ "name": "vmcb_clean",
+ "type": "bool"
+ },
+ {
+ "name": "nrip_save",
+ "type": "bool"
+ },
+ {
+ "name": "lbr_fmt",
+ "type": "uint64"
+ },
+ {
+ "name": "pclmuldq",
+ "type": "bool"
+ },
+ {
+ "name": "ffxsr",
+ "type": "bool"
+ },
+ {
+ "name": "sse4-2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_asyncpf_int",
+ "type": "bool"
+ },
+ {
+ "name": "cmp_legacy",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_nopiodelay",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr_core",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_pv_unhalt",
+ "type": "bool"
+ },
+ {
+ "name": "ds_cpl",
+ "type": "bool"
+ },
+ {
+ "name": "sse4-1",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr_nb",
+ "type": "bool"
+ },
+ {
+ "name": "sse3",
+ "type": "bool"
+ },
+ {
+ "name": "tsc_scale",
+ "type": "bool"
+ },
+ {
+ "name": "pause_filter",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_asyncpf",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_steal_time",
+ "type": "bool"
+ },
+ {
+ "name": "feature-words",
+ "type": "X86CPUFeatureWordInfo"
+ },
+ {
+ "name": "kvm_mmu",
+ "type": "bool"
+ },
+ {
+ "name": "filtered-features",
+ "type": "X86CPUFeatureWordInfo"
+ },
+ {
+ "name": "sse4_2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_poll_control",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr_opt",
+ "type": "bool"
+ },
+ {
+ "name": "nodeid_msr",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_pv_eoi",
+ "type": "bool"
+ },
+ {
+ "name": "i64",
+ "type": "bool"
+ },
+ {
+ "name": "hv-apicv",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "xd",
+ "type": "bool"
+ },
+ {
+ "name": "sse4_1",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-39"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "isapc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "486-x86_64-cpu",
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "q35"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microvm",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "microvm.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.3",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "pc"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "none-machine"
+ },
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "kernel",
+ "description": "Linux kernel image file",
+ "type": "string"
+ },
+ {
+ "name": "dt-compatible",
+ "description": "Overrides the \"compatible\" property of the dt root node",
+ "type": "string"
+ },
+ {
+ "name": "boot",
+ "description": "Boot configuration",
+ "type": "BootConfiguration"
+ },
+ {
+ "name": "memory",
+ "description": "Memory size configuration",
+ "type": "MemorySizeConfiguration"
+ },
+ {
+ "name": "initrd",
+ "description": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "confidential-guest-support",
+ "description": "Set confidential guest scheme to support",
+ "type": "link<confidential-guest-support>"
+ },
+ {
+ "name": "graphics",
+ "description": "Set on/off to enable/disable graphics emulation",
+ "type": "bool"
+ },
+ {
+ "name": "usb",
+ "description": "Set on/off to enable/disable usb",
+ "type": "bool"
+ },
+ {
+ "name": "firmware",
+ "description": "Firmware image",
+ "type": "string"
+ },
+ {
+ "name": "memory-encryption",
+ "description": "Set memory encryption object to use",
+ "type": "string"
+ },
+ {
+ "name": "smp",
+ "description": "CPU topology",
+ "type": "SMPConfiguration"
+ },
+ {
+ "name": "dump-guest-core",
+ "description": "Include guest memory in a core dump",
+ "type": "bool"
+ },
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate dynamically",
+ "type": "int"
+ },
+ {
+ "name": "dumpdtb",
+ "description": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "memory-backend",
+ "description": "Set RAM backendValid value is ID of hostmem based backend",
+ "type": "link<memory-backend>"
+ },
+ {
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "mem-merge",
+ "description": "Enable/disable memory merge support",
+ "type": "bool"
+ },
+ {
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
+ {
+ "name": "peripheral-anon",
+ "type": "child<container>"
+ },
+ {
+ "name": "peripheral",
+ "type": "child<container>"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-42"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64-v1",
+ "typename": "qemu64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32-v1",
+ "typename": "qemu32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom-v1",
+ "typename": "phenom-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "phenom-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3-v1",
+ "typename": "pentium3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2-v1",
+ "typename": "pentium2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium-v1",
+ "typename": "pentium-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270-v1",
+ "typename": "n270-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "n270-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64-v1",
+ "typename": "kvm64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32-v1",
+ "typename": "kvm32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo-v1",
+ "typename": "coreduo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "coreduo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo-v1",
+ "typename": "core2duo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "core2duo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon-v1",
+ "typename": "athlon-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "athlon-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v2",
+ "typename": "Westmere-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v1",
+ "typename": "Westmere-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Westmere-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Westmere-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v4",
+ "typename": "Snowridge-v4-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v3",
+ "typename": "Snowridge-v3-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v2",
+ "typename": "Snowridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v1",
+ "typename": "Snowridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge",
+ "typename": "Snowridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "alias-of": "Snowridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v5",
+ "typename": "Skylake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v4",
+ "typename": "Skylake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v3",
+ "typename": "Skylake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v2",
+ "typename": "Skylake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v1",
+ "typename": "Skylake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS",
+ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v4",
+ "typename": "Skylake-Client-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v3",
+ "typename": "Skylake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v2",
+ "typename": "Skylake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v1",
+ "typename": "Skylake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS",
+ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Skylake-Client-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Skylake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Skylake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v2",
+ "typename": "SandyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v1",
+ "typename": "SandyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "SandyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "SandyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn-v1",
+ "typename": "Penryn-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Penryn-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5-v1",
+ "typename": "Opteron_G5-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "alias-of": "Opteron_G5-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4-v1",
+ "typename": "Opteron_G4-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "alias-of": "Opteron_G4-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3-v1",
+ "typename": "Opteron_G3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2-v1",
+ "typename": "Opteron_G2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1-v1",
+ "typename": "Opteron_G1-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G1-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v2",
+ "typename": "Nehalem-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v1",
+ "typename": "Nehalem-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Nehalem-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Nehalem-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill-v1",
+ "typename": "KnightsMill-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill",
+ "typename": "KnightsMill-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "alias-of": "KnightsMill-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v2",
+ "typename": "IvyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v1",
+ "typename": "IvyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "alias-of": "IvyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "alias-of": "IvyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v6",
+ "typename": "Icelake-Server-v6-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v5",
+ "typename": "Icelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v4",
+ "typename": "Icelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v3",
+ "typename": "Icelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v2",
+ "typename": "Icelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v1",
+ "typename": "Icelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-noTSX",
+ "typename": "Icelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server",
+ "typename": "Icelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v4",
+ "typename": "Haswell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v3",
+ "typename": "Haswell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v2",
+ "typename": "Haswell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v1",
+ "typename": "Haswell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v2",
+ "typename": "EPYC-v2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v1",
+ "typename": "EPYC-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v2",
+ "typename": "EPYC-Rome-v2-x86_64-cpu",
+ "unavailable-features": [
+ "ibrs"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan-v1",
+ "typename": "EPYC-Milan-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "pku",
+ "fsrm",
+ "ibrs",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan",
+ "typename": "EPYC-Milan-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "pku",
+ "fsrm",
+ "ibrs",
+ "pku"
+ ],
+ "alias-of": "EPYC-Milan-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v2",
+ "typename": "Dhyana-v2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v1",
+ "typename": "Dhyana-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana",
+ "typename": "Dhyana-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Dhyana-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v3",
+ "typename": "Denverton-v3-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v2",
+ "typename": "Denverton-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v1",
+ "typename": "Denverton-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "spec-ctrl",
+ "mpx",
+ "mpx"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton",
+ "typename": "Denverton-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "spec-ctrl",
+ "mpx",
+ "mpx"
+ ],
+ "alias-of": "Denverton-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v2",
+ "typename": "Cooperlake-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v1",
+ "typename": "Cooperlake-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake",
+ "typename": "Cooperlake-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "alias-of": "Cooperlake-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe-v1",
+ "typename": "Conroe-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Conroe-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v5",
+ "typename": "Cascadelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v4",
+ "typename": "Cascadelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v3",
+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v2",
+ "typename": "Cascadelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v1",
+ "typename": "Cascadelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-noTSX",
+ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "alias-of": "Cascadelake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server",
+ "typename": "Cascadelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Cascadelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v4",
+ "typename": "Broadwell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v3",
+ "typename": "Broadwell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v2",
+ "typename": "Broadwell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v1",
+ "typename": "Broadwell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Broadwell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Broadwell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Broadwell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Broadwell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486-v1",
+ "typename": "486-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "486-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-42"
+}
+
+{
+ "execute": "query-tpm-models",
+ "id": "libvirt-43"
+}
+
+{
+ "return": [
+ "tpm-crb",
+ "tpm-tis"
+ ],
+ "id": "libvirt-43"
+}
+
+{
+ "execute": "query-tpm-types",
+ "id": "libvirt-44"
+}
+
+{
+ "return": [
+ "passthrough",
+ "emulator"
+ ],
+ "id": "libvirt-44"
+}
+
+{
+ "execute": "query-command-line-options",
+ "id": "libvirt-45"
+}
+
+{
+ "return": [
+ {
+ "parameters": [
+ {
+ "name": "zpcii-disable",
+ "help": "disable zPCI interpretation facilities",
+ "type": "boolean"
+ },
+ {
+ "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": "timeout",
+ "help": "Request timeout in seconds (default 0 = no timeout)",
+ "type": "number"
+ },
+ {
+ "name": "initiator-name",
+ "help": "Initiator iqn name to use when connecting",
+ "type": "string"
+ },
+ {
+ "name": "header-digest",
+ "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
+ "type": "string"
+ },
+ {
+ "name": "password-secret",
+ "help": "ID of the secret providing password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "help": "password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "help": "username for CHAP authentication to target",
+ "type": "string"
+ }
+ ],
+ "option": "iscsi"
+ },
+ {
+ "parameters": [
+ {
+ "name": "rendernode",
+ "type": "string"
+ },
+ {
+ "name": "gl",
+ "type": "boolean"
+ },
+ {
+ "name": "head",
+ "type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "seamless-migration",
+ "type": "boolean"
+ },
+ {
+ "name": "playback-compression",
+ "type": "boolean"
+ },
+ {
+ "name": "agent-mouse",
+ "type": "boolean"
+ },
+ {
+ "name": "streaming-video",
+ "type": "string"
+ },
+ {
+ "name": "zlib-glz-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "jpeg-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "image-compression",
+ "type": "string"
+ },
+ {
+ "name": "plaintext-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-ciphers",
+ "type": "string"
+ },
+ {
+ "name": "x509-dh-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cacert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-password",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-dir",
+ "type": "string"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-agent-file-xfer",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-copy-paste",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-ticketing",
+ "type": "boolean"
+ },
+ {
+ "name": "password-secret",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "type": "string"
+ },
+ {
+ "name": "unix",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "addr",
+ "type": "string"
+ },
+ {
+ "name": "tls-port",
+ "type": "number"
+ },
+ {
+ "name": "port",
+ "type": "number"
+ }
+ ],
+ "option": "spice"
+ },
+ {
+ "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": "dmode",
+ "type": "number"
+ },
+ {
+ "name": "fmode",
+ "type": "number"
+ },
+ {
+ "name": "sock_fd",
+ "type": "number"
+ },
+ {
+ "name": "socket",
+ "type": "string"
+ },
+ {
+ "name": "multidevs",
+ "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": "multidevs",
+ "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": [
+ ],
+ "option": "smbios"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "acpi"
+ },
+ {
+ "parameters": [
+ {
+ "name": "power-control",
+ "type": "boolean"
+ },
+ {
+ "name": "audiodev",
+ "type": "string"
+ },
+ {
+ "name": "non-adaptive",
+ "type": "boolean"
+ },
+ {
+ "name": "lossy",
+ "type": "boolean"
+ },
+ {
+ "name": "sasl-authz",
+ "type": "string"
+ },
+ {
+ "name": "tls-authz",
+ "type": "string"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "key-delay-ms",
+ "type": "number"
+ },
+ {
+ "name": "lock-key-sync",
+ "type": "boolean"
+ },
+ {
+ "name": "reverse",
+ "type": "boolean"
+ },
+ {
+ "name": "password-secret",
+ "type": "string"
+ },
+ {
+ "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": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "websocket",
+ "type": "string"
+ },
+ {
+ "name": "vnc",
+ "type": "string"
+ }
+ ],
+ "option": "vnc"
+ },
+ {
+ "parameters": [
+ {
+ "name": "watchdog",
+ "type": "string"
+ },
+ {
+ "name": "panic",
+ "type": "string"
+ },
+ {
+ "name": "reboot",
+ "type": "string"
+ },
+ {
+ "name": "shutdown",
+ "type": "string"
+ }
+ ],
+ "option": "action"
+ },
+ {
+ "parameters": [
+ {
+ "name": "gen_id",
+ "help": "Sets id of the object generating the fw_cfg blob to be inserted",
+ "type": "string"
+ },
+ {
+ "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 the 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": [
+ ],
+ "option": ""
+ },
+ {
+ "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": "guest-name",
+ "help": "Prepends guest name for error messages but only if -name guest is set otherwise option is ignored\n",
+ "type": "boolean"
+ },
+ {
+ "name": "timestamp",
+ "type": "boolean"
+ }
+ ],
+ "option": "msg"
+ },
+ {
+ "parameters": [
+ {
+ "name": "cpu-pm",
+ "type": "boolean"
+ },
+ {
+ "name": "mem-lock",
+ "type": "boolean"
+ }
+ ],
+ "option": "overcommit"
+ },
+ {
+ "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": "strict",
+ "type": "boolean"
+ },
+ {
+ "name": "reboot-timeout",
+ "type": "number"
+ },
+ {
+ "name": "splash-time",
+ "type": "number"
+ },
+ {
+ "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": "clusters",
+ "type": "number"
+ },
+ {
+ "name": "dies",
+ "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": [
+ ],
+ "option": "accel"
+ },
+ {
+ "parameters": [
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "bootindex",
+ "type": "number"
+ }
+ ],
+ "option": "option-rom"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "plugin"
+ },
+ {
+ "parameters": [
+ {
+ "name": "file",
+ "type": "string"
+ },
+ {
+ "name": "events",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "string"
+ }
+ ],
+ "option": "trace"
+ },
+ {
+ "parameters": [
+ {
+ "name": "pretty",
+ "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": "nic"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "netdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "device"
+ },
+ {
+ "parameters": [
+ {
+ "name": "abstract",
+ "type": "boolean"
+ },
+ {
+ "name": "tight",
+ "default": "on",
+ "type": "boolean"
+ },
+ {
+ "name": "clipboard",
+ "type": "boolean"
+ },
+ {
+ "name": "mouse",
+ "type": "boolean"
+ },
+ {
+ "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": "websocket",
+ "type": "boolean"
+ },
+ {
+ "name": "tls-authz",
+ "type": "string"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "tn3270",
+ "type": "boolean"
+ },
+ {
+ "name": "telnet",
+ "type": "boolean"
+ },
+ {
+ "name": "reconnect",
+ "type": "number"
+ },
+ {
+ "name": "nodelay",
+ "type": "boolean"
+ },
+ {
+ "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": "fd",
+ "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": "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, io_uring)",
+ "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": "auto-read-only",
+ "help": "Node can become read-only if opening read-write fails",
+ "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"
+}
+
+{
+ "execute": "query-migrate-capabilities",
+ "id": "libvirt-46"
+}
+
+{
+ "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": "multifd"
+ },
+ {
+ "state": false,
+ "capability": "dirty-bitmaps"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-blocktime"
+ },
+ {
+ "state": false,
+ "capability": "late-block-activate"
+ },
+ {
+ "state": false,
+ "capability": "x-ignore-shared"
+ },
+ {
+ "state": false,
+ "capability": "validate-uuid"
+ },
+ {
+ "state": false,
+ "capability": "background-snapshot"
+ },
+ {
+ "state": false,
+ "capability": "zero-copy-send"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-preempt"
+ }
+ ],
+ "id": "libvirt-46"
+}
+
+{
+ "execute": "query-sev-capabilities",
+ "id": "libvirt-47"
+}
+
+{
+ "id": "libvirt-47",
+ "error": {
+ "class": "GenericError",
+ "desc": "SEV: Failed to open /dev/sev: No such file or directory"
+ }
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "host"
+ }
+ },
+ "id": "libvirt-48"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": true,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": true,
+ "bus-lock-detect": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": true,
+ "perfctr-core": true,
+ "mpx": false,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 23,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": true,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": true,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 16,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "arch-lbr": false,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": true,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": false,
+ "pks": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "avx512-4fmaps": false,
+ "vmcb-clean": true,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": false,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": true,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": true,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": true,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": true,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": true,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": true,
+ "pcommit": false,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": true,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": true,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "kvm-pv-ipi": true,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 113,
+ "movbe": true,
+ "nrip-save": true,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": true,
+ "skip-l1dfl-vmentry": true,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "stepping": 0,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": false,
+ "vmx-invept": false,
+ "osvw": true,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": true,
+ "kvm-steal-time": true,
+ "avx512-vp2intersect": false,
+ "kvmclock": true,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": true,
+ "v-vmsave-vmload": true,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": true,
+ "xop": false,
+ "ibpb": true,
+ "ibrs": false,
+ "avx": true,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": false,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": true,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": true,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": true,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": true,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483681,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": true,
+ "tsc-scale": true,
+ "topoext": false,
+ "amd-stibp": true,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": false,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": true,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": true,
+ "3dnow": false,
+ "erms": false,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": true,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": true,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "AMD Ryzen 9 3900X 12-Core Processor ",
+ "sha-ni": true,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-48"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "host",
+ "props": {
+ "migratable": false
+ }
+ }
+ },
+ "id": "libvirt-49"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": true,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": true,
+ "bus-lock-detect": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": true,
+ "perfctr-core": true,
+ "mpx": false,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 23,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": true,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": true,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 16,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "arch-lbr": false,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": true,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": false,
+ "pks": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "avx512-4fmaps": false,
+ "vmcb-clean": true,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": false,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": true,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": true,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": true,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": true,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": true,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": true,
+ "pcommit": false,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": true,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": true,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": true,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "kvm-pv-ipi": true,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 113,
+ "movbe": true,
+ "nrip-save": true,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": true,
+ "skip-l1dfl-vmentry": true,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "stepping": 0,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": false,
+ "vmx-invept": false,
+ "osvw": true,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": true,
+ "kvm-steal-time": true,
+ "avx512-vp2intersect": false,
+ "kvmclock": true,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": true,
+ "v-vmsave-vmload": true,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": true,
+ "xop": false,
+ "ibpb": true,
+ "ibrs": false,
+ "avx": true,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": false,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": true,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": true,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": true,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": true,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483681,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": true,
+ "tsc-scale": true,
+ "topoext": false,
+ "amd-stibp": true,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": false,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": true,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": true,
+ "3dnow": false,
+ "erms": false,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": true,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": true,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "AMD Ryzen 9 3900X 12-Core Processor ",
+ "sha-ni": true,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-49"
+}
+
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-2"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [
+ "kvm"
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64-v1",
+ "typename": "qemu64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32-v1",
+ "typename": "qemu32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom-v1",
+ "typename": "phenom-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fxsr-opt"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "fxsr-opt"
+ ],
+ "alias-of": "phenom-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3-v1",
+ "typename": "pentium3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2-v1",
+ "typename": "pentium2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium-v1",
+ "typename": "pentium-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270-v1",
+ "typename": "n270-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "n270-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64-v1",
+ "typename": "kvm64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32-v1",
+ "typename": "kvm32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo-v1",
+ "typename": "coreduo-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "coreduo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo-v1",
+ "typename": "core2duo-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "core2duo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon-v1",
+ "typename": "athlon-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "athlon-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v2",
+ "typename": "Westmere-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v1",
+ "typename": "Westmere-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Westmere-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Westmere-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v4",
+ "typename": "Snowridge-v4-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v3",
+ "typename": "Snowridge-v3-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v2",
+ "typename": "Snowridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v1",
+ "typename": "Snowridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge",
+ "typename": "Snowridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "alias-of": "Snowridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v5",
+ "typename": "Skylake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v4",
+ "typename": "Skylake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v3",
+ "typename": "Skylake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v2",
+ "typename": "Skylake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v1",
+ "typename": "Skylake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS",
+ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v4",
+ "typename": "Skylake-Client-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v3",
+ "typename": "Skylake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v2",
+ "typename": "Skylake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v1",
+ "typename": "Skylake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS",
+ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v2",
+ "typename": "SandyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v1",
+ "typename": "SandyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "spec-ctrl"
+ ],
+ "alias-of": "SandyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx"
+ ],
+ "alias-of": "SandyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn-v1",
+ "typename": "Penryn-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Penryn-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5-v1",
+ "typename": "Opteron_G5-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "tbm",
+ "nrip-save"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "tbm",
+ "nrip-save"
+ ],
+ "alias-of": "Opteron_G5-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4-v1",
+ "typename": "Opteron_G4-v1-x86_64-cpu",
+ "unavailable-features": [
+ "avx",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "nrip-save"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "avx",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "nrip-save"
+ ],
+ "alias-of": "Opteron_G4-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3-v1",
+ "typename": "Opteron_G3-v1-x86_64-cpu",
+ "unavailable-features": [
+ "misalignsse"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [
+ "misalignsse"
+ ],
+ "alias-of": "Opteron_G3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2-v1",
+ "typename": "Opteron_G2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1-v1",
+ "typename": "Opteron_G1-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G1-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v2",
+ "typename": "Nehalem-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v1",
+ "typename": "Nehalem-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Nehalem-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Nehalem-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill-v1",
+ "typename": "KnightsMill-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "avx512f",
+ "rdseed",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill",
+ "typename": "KnightsMill-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "avx512f",
+ "rdseed",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "3dnowprefetch"
+ ],
+ "alias-of": "KnightsMill-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v2",
+ "typename": "IvyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v1",
+ "typename": "IvyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "spec-ctrl"
+ ],
+ "alias-of": "IvyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c"
+ ],
+ "alias-of": "IvyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v6",
+ "typename": "Icelake-Server-v6-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v5",
+ "typename": "Icelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v4",
+ "typename": "Icelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v3",
+ "typename": "Icelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v2",
+ "typename": "Icelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v1",
+ "typename": "Icelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-noTSX",
+ "typename": "Icelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server",
+ "typename": "Icelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v4",
+ "typename": "Haswell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v3",
+ "typename": "Haswell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v2",
+ "typename": "Haswell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v1",
+ "typename": "Haswell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "ibpb",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v2",
+ "typename": "EPYC-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v1",
+ "typename": "EPYC-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v2",
+ "typename": "EPYC-Rome-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "amd-stibp",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "amd-stibp",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan-v1",
+ "typename": "EPYC-Milan-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fsrm",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan",
+ "typename": "EPYC-Milan-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fsrm",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "alias-of": "EPYC-Milan-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "EPYC-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "EPYC-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v2",
+ "typename": "Dhyana-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v1",
+ "typename": "Dhyana-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana",
+ "typename": "Dhyana-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "Dhyana-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v3",
+ "typename": "Denverton-v3-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v2",
+ "typename": "Denverton-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v1",
+ "typename": "Denverton-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton",
+ "typename": "Denverton-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "alias-of": "Denverton-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v2",
+ "typename": "Cooperlake-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v1",
+ "typename": "Cooperlake-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake",
+ "typename": "Cooperlake-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "alias-of": "Cooperlake-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe-v1",
+ "typename": "Conroe-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Conroe-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v5",
+ "typename": "Cascadelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v4",
+ "typename": "Cascadelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v3",
+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v2",
+ "typename": "Cascadelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v1",
+ "typename": "Cascadelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-noTSX",
+ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "alias-of": "Cascadelake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server",
+ "typename": "Cascadelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Cascadelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v4",
+ "typename": "Broadwell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v3",
+ "typename": "Broadwell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v2",
+ "typename": "Broadwell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v1",
+ "typename": "Broadwell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486-v1",
+ "typename": "486-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "486-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "max"
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": false,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": false,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": false,
+ "perfctr-core": false,
+ "mpx": true,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 15,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": false,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": false,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 13,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "arch-lbr": false,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": false,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": false,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": true,
+ "pks": true,
+ "smx": false,
+ "cmp-legacy": false,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": true,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": false,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": true,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": false,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": false,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": false,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": false,
+ "tm": false,
+ "kvmclock-stable-bit": false,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": false,
+ "pcommit": true,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": false,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": false,
+ "kvm-pv-ipi": false,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 107,
+ "movbe": true,
+ "nrip-save": false,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": false,
+ "skip-l1dfl-vmentry": false,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": false,
+ "cx16": true,
+ "de": true,
+ "stepping": 1,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": true,
+ "vmx-invept": false,
+ "osvw": false,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": false,
+ "kvm-steal-time": false,
+ "avx512-vp2intersect": false,
+ "kvmclock": false,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": false,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": false,
+ "xop": false,
+ "ibpb": false,
+ "ibrs": false,
+ "avx": false,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": true,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": false,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": false,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": false,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": false,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483658,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "amd-stibp": false,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": true,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": false,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": false,
+ "3dnow": true,
+ "erms": true,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": false,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": false,
+ "avx512-4vnniw": false,
+ "vme": false,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": false,
+ "pse36": true,
+ "kvm-pv-tlb-flush": false,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "QEMU TCG CPU version 2.5+",
+ "sha-ni": false,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "max",
+ "props": {
+ "migratable": false
+ }
+ }
+ },
+ "id": "libvirt-4"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": false,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": false,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": false,
+ "perfctr-core": false,
+ "mpx": true,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 15,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": false,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": false,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 13,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "arch-lbr": false,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": false,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": false,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": true,
+ "pks": true,
+ "smx": false,
+ "cmp-legacy": false,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": true,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": false,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": true,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": false,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": false,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": false,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": false,
+ "tm": false,
+ "kvmclock-stable-bit": false,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": false,
+ "pcommit": true,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": false,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": false,
+ "kvm-pv-ipi": false,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 107,
+ "movbe": true,
+ "nrip-save": false,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": false,
+ "skip-l1dfl-vmentry": false,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": false,
+ "cx16": true,
+ "de": true,
+ "stepping": 1,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": true,
+ "vmx-invept": false,
+ "osvw": false,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": false,
+ "kvm-steal-time": false,
+ "avx512-vp2intersect": false,
+ "kvmclock": false,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": false,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": false,
+ "xop": false,
+ "ibpb": false,
+ "ibrs": false,
+ "avx": false,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": true,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": false,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": false,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": false,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": false,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483658,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "amd-stibp": false,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": true,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": false,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": false,
+ "3dnow": true,
+ "erms": true,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": false,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": false,
+ "avx512-4vnniw": false,
+ "vme": false,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": false,
+ "pse36": true,
+ "kvm-pv-tlb-flush": false,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "QEMU TCG CPU version 2.5+",
+ "sha-ni": false,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-4"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-5"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "isapc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "486-x86_64-cpu",
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "q35"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microvm",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "microvm.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.3",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "pc"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ }
+ ],
+ "id": "libvirt-5"
+}
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
new file mode 100644
index 0000000000..a417aa4eac
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
@@ -0,0 +1,3548 @@
+<qemuCaps>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <qemuctime>0</qemuctime>
+ <selfctime>0</selfctime>
+ <selfvers>0</selfvers>
+ <flag name='kvm'/>
+ <flag name='sdl'/>
+ <flag name='no-hpet'/>
+ <flag name='spice'/>
+ <flag name='hda-duplex'/>
+ <flag name='ccid-emulated'/>
+ <flag name='ccid-passthru'/>
+ <flag name='piix3-usb-uhci'/>
+ <flag name='piix4-usb-uhci'/>
+ <flag name='usb-ehci'/>
+ <flag name='ich9-usb-ehci1'/>
+ <flag name='pci-ohci'/>
+ <flag name='usb-redir'/>
+ <flag name='usb-hub'/>
+ <flag name='ich9-ahci'/>
+ <flag name='no-acpi'/>
+ <flag name='virtio-blk-pci.scsi'/>
+ <flag name='scsi-disk.channel'/>
+ <flag name='scsi-block'/>
+ <flag name='hda-micro'/>
+ <flag name='nec-usb-xhci'/>
+ <flag name='lsi'/>
+ <flag name='virtio-scsi-pci'/>
+ <flag name='blockio'/>
+ <flag name='disable-s3'/>
+ <flag name='disable-s4'/>
+ <flag name='usb-redir.filter'/>
+ <flag name='ide-drive.wwn'/>
+ <flag name='scsi-disk.wwn'/>
+ <flag name='seccomp-sandbox'/>
+ <flag name='vnc'/>
+ <flag name='qxl'/>
+ <flag name='VGA'/>
+ <flag name='cirrus-vga'/>
+ <flag name='vmware-svga'/>
+ <flag name='usb-serial'/>
+ <flag name='virtio-rng'/>
+ <flag name='rng-random'/>
+ <flag name='rng-egd'/>
+ <flag name='megasas'/>
+ <flag name='tpm-passthrough'/>
+ <flag name='tpm-tis'/>
+ <flag name='pci-bridge'/>
+ <flag name='vfio-pci'/>
+ <flag name='dmi-to-pci-bridge'/>
+ <flag name='usb-storage'/>
+ <flag name='usb-storage.removable'/>
+ <flag name='virtio-mmio'/>
+ <flag name='ich9-intel-hda'/>
+ <flag name='kvm-pit-lost-tick-policy'/>
+ <flag name='pvpanic'/>
+ <flag name='usb-kbd'/>
+ <flag name='memory-backend-ram'/>
+ <flag name='numa'/>
+ <flag name='memory-backend-file'/>
+ <flag name='usb-audio'/>
+ <flag name='rtc-reset-reinjection'/>
+ <flag name='iothread'/>
+ <flag name='migrate-rdma'/>
+ <flag name='VGA.vgamem_mb'/>
+ <flag name='vmware-svga.vgamem_mb'/>
+ <flag name='qxl.vgamem_mb'/>
+ <flag name='pc-dimm'/>
+ <flag name='machine-vmport-opt'/>
+ <flag name='pci-serial'/>
+ <flag name='gpex-pcihost'/>
+ <flag name='ioh3420'/>
+ <flag name='x3130-upstream'/>
+ <flag name='xio3130-downstream'/>
+ <flag name='rtl8139'/>
+ <flag name='e1000'/>
+ <flag name='virtio-net'/>
+ <flag name='virtio-gpu'/>
+ <flag name='virtio-keyboard'/>
+ <flag name='virtio-mouse'/>
+ <flag name='virtio-tablet'/>
+ <flag name='virtio-input-host'/>
+ <flag name='ich9-disable-s3'/>
+ <flag name='ich9-disable-s4'/>
+ <flag name='vserport-change-event'/>
+ <flag name='virtio-balloon-pci.deflate-on-oom'/>
+ <flag name='mptsas1068'/>
+ <flag name='spice-gl'/>
+ <flag name='qxl.vram64_size_mb'/>
+ <flag name='pxb'/>
+ <flag name='pxb-pcie'/>
+ <flag name='intel-iommu'/>
+ <flag name='query-hotpluggable-cpus'/>
+ <flag name='virtio-net.rx_queue_size'/>
+ <flag name='virtio-vga'/>
+ <flag name='ivshmem-plain'/>
+ <flag name='ivshmem-doorbell'/>
+ <flag name='vhost-scsi'/>
+ <flag name='query-cpu-model-expansion'/>
+ <flag name='virtio-net.host_mtu'/>
+ <flag name='spice-rendernode'/>
+ <flag name='nvdimm'/>
+ <flag name='pcie-root-port'/>
+ <flag name='query-cpu-definitions'/>
+ <flag name='cpu-cache'/>
+ <flag name='qemu-xhci'/>
+ <flag name='intel-iommu.intremap'/>
+ <flag name='intel-iommu.caching-mode'/>
+ <flag name='intel-iommu.eim'/>
+ <flag name='intel-iommu.device-iotlb'/>
+ <flag name='virtio-net.tx_queue_size'/>
+ <flag name='chardev-reconnect'/>
+ <flag name='virtio-blk.num-queues'/>
+ <flag name='vmcoreinfo'/>
+ <flag name='disk-share-rw'/>
+ <flag name='isa-serial'/>
+ <flag name='dump-completed'/>
+ <flag name='pcie-pci-bridge'/>
+ <flag name='disk-write-cache'/>
+ <flag name='nbd-tls'/>
+ <flag name='tpm-crb'/>
+ <flag name='pr-manager-helper'/>
+ <flag name='qom-list-properties'/>
+ <flag name='memory-backend-file.discard-data'/>
+ <flag name='screendump_device'/>
+ <flag name='hda-output'/>
+ <flag name='vmgenid'/>
+ <flag name='vhost-vsock'/>
+ <flag name='tpm-emulator'/>
+ <flag name='mch'/>
+ <flag name='mch.extended-tseg-mbytes'/>
+ <flag name='egl-headless'/>
+ <flag name='vfio-pci.display'/>
+ <flag name='memory-backend-memfd'/>
+ <flag name='memory-backend-memfd.hugetlb'/>
+ <flag name='iothread.poll-max-ns'/>
+ <flag name='egl-headless.rendernode'/>
+ <flag name='memory-backend-file.align'/>
+ <flag name='memory-backend-file.pmem'/>
+ <flag name='nvdimm.unarmed'/>
+ <flag name='virtio-pci-non-transitional'/>
+ <flag name='query-current-machine'/>
+ <flag name='bitmap-merge'/>
+ <flag name='nbd-bitmap'/>
+ <flag name='x86-max-cpu'/>
+ <flag name='cpu-unavailable-features'/>
+ <flag name='canonical-cpu-features'/>
+ <flag name='bochs-display'/>
+ <flag name='migration-file-drop-cache'/>
+ <flag name='dbus-vmstate'/>
+ <flag name='vhost-user-gpu'/>
+ <flag name='vhost-user-vga'/>
+ <flag name='incremental-backup'/>
+ <flag name='ramfb'/>
+ <flag name='drive-nvme'/>
+ <flag name='smp-dies'/>
+ <flag name='i8042'/>
+ <flag name='rng-builtin'/>
+ <flag name='virtio-net.failover'/>
+ <flag name='vhost-user-fs'/>
+ <flag name='query-named-block-nodes.flat'/>
+ <flag name='blockdev-snapshot.allow-write-only-overlay'/>
+ <flag name='blockdev-reopen'/>
+ <flag name='fsdev.multidevs'/>
+ <flag name='pcie-root-port.hotplug'/>
+ <flag name='aio.io_uring'/>
+ <flag name='tcg'/>
+ <flag name='virtio-blk-pci.scsi.default.disabled'/>
+ <flag name='pvscsi'/>
+ <flag name='cpu.migratable'/>
+ <flag name='intel-iommu.aw-bits'/>
+ <flag name='numa.hmat'/>
+ <flag name='usb-host.hostdevice'/>
+ <flag name='virtio-balloon.free-page-reporting'/>
+ <flag name='block-export-add'/>
+ <flag name='netdev.vhost-vdpa'/>
+ <flag name='dc390'/>
+ <flag name='am53c974'/>
+ <flag name='virtio-pmem-pci'/>
+ <flag name='vhost-user-fs.bootindex'/>
+ <flag name='vhost-user-blk'/>
+ <flag name='cpu-max'/>
+ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
+ <flag name='migration-param.block-bitmap-mapping'/>
+ <flag name='vnc-power-control'/>
+ <flag name='object.qapified'/>
+ <flag name='rotation-rate'/>
+ <flag name='compat-deprecated'/>
+ <flag name='acpi-index'/>
+ <flag name='input-linux'/>
+ <flag name='virtio-gpu-gl-pci'/>
+ <flag name='virtio-vga-gl'/>
+ <flag name='confidential-guest-support'/>
+ <flag name='query-display-options'/>
+ <flag name='set-action'/>
+ <flag name='virtio-blk.queue-size'/>
+ <flag name='virtio-mem-pci'/>
+ <flag name='memory-backend-file.reserve'/>
+ <flag name='piix4.acpi-root-pci-hotplug'/>
+ <flag name='query-dirty-rate'/>
+ <flag name='rbd-encryption'/>
+ <flag name='sev-guest-kernel-hashes'/>
+ <flag name='sev-inject-launch-secret'/>
+ <flag name='device.json+hotplug'/>
+ <flag name='virtio-mem-pci.prealloc'/>
+ <flag name='calc-dirty-rate'/>
+ <flag name='dirtyrate-param.mode'/>
+ <flag name='blockdev.nbd.tls-hostname'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
+ <flag name='virtio-iommu-pci'/>
+ <flag name='virtio-iommu.boot-bypass'/>
+ <flag name='virtio-net.rss'/>
+ <flag name='chardev.qemu-vdagent'/>
+ <flag name='display-dbus'/>
+ <flag name='iothread.thread-pool-max'/>
+ <flag name='usb-host.guest-resets-all'/>
+ <flag name='migration.blocked-reasons'/>
+ <flag name='query-stats'/>
+ <version>7001050</version>
+ <kvmVersion>0</kvmVersion>
+ <microcodeVersion>43100245</microcodeVersion>
+ <package>v7.1.0-998-g5c2439a92c</package>
+ <arch>x86_64</arch>
+ <hostCPU type='kvm' model='base' migratability='yes'>
+ <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
+ <property name='svme-addr-chk' type='boolean' value='true' migratable='yes'/>
+ <property name='cmov' type='boolean' value='true' migratable='yes'/>
+ <property name='ia64' type='boolean' value='false'/>
+ <property name='ssb-no' type='boolean' value='false'/>
+ <property name='aes' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-xapic' type='boolean' value='false'/>
+ <property name='mmx' type='boolean' value='true' migratable='yes'/>
+ <property name='rdpid' type='boolean' value='true' migratable='yes'/>
+ <property name='arat' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-page-walk-4' type='boolean' value='false'/>
+ <property name='vmx-page-walk-5' type='boolean' value='false'/>
+ <property name='gfni' type='boolean' value='false'/>
+ <property name='ibrs-all' type='boolean' value='false'/>
+ <property name='vmx-desc-exit' type='boolean' value='false'/>
+ <property name='pause-filter' type='boolean' value='true' migratable='yes'/>
+ <property name='bus-lock-detect' type='boolean' value='false'/>
+ <property name='xsavec' type='boolean' value='true' migratable='yes'/>
+ <property name='intel-pt' type='boolean' value='false'/>
+ <property name='vmx-tsc-scaling' type='boolean' value='false'/>
+ <property name='vmx-cr8-store-exit' type='boolean' value='false'/>
+ <property name='vmx-rdseed-exit' type='boolean' value='false'/>
+ <property name='vmx-eptp-switching' type='boolean' value='false'/>
+ <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/>
+ <property name='perfctr-core' type='boolean' value='true' migratable='yes'/>
+ <property name='mpx' type='boolean' value='false'/>
+ <property name='pbe' type='boolean' value='false'/>
+ <property name='avx512cd' type='boolean' value='false'/>
+ <property name='decodeassists' type='boolean' value='false'/>
+ <property name='vmx-exit-load-efer' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/>
+ <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+ <property name='family' type='number' value='23'/>
+ <property name='intel-pt-lip' type='boolean' value='false'/>
+ <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/>
+ <property name='kvm-asyncpf-int' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vnmi' type='boolean' value='false'/>
+ <property name='vmx-true-ctls' type='boolean' value='false'/>
+ <property name='vmx-ept-execonly' type='boolean' value='false'/>
+ <property name='vmx-exit-save-efer' type='boolean' value='false'/>
+ <property name='vmx-invept-all-context' type='boolean' value='false'/>
+ <property name='wbnoinvd' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512f' type='boolean' value='false'/>
+ <property name='msr' type='boolean' value='true' migratable='yes'/>
+ <property name='mce' type='boolean' value='true' migratable='yes'/>
+ <property name='mca' type='boolean' value='true' migratable='yes'/>
+ <property name='xcrypt' type='boolean' value='false'/>
+ <property name='sgx' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pat' type='boolean' value='false'/>
+ <property name='vmx-intr-exit' type='boolean' value='false'/>
+ <property name='min-level' type='number' value='16'/>
+ <property name='vmx-flexpriority' type='boolean' value='false'/>
+ <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+ <property name='cid' type='boolean' value='false'/>
+ <property name='sgx-exinfo' type='boolean' value='false'/>
+ <property name='ds' type='boolean' value='false'/>
+ <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-fp16' type='boolean' value='false'/>
+ <property name='avx512-bf16' type='boolean' value='false'/>
+ <property name='vmx-cr8-load-exit' type='boolean' value='false'/>
+ <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+ <property name='arch-lbr' type='boolean' value='false'/>
+ <property name='vmx-apicv-vid' type='boolean' value='false'/>
+ <property name='vmx-exit-save-pat' type='boolean' value='false'/>
+ <property name='xtpr' type='boolean' value='false'/>
+ <property name='tsx-ctrl' type='boolean' value='false'/>
+ <property name='vmx-ple' type='boolean' value='false'/>
+ <property name='avx512vl' type='boolean' value='false'/>
+ <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+ <property name='phe' type='boolean' value='false'/>
+ <property name='extapic' type='boolean' value='false'/>
+ <property name='3dnowprefetch' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vmfunc' type='boolean' value='false'/>
+ <property name='vmx-activity-shutdown' type='boolean' value='false'/>
+ <property name='sgx1' type='boolean' value='false'/>
+ <property name='sgx2' type='boolean' value='false'/>
+ <property name='avx512vbmi2' type='boolean' value='false'/>
+ <property name='cr8legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-encls-exit' type='boolean' value='false'/>
+ <property name='stibp' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-msr-bitmap' type='boolean' value='false'/>
+ <property name='xcrypt-en' type='boolean' value='false'/>
+ <property name='vmx-mwait-exit' type='boolean' value='false'/>
+ <property name='vmx-pml' type='boolean' value='false'/>
+ <property name='vmx-nmi-exit' type='boolean' value='false'/>
+ <property name='amx-tile' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context-noglobals' type='boolean' value='false'/>
+ <property name='pn' type='boolean' value='false'/>
+ <property name='rsba' type='boolean' value='false'/>
+ <property name='dca' type='boolean' value='false'/>
+ <property name='vendor' type='string' value='AuthenticAMD'/>
+ <property name='vmx-unrestricted-guest' type='boolean' value='false'/>
+ <property name='vmx-cr3-store-noexit' type='boolean' value='false'/>
+ <property name='pku' type='boolean' value='false'/>
+ <property name='pks' type='boolean' value='false'/>
+ <property name='smx' type='boolean' value='false'/>
+ <property name='cmp-legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-4fmaps' type='boolean' value='false'/>
+ <property name='vmcb-clean' type='boolean' value='true' migratable='yes'/>
+ <property name='hle' type='boolean' value='false'/>
+ <property name='avx-vnni' type='boolean' value='false'/>
+ <property name='3dnowext' type='boolean' value='false'/>
+ <property name='amd-no-ssb' type='boolean' value='false'/>
+ <property name='npt' type='boolean' value='true' migratable='yes'/>
+ <property name='sgxlc' type='boolean' value='false'/>
+ <property name='rdctl-no' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid' type='boolean' value='false'/>
+ <property name='clwb' type='boolean' value='true' migratable='yes'/>
+ <property name='lbrv' type='boolean' value='true' migratable='yes'/>
+ <property name='adx' type='boolean' value='true' migratable='yes'/>
+ <property name='ss' type='boolean' value='false'/>
+ <property name='pni' type='boolean' value='true' migratable='yes'/>
+ <property name='tsx-ldtrk' type='boolean' value='false'/>
+ <property name='svm-lock' type='boolean' value='false'/>
+ <property name='smep' type='boolean' value='true' migratable='yes'/>
+ <property name='smap' type='boolean' value='true' migratable='yes'/>
+ <property name='pfthreshold' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invpcid-exit' type='boolean' value='false'/>
+ <property name='amx-int8' type='boolean' value='false'/>
+ <property name='x2apic' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512vbmi' type='boolean' value='false'/>
+ <property name='avx512vnni' type='boolean' value='false'/>
+ <property name='vmx-apicv-x2apic' type='boolean' value='false'/>
+ <property name='kvm-pv-sched-yield' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invlpg-exit' type='boolean' value='false'/>
+ <property name='vmx-invvpid-all-context' type='boolean' value='false'/>
+ <property name='vmx-activity-hlt' type='boolean' value='false'/>
+ <property name='flushbyasid' type='boolean' value='false'/>
+ <property name='f16c' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-ack-intr' type='boolean' value='false'/>
+ <property name='ace2-en' type='boolean' value='false'/>
+ <property name='pae' type='boolean' value='true' migratable='yes'/>
+ <property name='pat' type='boolean' value='true' migratable='yes'/>
+ <property name='sse' type='boolean' value='true' migratable='yes'/>
+ <property name='phe-en' type='boolean' value='false'/>
+ <property name='vmx-tsc-offset' type='boolean' value='false'/>
+ <property name='kvm-nopiodelay' type='boolean' value='true' migratable='yes'/>
+ <property name='tm' type='boolean' value='false'/>
+ <property name='kvmclock-stable-bit' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtsc-exit' type='boolean' value='false'/>
+ <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtscp-exit' type='boolean' value='false'/>
+ <property name='mds-no' type='boolean' value='true' migratable='yes'/>
+ <property name='pcommit' type='boolean' value='false'/>
+ <property name='vmx-vpid' type='boolean' value='false'/>
+ <property name='syscall' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512dq' type='boolean' value='false'/>
+ <property name='svm' type='boolean' value='true' migratable='yes'/>
+ <property name='invtsc' type='boolean' value='true' migratable='no'/>
+ <property name='vmx-monitor-exit' type='boolean' value='false'/>
+ <property name='sse2' type='boolean' value='true' migratable='yes'/>
+ <property name='ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-wbinvd-exit' type='boolean' value='false'/>
+ <property name='est' type='boolean' value='false'/>
+ <property name='kvm-poll-control' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512ifma' type='boolean' value='false'/>
+ <property name='tm2' type='boolean' value='false'/>
+ <property name='kvm-pv-eoi' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/>
+ <property name='cx8' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid-single-addr' type='boolean' value='false'/>
+ <property name='waitpkg' type='boolean' value='false'/>
+ <property name='cldemote' type='boolean' value='false'/>
+ <property name='sgx-tokenkey' type='boolean' value='false'/>
+ <property name='vmx-ept' type='boolean' value='false'/>
+ <property name='xfd' type='boolean' value='false'/>
+ <property name='kvm-mmu' type='boolean' value='false'/>
+ <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+ <property name='pge' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bitalg' type='boolean' value='false'/>
+ <property name='pdcm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/>
+ <property name='model' type='number' value='113'/>
+ <property name='movbe' type='boolean' value='true' migratable='yes'/>
+ <property name='nrip-save' type='boolean' value='true' migratable='yes'/>
+ <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+ <property name='sse4a' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-msi-ext-dest-id' type='boolean' value='false'/>
+ <property name='vmx-pause-exit' type='boolean' value='false'/>
+ <property name='invpcid' type='boolean' value='false'/>
+ <property name='sgx-debug' type='boolean' value='false'/>
+ <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+ <property name='sgx-mode64' type='boolean' value='false'/>
+ <property name='tsc-deadline' type='boolean' value='true' migratable='yes'/>
+ <property name='skip-l1dfl-vmentry' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='fma' type='boolean' value='true' migratable='yes'/>
+ <property name='cx16' type='boolean' value='true' migratable='yes'/>
+ <property name='de' type='boolean' value='true' migratable='yes'/>
+ <property name='stepping' type='number' value='0'/>
+ <property name='xsave' type='boolean' value='true' migratable='yes'/>
+ <property name='clflush' type='boolean' value='true' migratable='yes'/>
+ <property name='skinit' type='boolean' value='false'/>
+ <property name='tsc' type='boolean' value='true' migratable='yes'/>
+ <property name='tce' type='boolean' value='false'/>
+ <property name='fpu' type='boolean' value='true' migratable='yes'/>
+ <property name='ds-cpl' type='boolean' value='false'/>
+ <property name='ibs' type='boolean' value='false'/>
+ <property name='fma4' type='boolean' value='false'/>
+ <property name='vmx-exit-nosave-debugctl' type='boolean' value='false'/>
+ <property name='sgx-kss' type='boolean' value='false'/>
+ <property name='la57' type='boolean' value='false'/>
+ <property name='vmx-invept' type='boolean' value='false'/>
+ <property name='osvw' type='boolean' value='true' migratable='yes'/>
+ <property name='apic' type='boolean' value='true' migratable='yes'/>
+ <property name='pmm' type='boolean' value='false'/>
+ <property name='vmx-entry-noload-debugctl' type='boolean' value='false'/>
+ <property name='vmx-eptad' type='boolean' value='false'/>
+ <property name='spec-ctrl' type='boolean' value='false'/>
+ <property name='vmx-posted-intr' type='boolean' value='false'/>
+ <property name='vmx-apicv-register' type='boolean' value='false'/>
+ <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-vp2intersect' type='boolean' value='false'/>
+ <property name='kvmclock' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-zero-len-inject' type='boolean' value='false'/>
+ <property name='pschange-mc-no' type='boolean' value='true' migratable='yes'/>
+ <property name='v-vmsave-vmload' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdrand-exit' type='boolean' value='false'/>
+ <property name='sgx-provisionkey' type='boolean' value='false'/>
+ <property name='lwp' type='boolean' value='false'/>
+ <property name='amd-ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='xop' type='boolean' value='false'/>
+ <property name='ibpb' type='boolean' value='true' migratable='yes'/>
+ <property name='ibrs' type='boolean' value='false'/>
+ <property name='avx' type='boolean' value='true' migratable='yes'/>
+ <property name='core-capability' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context' type='boolean' value='false'/>
+ <property name='movdiri' type='boolean' value='false'/>
+ <property name='acpi' type='boolean' value='false'/>
+ <property name='avx512bw' type='boolean' value='false'/>
+ <property name='ace2' type='boolean' value='false'/>
+ <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-2mb' type='boolean' value='false'/>
+ <property name='vmx-ept-1gb' type='boolean' value='false'/>
+ <property name='ht' type='boolean' value='false'/>
+ <property name='vmx-io-exit' type='boolean' value='false'/>
+ <property name='nx' type='boolean' value='true' migratable='yes'/>
+ <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+ <property name='mmxext' type='boolean' value='true' migratable='yes'/>
+ <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+ <property name='vaes' type='boolean' value='false'/>
+ <property name='serialize' type='boolean' value='false'/>
+ <property name='movdir64b' type='boolean' value='false'/>
+ <property name='xsaves' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-shadow-vmcs' type='boolean' value='false'/>
+ <property name='lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-save-preemption-timer' type='boolean' value='false'/>
+ <property name='vmx-entry-load-pat' type='boolean' value='false'/>
+ <property name='fsrm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='vmx-io-bitmap' type='boolean' value='false'/>
+ <property name='umip' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-store-lma' type='boolean' value='false'/>
+ <property name='vmx-movdr-exit' type='boolean' value='false'/>
+ <property name='pse' type='boolean' value='true' migratable='yes'/>
+ <property name='avx2' type='boolean' value='true' migratable='yes'/>
+ <property name='avic' type='boolean' value='false'/>
+ <property name='sep' type='boolean' value='true' migratable='yes'/>
+ <property name='virt-ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-cr3-load-noexit' type='boolean' value='false'/>
+ <property name='nodeid-msr' type='boolean' value='false'/>
+ <property name='md-clear' type='boolean' value='false'/>
+ <property name='misalignsse' type='boolean' value='true' migratable='yes'/>
+ <property name='split-lock-detect' type='boolean' value='false'/>
+ <property name='min-xlevel' type='number' value='2147483681'/>
+ <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+ <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/>
+ <property name='tsc-scale' type='boolean' value='true' migratable='yes'/>
+ <property name='topoext' type='boolean' value='false'/>
+ <property name='amd-stibp' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-preemption-timer' type='boolean' value='false'/>
+ <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-load-pkrs' type='boolean' value='false'/>
+ <property name='vmx-vnmi-pending' type='boolean' value='false'/>
+ <property name='monitor' type='boolean' value='false'/>
+ <property name='vmx-vintr-pending' type='boolean' value='false'/>
+ <property name='avx512er' type='boolean' value='false'/>
+ <property name='full-width-write' type='boolean' value='false'/>
+ <property name='pmm-en' type='boolean' value='false'/>
+ <property name='pcid' type='boolean' value='false'/>
+ <property name='taa-no' type='boolean' value='false'/>
+ <property name='arch-capabilities' type='boolean' value='true' migratable='yes'/>
+ <property name='vgif' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-secondary-ctls' type='boolean' value='false'/>
+ <property name='vmx-xsaves' type='boolean' value='false'/>
+ <property name='clzero' type='boolean' value='true' migratable='yes'/>
+ <property name='3dnow' type='boolean' value='false'/>
+ <property name='erms' type='boolean' value='false'/>
+ <property name='vmx-entry-ia32e-mode' type='boolean' value='false'/>
+ <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vpclmulqdq' type='boolean' value='false'/>
+ <property name='vmx-ins-outs' type='boolean' value='false'/>
+ <property name='fxsr-opt' type='boolean' value='true' migratable='yes'/>
+ <property name='xstore' type='boolean' value='false'/>
+ <property name='rtm' type='boolean' value='false'/>
+ <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+ <property name='amx-bf16' type='boolean' value='false'/>
+ <property name='lmce' type='boolean' value='false'/>
+ <property name='perfctr-nb' type='boolean' value='false'/>
+ <property name='rdrand' type='boolean' value='true' migratable='yes'/>
+ <property name='rdseed' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-4vnniw' type='boolean' value='false'/>
+ <property name='vme' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx' type='boolean' value='false'/>
+ <property name='dtes64' type='boolean' value='false'/>
+ <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+ <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+ <property name='xsaveerptr' type='boolean' value='true' migratable='yes'/>
+ <property name='pse36' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-activity-wait-sipi' type='boolean' value='false'/>
+ <property name='tbm' type='boolean' value='false'/>
+ <property name='wdt' type='boolean' value='false'/>
+ <property name='vmx-rdpmc-exit' type='boolean' value='false'/>
+ <property name='vmx-mtf' type='boolean' value='false'/>
+ <property name='vmx-entry-load-efer' type='boolean' value='false'/>
+ <property name='model-id' type='string' value='AMD Ryzen 9 3900X 12-Core Processor '/>
+ <property name='sha-ni' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-load-pkrs' type='boolean' value='false'/>
+ <property name='abm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/>
+ <property name='avx512pf' type='boolean' value='false'/>
+ <property name='vmx-hlt-exit' type='boolean' value='false'/>
+ <property name='xstore-en' type='boolean' value='false'/>
+ </hostCPU>
+ <cpu type='kvm' name='max' typename='max-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='host' typename='host-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='base' typename='base-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu64-v1' typename='qemu64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu64' typename='qemu64-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu32-v1' typename='qemu32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu32' typename='qemu32-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='phenom-v1' typename='phenom-v1-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='phenom' typename='phenom-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='pentium3-v1' typename='pentium3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium3' typename='pentium3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium2-v1' typename='pentium2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium2' typename='pentium2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium-v1' typename='pentium-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium' typename='pentium-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='n270-v1' typename='n270-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='n270' typename='n270-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='kvm64-v1' typename='kvm64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm64' typename='kvm64-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm32-v1' typename='kvm32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm32' typename='kvm32-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='coreduo-v1' typename='coreduo-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='coreduo' typename='coreduo-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='core2duo-v1' typename='core2duo-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='core2duo' typename='core2duo-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='athlon-v1' typename='athlon-v1-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='athlon' typename='athlon-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere-v2' typename='Westmere-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere-v1' typename='Westmere-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Westmere-IBRS' typename='Westmere-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere' typename='Westmere-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Snowridge-v4' typename='Snowridge-v4-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v3' typename='Snowridge-v3-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v2' typename='Snowridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v1' typename='Snowridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge' typename='Snowridge-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v5' typename='Skylake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v4' typename='Skylake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v3' typename='Skylake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v2' typename='Skylake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v1' typename='Skylake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-noTSX-IBRS' typename='Skylake-Server-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-IBRS' typename='Skylake-Server-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server' typename='Skylake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v4' typename='Skylake-Client-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v3' typename='Skylake-Client-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v2' typename='Skylake-Client-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v1' typename='Skylake-Client-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-noTSX-IBRS' typename='Skylake-Client-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-IBRS' typename='Skylake-Client-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client' typename='Skylake-Client-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge-v2' typename='SandyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge-v1' typename='SandyBridge-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='SandyBridge-IBRS' typename='SandyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge' typename='SandyBridge-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Penryn-v1' typename='Penryn-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Penryn' typename='Penryn-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G5-v1' typename='Opteron_G5-v1-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G5' typename='Opteron_G5-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G4-v1' typename='Opteron_G4-v1-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G4' typename='Opteron_G4-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G3-v1' typename='Opteron_G3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G3' typename='Opteron_G3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G2-v1' typename='Opteron_G2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G2' typename='Opteron_G2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G1-v1' typename='Opteron_G1-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G1' typename='Opteron_G1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Nehalem-v2' typename='Nehalem-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Nehalem-v1' typename='Nehalem-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Nehalem-IBRS' typename='Nehalem-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Nehalem' typename='Nehalem-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='KnightsMill-v1' typename='KnightsMill-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ <blocker name='erms'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ </cpu>
+ <cpu type='kvm' name='KnightsMill' typename='KnightsMill-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ <blocker name='erms'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-v2' typename='IvyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-v1' typename='IvyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-IBRS' typename='IvyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge' typename='IvyBridge-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v6' typename='Icelake-Server-v6-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v5' typename='Icelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v4' typename='Icelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v3' typename='Icelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v2' typename='Icelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v1' typename='Icelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-noTSX' typename='Icelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server' typename='Icelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v4' typename='Haswell-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v3' typename='Haswell-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v2' typename='Haswell-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v1' typename='Haswell-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-noTSX-IBRS' typename='Haswell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-noTSX' typename='Haswell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-IBRS' typename='Haswell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell' typename='Haswell-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-v3' typename='EPYC-v3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-v2' typename='EPYC-v2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-v1' typename='EPYC-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Rome-v2' typename='EPYC-Rome-v2-x86_64-cpu' usable='no'>
+ <blocker name='ibrs'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-Rome-v1' typename='EPYC-Rome-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Rome' typename='EPYC-Rome-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Milan-v1' typename='EPYC-Milan-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='pku'/>
+ <blocker name='fsrm'/>
+ <blocker name='ibrs'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-Milan' typename='EPYC-Milan-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='pku'/>
+ <blocker name='fsrm'/>
+ <blocker name='ibrs'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-IBPB' typename='EPYC-IBPB-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC' typename='EPYC-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana-v2' typename='Dhyana-v2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana-v1' typename='Dhyana-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana' typename='Dhyana-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Denverton-v3' typename='Denverton-v3-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton-v2' typename='Denverton-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton-v1' typename='Denverton-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton' typename='Denverton-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake-v2' typename='Cooperlake-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake-v1' typename='Cooperlake-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake' typename='Cooperlake-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Conroe-v1' typename='Conroe-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Conroe' typename='Conroe-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Cascadelake-Server-v5' typename='Cascadelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v4' typename='Cascadelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v3' typename='Cascadelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v2' typename='Cascadelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v1' typename='Cascadelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-noTSX' typename='Cascadelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server' typename='Cascadelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v4' typename='Broadwell-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v3' typename='Broadwell-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v2' typename='Broadwell-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v1' typename='Broadwell-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-noTSX-IBRS' typename='Broadwell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-noTSX' typename='Broadwell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-IBRS' typename='Broadwell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell' typename='Broadwell-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='486' typename='486-x86_64-cpu' usable='yes'/>
+ <machine type='kvm' name='pc-i440fx-7.2' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-7.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-7.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='x-remote' maxCpus='1'/>
+ <machine type='kvm' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-5.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='isapc' hotplugCpus='yes' maxCpus='1' defaultCPU='486-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-7.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-7.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-7.2' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <hostCPU type='tcg' model='base' migratability='yes'>
+ <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
+ <property name='svme-addr-chk' type='boolean' value='true' migratable='yes'/>
+ <property name='cmov' type='boolean' value='true' migratable='yes'/>
+ <property name='ia64' type='boolean' value='false'/>
+ <property name='ssb-no' type='boolean' value='false'/>
+ <property name='aes' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-xapic' type='boolean' value='false'/>
+ <property name='mmx' type='boolean' value='true' migratable='yes'/>
+ <property name='rdpid' type='boolean' value='false'/>
+ <property name='arat' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-page-walk-4' type='boolean' value='false'/>
+ <property name='vmx-page-walk-5' type='boolean' value='false'/>
+ <property name='gfni' type='boolean' value='false'/>
+ <property name='ibrs-all' type='boolean' value='false'/>
+ <property name='vmx-desc-exit' type='boolean' value='false'/>
+ <property name='pause-filter' type='boolean' value='false'/>
+ <property name='bus-lock-detect' type='boolean' value='false'/>
+ <property name='xsavec' type='boolean' value='false'/>
+ <property name='intel-pt' type='boolean' value='false'/>
+ <property name='vmx-tsc-scaling' type='boolean' value='false'/>
+ <property name='vmx-cr8-store-exit' type='boolean' value='false'/>
+ <property name='vmx-rdseed-exit' type='boolean' value='false'/>
+ <property name='vmx-eptp-switching' type='boolean' value='false'/>
+ <property name='kvm-asyncpf' type='boolean' value='false'/>
+ <property name='perfctr-core' type='boolean' value='false'/>
+ <property name='mpx' type='boolean' value='true' migratable='yes'/>
+ <property name='pbe' type='boolean' value='false'/>
+ <property name='avx512cd' type='boolean' value='false'/>
+ <property name='decodeassists' type='boolean' value='false'/>
+ <property name='vmx-exit-load-efer' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/>
+ <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+ <property name='family' type='number' value='15'/>
+ <property name='intel-pt-lip' type='boolean' value='false'/>
+ <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/>
+ <property name='kvm-asyncpf-int' type='boolean' value='false'/>
+ <property name='vmx-vnmi' type='boolean' value='false'/>
+ <property name='vmx-true-ctls' type='boolean' value='false'/>
+ <property name='vmx-ept-execonly' type='boolean' value='false'/>
+ <property name='vmx-exit-save-efer' type='boolean' value='false'/>
+ <property name='vmx-invept-all-context' type='boolean' value='false'/>
+ <property name='wbnoinvd' type='boolean' value='false'/>
+ <property name='avx512f' type='boolean' value='false'/>
+ <property name='msr' type='boolean' value='true' migratable='yes'/>
+ <property name='mce' type='boolean' value='true' migratable='yes'/>
+ <property name='mca' type='boolean' value='true' migratable='yes'/>
+ <property name='xcrypt' type='boolean' value='false'/>
+ <property name='sgx' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pat' type='boolean' value='false'/>
+ <property name='vmx-intr-exit' type='boolean' value='false'/>
+ <property name='min-level' type='number' value='13'/>
+ <property name='vmx-flexpriority' type='boolean' value='false'/>
+ <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+ <property name='cid' type='boolean' value='false'/>
+ <property name='sgx-exinfo' type='boolean' value='false'/>
+ <property name='ds' type='boolean' value='false'/>
+ <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-fp16' type='boolean' value='false'/>
+ <property name='avx512-bf16' type='boolean' value='false'/>
+ <property name='vmx-cr8-load-exit' type='boolean' value='false'/>
+ <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+ <property name='arch-lbr' type='boolean' value='false'/>
+ <property name='vmx-apicv-vid' type='boolean' value='false'/>
+ <property name='vmx-exit-save-pat' type='boolean' value='false'/>
+ <property name='xtpr' type='boolean' value='false'/>
+ <property name='tsx-ctrl' type='boolean' value='false'/>
+ <property name='vmx-ple' type='boolean' value='false'/>
+ <property name='avx512vl' type='boolean' value='false'/>
+ <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+ <property name='phe' type='boolean' value='false'/>
+ <property name='extapic' type='boolean' value='false'/>
+ <property name='3dnowprefetch' type='boolean' value='false'/>
+ <property name='vmx-vmfunc' type='boolean' value='false'/>
+ <property name='vmx-activity-shutdown' type='boolean' value='false'/>
+ <property name='sgx1' type='boolean' value='false'/>
+ <property name='sgx2' type='boolean' value='false'/>
+ <property name='avx512vbmi2' type='boolean' value='false'/>
+ <property name='cr8legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-encls-exit' type='boolean' value='false'/>
+ <property name='stibp' type='boolean' value='false'/>
+ <property name='vmx-msr-bitmap' type='boolean' value='false'/>
+ <property name='xcrypt-en' type='boolean' value='false'/>
+ <property name='vmx-mwait-exit' type='boolean' value='false'/>
+ <property name='vmx-pml' type='boolean' value='false'/>
+ <property name='vmx-nmi-exit' type='boolean' value='false'/>
+ <property name='amx-tile' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context-noglobals' type='boolean' value='false'/>
+ <property name='pn' type='boolean' value='false'/>
+ <property name='rsba' type='boolean' value='false'/>
+ <property name='dca' type='boolean' value='false'/>
+ <property name='vendor' type='string' value='AuthenticAMD'/>
+ <property name='vmx-unrestricted-guest' type='boolean' value='false'/>
+ <property name='vmx-cr3-store-noexit' type='boolean' value='false'/>
+ <property name='pku' type='boolean' value='true' migratable='yes'/>
+ <property name='pks' type='boolean' value='true' migratable='yes'/>
+ <property name='smx' type='boolean' value='false'/>
+ <property name='cmp-legacy' type='boolean' value='false'/>
+ <property name='avx512-4fmaps' type='boolean' value='false'/>
+ <property name='vmcb-clean' type='boolean' value='false'/>
+ <property name='hle' type='boolean' value='false'/>
+ <property name='avx-vnni' type='boolean' value='false'/>
+ <property name='3dnowext' type='boolean' value='true' migratable='yes'/>
+ <property name='amd-no-ssb' type='boolean' value='false'/>
+ <property name='npt' type='boolean' value='true' migratable='yes'/>
+ <property name='sgxlc' type='boolean' value='false'/>
+ <property name='rdctl-no' type='boolean' value='false'/>
+ <property name='vmx-invvpid' type='boolean' value='false'/>
+ <property name='clwb' type='boolean' value='true' migratable='yes'/>
+ <property name='lbrv' type='boolean' value='false'/>
+ <property name='adx' type='boolean' value='true' migratable='yes'/>
+ <property name='ss' type='boolean' value='true' migratable='yes'/>
+ <property name='pni' type='boolean' value='true' migratable='yes'/>
+ <property name='tsx-ldtrk' type='boolean' value='false'/>
+ <property name='svm-lock' type='boolean' value='false'/>
+ <property name='smep' type='boolean' value='true' migratable='yes'/>
+ <property name='smap' type='boolean' value='true' migratable='yes'/>
+ <property name='pfthreshold' type='boolean' value='false'/>
+ <property name='vmx-invpcid-exit' type='boolean' value='false'/>
+ <property name='amx-int8' type='boolean' value='false'/>
+ <property name='x2apic' type='boolean' value='false'/>
+ <property name='avx512vbmi' type='boolean' value='false'/>
+ <property name='avx512vnni' type='boolean' value='false'/>
+ <property name='vmx-apicv-x2apic' type='boolean' value='false'/>
+ <property name='kvm-pv-sched-yield' type='boolean' value='false'/>
+ <property name='vmx-invlpg-exit' type='boolean' value='false'/>
+ <property name='vmx-invvpid-all-context' type='boolean' value='false'/>
+ <property name='vmx-activity-hlt' type='boolean' value='false'/>
+ <property name='flushbyasid' type='boolean' value='false'/>
+ <property name='f16c' type='boolean' value='false'/>
+ <property name='vmx-exit-ack-intr' type='boolean' value='false'/>
+ <property name='ace2-en' type='boolean' value='false'/>
+ <property name='pae' type='boolean' value='true' migratable='yes'/>
+ <property name='pat' type='boolean' value='true' migratable='yes'/>
+ <property name='sse' type='boolean' value='true' migratable='yes'/>
+ <property name='phe-en' type='boolean' value='false'/>
+ <property name='vmx-tsc-offset' type='boolean' value='false'/>
+ <property name='kvm-nopiodelay' type='boolean' value='false'/>
+ <property name='tm' type='boolean' value='false'/>
+ <property name='kvmclock-stable-bit' type='boolean' value='false'/>
+ <property name='vmx-rdtsc-exit' type='boolean' value='false'/>
+ <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtscp-exit' type='boolean' value='false'/>
+ <property name='mds-no' type='boolean' value='false'/>
+ <property name='pcommit' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vpid' type='boolean' value='false'/>
+ <property name='syscall' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512dq' type='boolean' value='false'/>
+ <property name='svm' type='boolean' value='true' migratable='yes'/>
+ <property name='invtsc' type='boolean' value='false'/>
+ <property name='vmx-monitor-exit' type='boolean' value='false'/>
+ <property name='sse2' type='boolean' value='true' migratable='yes'/>
+ <property name='ssbd' type='boolean' value='false'/>
+ <property name='vmx-wbinvd-exit' type='boolean' value='false'/>
+ <property name='est' type='boolean' value='false'/>
+ <property name='kvm-poll-control' type='boolean' value='false'/>
+ <property name='avx512ifma' type='boolean' value='false'/>
+ <property name='tm2' type='boolean' value='false'/>
+ <property name='kvm-pv-eoi' type='boolean' value='false'/>
+ <property name='kvm-pv-ipi' type='boolean' value='false'/>
+ <property name='cx8' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid-single-addr' type='boolean' value='false'/>
+ <property name='waitpkg' type='boolean' value='false'/>
+ <property name='cldemote' type='boolean' value='false'/>
+ <property name='sgx-tokenkey' type='boolean' value='false'/>
+ <property name='vmx-ept' type='boolean' value='false'/>
+ <property name='xfd' type='boolean' value='false'/>
+ <property name='kvm-mmu' type='boolean' value='false'/>
+ <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+ <property name='pge' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bitalg' type='boolean' value='false'/>
+ <property name='pdcm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/>
+ <property name='model' type='number' value='107'/>
+ <property name='movbe' type='boolean' value='true' migratable='yes'/>
+ <property name='nrip-save' type='boolean' value='false'/>
+ <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+ <property name='sse4a' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-msi-ext-dest-id' type='boolean' value='false'/>
+ <property name='vmx-pause-exit' type='boolean' value='false'/>
+ <property name='invpcid' type='boolean' value='false'/>
+ <property name='sgx-debug' type='boolean' value='false'/>
+ <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+ <property name='sgx-mode64' type='boolean' value='false'/>
+ <property name='tsc-deadline' type='boolean' value='false'/>
+ <property name='skip-l1dfl-vmentry' type='boolean' value='false'/>
+ <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='fma' type='boolean' value='false'/>
+ <property name='cx16' type='boolean' value='true' migratable='yes'/>
+ <property name='de' type='boolean' value='true' migratable='yes'/>
+ <property name='stepping' type='number' value='1'/>
+ <property name='xsave' type='boolean' value='true' migratable='yes'/>
+ <property name='clflush' type='boolean' value='true' migratable='yes'/>
+ <property name='skinit' type='boolean' value='false'/>
+ <property name='tsc' type='boolean' value='true' migratable='yes'/>
+ <property name='tce' type='boolean' value='false'/>
+ <property name='fpu' type='boolean' value='true' migratable='yes'/>
+ <property name='ds-cpl' type='boolean' value='false'/>
+ <property name='ibs' type='boolean' value='false'/>
+ <property name='fma4' type='boolean' value='false'/>
+ <property name='vmx-exit-nosave-debugctl' type='boolean' value='false'/>
+ <property name='sgx-kss' type='boolean' value='false'/>
+ <property name='la57' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invept' type='boolean' value='false'/>
+ <property name='osvw' type='boolean' value='false'/>
+ <property name='apic' type='boolean' value='true' migratable='yes'/>
+ <property name='pmm' type='boolean' value='false'/>
+ <property name='vmx-entry-noload-debugctl' type='boolean' value='false'/>
+ <property name='vmx-eptad' type='boolean' value='false'/>
+ <property name='spec-ctrl' type='boolean' value='false'/>
+ <property name='vmx-posted-intr' type='boolean' value='false'/>
+ <property name='vmx-apicv-register' type='boolean' value='false'/>
+ <property name='tsc-adjust' type='boolean' value='false'/>
+ <property name='kvm-steal-time' type='boolean' value='false'/>
+ <property name='avx512-vp2intersect' type='boolean' value='false'/>
+ <property name='kvmclock' type='boolean' value='false'/>
+ <property name='vmx-zero-len-inject' type='boolean' value='false'/>
+ <property name='pschange-mc-no' type='boolean' value='false'/>
+ <property name='v-vmsave-vmload' type='boolean' value='false'/>
+ <property name='vmx-rdrand-exit' type='boolean' value='false'/>
+ <property name='sgx-provisionkey' type='boolean' value='false'/>
+ <property name='lwp' type='boolean' value='false'/>
+ <property name='amd-ssbd' type='boolean' value='false'/>
+ <property name='xop' type='boolean' value='false'/>
+ <property name='ibpb' type='boolean' value='false'/>
+ <property name='ibrs' type='boolean' value='false'/>
+ <property name='avx' type='boolean' value='false'/>
+ <property name='core-capability' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context' type='boolean' value='false'/>
+ <property name='movdiri' type='boolean' value='false'/>
+ <property name='acpi' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bw' type='boolean' value='false'/>
+ <property name='ace2' type='boolean' value='false'/>
+ <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-2mb' type='boolean' value='false'/>
+ <property name='vmx-ept-1gb' type='boolean' value='false'/>
+ <property name='ht' type='boolean' value='false'/>
+ <property name='vmx-io-exit' type='boolean' value='false'/>
+ <property name='nx' type='boolean' value='true' migratable='yes'/>
+ <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+ <property name='mmxext' type='boolean' value='true' migratable='yes'/>
+ <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+ <property name='vaes' type='boolean' value='false'/>
+ <property name='serialize' type='boolean' value='false'/>
+ <property name='movdir64b' type='boolean' value='false'/>
+ <property name='xsaves' type='boolean' value='false'/>
+ <property name='vmx-shadow-vmcs' type='boolean' value='false'/>
+ <property name='lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-save-preemption-timer' type='boolean' value='false'/>
+ <property name='vmx-entry-load-pat' type='boolean' value='false'/>
+ <property name='fsrm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='vmx-io-bitmap' type='boolean' value='false'/>
+ <property name='umip' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-store-lma' type='boolean' value='false'/>
+ <property name='vmx-movdr-exit' type='boolean' value='false'/>
+ <property name='pse' type='boolean' value='true' migratable='yes'/>
+ <property name='avx2' type='boolean' value='false'/>
+ <property name='avic' type='boolean' value='false'/>
+ <property name='sep' type='boolean' value='true' migratable='yes'/>
+ <property name='virt-ssbd' type='boolean' value='false'/>
+ <property name='vmx-cr3-load-noexit' type='boolean' value='false'/>
+ <property name='nodeid-msr' type='boolean' value='false'/>
+ <property name='md-clear' type='boolean' value='false'/>
+ <property name='misalignsse' type='boolean' value='false'/>
+ <property name='split-lock-detect' type='boolean' value='false'/>
+ <property name='min-xlevel' type='number' value='2147483658'/>
+ <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+ <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-unhalt' type='boolean' value='false'/>
+ <property name='tsc-scale' type='boolean' value='false'/>
+ <property name='topoext' type='boolean' value='false'/>
+ <property name='amd-stibp' type='boolean' value='false'/>
+ <property name='vmx-preemption-timer' type='boolean' value='false'/>
+ <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-load-pkrs' type='boolean' value='false'/>
+ <property name='vmx-vnmi-pending' type='boolean' value='false'/>
+ <property name='monitor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vintr-pending' type='boolean' value='false'/>
+ <property name='avx512er' type='boolean' value='false'/>
+ <property name='full-width-write' type='boolean' value='false'/>
+ <property name='pmm-en' type='boolean' value='false'/>
+ <property name='pcid' type='boolean' value='false'/>
+ <property name='taa-no' type='boolean' value='false'/>
+ <property name='arch-capabilities' type='boolean' value='false'/>
+ <property name='vgif' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-secondary-ctls' type='boolean' value='false'/>
+ <property name='vmx-xsaves' type='boolean' value='false'/>
+ <property name='clzero' type='boolean' value='false'/>
+ <property name='3dnow' type='boolean' value='true' migratable='yes'/>
+ <property name='erms' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-ia32e-mode' type='boolean' value='false'/>
+ <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vpclmulqdq' type='boolean' value='false'/>
+ <property name='vmx-ins-outs' type='boolean' value='false'/>
+ <property name='fxsr-opt' type='boolean' value='false'/>
+ <property name='xstore' type='boolean' value='false'/>
+ <property name='rtm' type='boolean' value='false'/>
+ <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+ <property name='amx-bf16' type='boolean' value='false'/>
+ <property name='lmce' type='boolean' value='false'/>
+ <property name='perfctr-nb' type='boolean' value='false'/>
+ <property name='rdrand' type='boolean' value='true' migratable='yes'/>
+ <property name='rdseed' type='boolean' value='false'/>
+ <property name='avx512-4vnniw' type='boolean' value='false'/>
+ <property name='vme' type='boolean' value='false'/>
+ <property name='vmx' type='boolean' value='false'/>
+ <property name='dtes64' type='boolean' value='false'/>
+ <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+ <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+ <property name='xsaveerptr' type='boolean' value='false'/>
+ <property name='pse36' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-tlb-flush' type='boolean' value='false'/>
+ <property name='vmx-activity-wait-sipi' type='boolean' value='false'/>
+ <property name='tbm' type='boolean' value='false'/>
+ <property name='wdt' type='boolean' value='false'/>
+ <property name='vmx-rdpmc-exit' type='boolean' value='false'/>
+ <property name='vmx-mtf' type='boolean' value='false'/>
+ <property name='vmx-entry-load-efer' type='boolean' value='false'/>
+ <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/>
+ <property name='sha-ni' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pkrs' type='boolean' value='false'/>
+ <property name='abm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/>
+ <property name='avx512pf' type='boolean' value='false'/>
+ <property name='vmx-hlt-exit' type='boolean' value='false'/>
+ <property name='xstore-en' type='boolean' value='false'/>
+ </hostCPU>
+ <cpu type='tcg' name='max' typename='max-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='host' typename='host-x86_64-cpu' usable='no'>
+ <blocker name='kvm'/>
+ </cpu>
+ <cpu type='tcg' name='base' typename='base-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu64-v1' typename='qemu64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu64' typename='qemu64-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu32-v1' typename='qemu32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu32' typename='qemu32-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='phenom-v1' typename='phenom-v1-x86_64-cpu' usable='no'>
+ <blocker name='fxsr-opt'/>
+ </cpu>
+ <cpu type='tcg' name='phenom' typename='phenom-x86_64-cpu' usable='no'>
+ <blocker name='fxsr-opt'/>
+ </cpu>
+ <cpu type='tcg' name='pentium3-v1' typename='pentium3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium3' typename='pentium3-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium2-v1' typename='pentium2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium2' typename='pentium2-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium-v1' typename='pentium-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium' typename='pentium-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='n270-v1' typename='n270-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='n270' typename='n270-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm64-v1' typename='kvm64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm64' typename='kvm64-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm32-v1' typename='kvm32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm32' typename='kvm32-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='coreduo-v1' typename='coreduo-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='coreduo' typename='coreduo-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='core2duo-v1' typename='core2duo-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='core2duo' typename='core2duo-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='athlon-v1' typename='athlon-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='athlon' typename='athlon-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Westmere-v2' typename='Westmere-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Westmere-v1' typename='Westmere-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Westmere-IBRS' typename='Westmere-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Westmere' typename='Westmere-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Snowridge-v4' typename='Snowridge-v4-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v3' typename='Snowridge-v3-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v2' typename='Snowridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v1' typename='Snowridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge' typename='Snowridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v5' typename='Skylake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v4' typename='Skylake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v3' typename='Skylake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v2' typename='Skylake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v1' typename='Skylake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-noTSX-IBRS' typename='Skylake-Server-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-IBRS' typename='Skylake-Server-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server' typename='Skylake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v4' typename='Skylake-Client-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v3' typename='Skylake-Client-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v2' typename='Skylake-Client-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v1' typename='Skylake-Client-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-noTSX-IBRS' typename='Skylake-Client-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-IBRS' typename='Skylake-Client-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client' typename='Skylake-Client-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-v2' typename='SandyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-v1' typename='SandyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-IBRS' typename='SandyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge' typename='SandyBridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ </cpu>
+ <cpu type='tcg' name='Penryn-v1' typename='Penryn-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Penryn' typename='Penryn-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G5-v1' typename='Opteron_G5-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G5' typename='Opteron_G5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G4-v1' typename='Opteron_G4-v1-x86_64-cpu' usable='no'>
+ <blocker name='avx'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G4' typename='Opteron_G4-x86_64-cpu' usable='no'>
+ <blocker name='avx'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G3-v1' typename='Opteron_G3-v1-x86_64-cpu' usable='no'>
+ <blocker name='misalignsse'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G3' typename='Opteron_G3-x86_64-cpu' usable='no'>
+ <blocker name='misalignsse'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G2-v1' typename='Opteron_G2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G2' typename='Opteron_G2-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G1-v1' typename='Opteron_G1-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G1' typename='Opteron_G1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Nehalem-v2' typename='Nehalem-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Nehalem-v1' typename='Nehalem-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Nehalem-IBRS' typename='Nehalem-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Nehalem' typename='Nehalem-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='KnightsMill-v1' typename='KnightsMill-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='avx512f'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='KnightsMill' typename='KnightsMill-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='avx512f'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-v2' typename='IvyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-v1' typename='IvyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-IBRS' typename='IvyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge' typename='IvyBridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v6' typename='Icelake-Server-v6-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v5' typename='Icelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v4' typename='Icelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v3' typename='Icelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v2' typename='Icelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v1' typename='Icelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-noTSX' typename='Icelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server' typename='Icelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v4' typename='Haswell-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v3' typename='Haswell-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v2' typename='Haswell-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v1' typename='Haswell-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-noTSX-IBRS' typename='Haswell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-noTSX' typename='Haswell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-IBRS' typename='Haswell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell' typename='Haswell-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v3' typename='EPYC-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v2' typename='EPYC-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v1' typename='EPYC-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome-v2' typename='EPYC-Rome-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome-v1' typename='EPYC-Rome-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome' typename='EPYC-Rome-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Milan-v1' typename='EPYC-Milan-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Milan' typename='EPYC-Milan-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-IBPB' typename='EPYC-IBPB-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC' typename='EPYC-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana-v2' typename='Dhyana-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana-v1' typename='Dhyana-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana' typename='Dhyana-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v3' typename='Denverton-v3-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v2' typename='Denverton-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v1' typename='Denverton-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton' typename='Denverton-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake-v2' typename='Cooperlake-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake-v1' typename='Cooperlake-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake' typename='Cooperlake-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Conroe-v1' typename='Conroe-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Conroe' typename='Conroe-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Cascadelake-Server-v5' typename='Cascadelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v4' typename='Cascadelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v3' typename='Cascadelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v2' typename='Cascadelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v1' typename='Cascadelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-noTSX' typename='Cascadelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server' typename='Cascadelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v4' typename='Broadwell-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v3' typename='Broadwell-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v2' typename='Broadwell-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v1' typename='Broadwell-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-noTSX-IBRS' typename='Broadwell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-noTSX' typename='Broadwell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-IBRS' typename='Broadwell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell' typename='Broadwell-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='486' typename='486-x86_64-cpu' usable='yes'/>
+ <machine type='tcg' name='pc-i440fx-7.2' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-7.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-7.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='x-remote' maxCpus='1'/>
+ <machine type='tcg' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-5.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='isapc' hotplugCpus='yes' maxCpus='1' defaultCPU='486-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-7.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-7.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-7.2' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+</qemuCaps>
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
index 853f0d9505..e4b66574db 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest1/master-key.aes"}' \
-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
-accel kvm \
--cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,tsc-scale=on,vmcb-clean=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \
+-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \
-m 214 \
-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
-overcommit mem-lock=off \
--
2.37.3
3
3
The 8.9.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://libvirt.org/sources/
https://libvirt.org/sources/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* New features
* Add ``virt-qemu-qmp-proxy`` for emulating a QMP socket for libvirt managed VMs
``virt-qemu-qmp-proxy`` tool provides a way to expose an emulated QMP server
socket for a VM managed by libvirt. This allows existing QMP-only clients
to work with libvirt managed VMs.
Note: libvirt is not interpreting the communication between the tool
using the proxy and qemu itself, so any state-changing commands may
desynchronize libvirt. Use at your own risk.
* qemu: Core Scheduling support
To avoid side channel attacks, the Linux kernel allows creating groups of
processes that trust each other and thus can be scheduled to run on
hyperthreads of a CPU core at the same time. This is now implemented for
QEMU domains too (see ``sched_core`` knob in qemu.conf), although not
enabled by default, just yet.
* Improvements
* qemu: Add hypervisor-specific statistics to ``virConnectGetAllDomainStats``
The new stats group ``VIR_DOMAIN_STATS_VM`` of
``virConnectGetAllDomainStats``, also exposed as ``virsh domstats --vm``,
returns hypervisor-specific stats fields for given VM.
* Add ``vendor`` attribute for CPU models in domain capabilities
Users can now see the vendor of each CPU model in domain capabilities and
use it, e.g., for filtering usable CPU models based on host CPU vendor.
* virsh: Add ``--model`` option for ``hypervisor-cpu-baseline``
This is a shortcut for calling ``hypervisor-cpu-baseline`` with a single
CPU model and no additional features. It can be used for determining which
features block a particular CPU model from being usable.
* Improved documentation of CPU ``usable`` attribute in domain capabilities
* Report ``channel`` and ``redirdev`` devices in domain capabilities
The channel and redirect devices supported by the hypervisor are now
reported in domain capabilities.
* meson: Bump minimal required meson version
Newer meson versions deprecate some functions used. These were replaced
with their newer counterparts and the minimal required mesion version was
bumped to 0.56.0.
* qemu: Add flags to keep or remove TPM state for ``virDomainUndefineFlags``
``VIR_DOMAIN_UNDEFINE_TPM`` and ``VIR_DOMAIN_UNDEFINE_KEEP_TPM`` specify
accordingly to delete or keep a TPM's persistent state directory structure
and files when undefining a domain. In virsh the flags are exposed as
``--tpm`` and ``--keep-tpm`` for the sub-command ``undefine``.
* Bug fixes
* qemu: Disable all blocker features in CPU baseline
Three years ago QEMU renamed some CPU features (mostly those containing
an underscore). When such renamed feature was reported by QEMU as blocking
usability of a CPU model, we would fail to explicitly disable it when
creating a baseline CPU definition using this model. This bug did not have
any functional impact when the default ``check='partial'`` attribute was
used for guest CPU definition in domain XML, but it could have caused
failures to start a domain with ``check='full'`` in some cases.
* qemu: Do not crash after restart with active migration
In 8.8.0 release libvirt daemon would crash after it was restarted during
an active outgoing migration.
* qemu: Refresh state after restore from a save image
When a domain is restored from a saved image, libvirt now queries QEMU for
those parts of runtime information that were not part of the save image.
For instance: MAC address of a macvtap NICs, tray state of CD-ROMs,
allocated size of virtio-mem, and others.
Enjoy.
Jirka
1
0
[PATCH for 8.9.0] Document caveats of 'VIR_DOMAIN_STATS_VM' group of statistics
by Peter Krempa 01 Nov '22
by Peter Krempa 01 Nov '22
01 Nov '22
The original patches adding the functionality neglected to add any form
of documentation for the stats fields returned for this group.
The stats are directly converted from qemu's 'query-stats(-schema)' QMP
command without any further interpretation. The 'query-stats-schema' has
the following disclaimer:
Note: runtime-collected statistics and their names fall outside QEMU's usual
deprecation policies. QEMU will try to keep the set of available data
stable, together with their names, but will not guarantee stability
at all costs; the same is true of providers that source statistics
externally, e.g. from Linux. For example, if the same value is being
tracked with different names on different architectures or by different
providers, one of them might be renamed. A statistic might go away if
an algorithm is changed or some code is removed; changing a default
might cause previously useful statistics to always report 0. Such
changes, however, are expected to be rare.
Since libvirt is not doing any form of conversion of the stats we can't
meaningfully document any of the returned fields. At the same time we
can't even meaningfully provide any form of API stability for the filed
names.
Modify the documentation for the 'VIR_DOMAIN_STATS_VM' group both in the
API docs and in the virsh man page to reflect that and disclaim any form
of stability guarantees we provide normally.
Fixes: 8c9e3dae142
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
docs/manpages/virsh.rst | 36 ++++++++++++++++++++++++++++++++++--
src/libvirt-domain.c | 26 +++++++++++++++++++++++++-
tools/virsh-domain-monitor.c | 2 +-
3 files changed, 60 insertions(+), 4 deletions(-)
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index 61fcb2e9ca..cb2dbaec18 100644
--- a/docs/manpages/virsh.rst
+++ b/docs/manpages/virsh.rst
@@ -2297,7 +2297,7 @@ domstats
domstats [--raw] [--enforce] [--backing] [--nowait] [--state]
[--cpu-total] [--balloon] [--vcpu] [--interface]
- [--block] [--perf] [--iothread] [--memory] [--dirtyrate]
+ [--block] [--perf] [--iothread] [--memory] [--dirtyrate] [--vm]
[[--list-active] [--list-inactive]
[--list-persistent] [--list-transient] [--list-running]y
[--list-paused] [--list-shutoff] [--list-other]] | [domain ...]
@@ -2317,7 +2317,7 @@ The individual statistics groups are selectable via specific flags. By
default all supported statistics groups are returned. Supported
statistics groups flags are: *--state*, *--cpu-total*, *--balloon*,
*--vcpu*, *--interface*, *--block*, *--perf*, *--iothread*, *--memory*,
-*--dirtyrate*.
+*--dirtyrate*, *--vm*.
Note that - depending on the hypervisor type and version or the domain state
- not all of the following statistics may be returned.
@@ -2533,6 +2533,38 @@ not available for statistical purposes.
* ``dirtyrate.vcpu.<num>.megabytes_per_second`` - the calculated memory dirty
rate for a virtual cpu in MiB/s
+*--vm* returns:
+
+The *--vm* option enables reporting of hypervisor-specific statistics. Naming
+and meaning of the fields is entirely hypervisor dependant.
+
+The statistics in this group have following naming scheme:
+
+ ``vm.$NAME.$TYPE``
+
+ ``$NAME``
+ name of the statistics field provided by the hypervisor
+
+ ``$TYPE``
+ Type of the value. Following types are returned:
+
+ ``cur``
+ current instant value
+ ``sum``
+ aggregate value
+ ``max``
+ peak value
+
+ The returned value may be either an unsigned long long or a boolean.
+
+ **WARNING**: The stats reported in this group are runtime-collected and
+ hypervisor originated, thus fall outside of the usual stable API
+ policies of libvirt.
+
+ Libvirt can't guarantee that the statistics reported from the outside
+ source will be present in further versions of the hypervisor, or that
+ naming or meaning will stay consistent. Changes to existing fields,
+ however, are expected to be rare.
Selecting a specific statistics groups doesn't guarantee that the
daemon supports the selected group of stats. Flag *--enforce*
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 52fa136186..4728ddd6ff 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -12482,7 +12482,31 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
* unsigned long long.
*
* VIR_DOMAIN_STATS_VM:
- * Return fd-based KVM statistics for the target VM
+ * Return hypervisor-specific statistics. Note that the naming and meaning
+ * of the fields is entirely hypervisor dependant.
+ *
+ * The statistics in this group have following naming scheme:
+ *
+ * "vm.$NAME.$TYPE"
+ *
+ * $NAME - name of the statistics field provided by the hypervisor
+ *
+ * $TYPE - Type of the value. Following types are returned:
+ * 'cur' - current instant value
+ * 'sum' - aggregate value
+ * 'max' - peak value
+ *
+ * The returned value may be either an unsigned long long or a boolean.
+ *
+ * WARNING:
+ * The stats reported in this group are runtime-collected and
+ * hypervisor originated, thus fall outside of the usual stable API
+ * policies of libvirt.
+ *
+ * Libvirt can't guarantee that the statistics reported from the outside
+ * source will be present in further versions of the hypervisor, or that
+ * naming or meaning will stay consistent. Changes to existing fields,
+ * however, are expected to be rare.
*
* Note that entire stats groups or individual stat fields may be missing from
* the output in case they are not supported by the given hypervisor, are not
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index be8f827685..f89118f64f 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -2067,7 +2067,7 @@ static const vshCmdOptDef opts_domstats[] = {
},
{.name = "vm",
.type = VSH_OT_BOOL,
- .help = N_("report fd-based VM statistics by KVM"),
+ .help = N_("report hypervisor-specific statistics"),
},
{.name = "list-active",
.type = VSH_OT_BOOL,
--
2.38.1
3
2
01 Nov '22
*** BLURB HERE ***
Michal Prívozník (2):
qemu_namespace: Don't leak memory in qemuDomainGetPreservedMounts()
qemu_namespace: Make qemuDomainGetPreservedMounts() more robust wrt
running VMs
src/qemu/qemu_namespace.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
--
2.37.4
3
5
Han Han (3):
NEWS: Mention UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags
NEWS: Mention the tool virt-qemu-qmp-proxy
NEWS: Add the stats VIR_DOMAIN_STATS_VM of virConnectGetAllDomainStats
NEWS.rst | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
--
2.38.1
2
7
01 Nov '22
Fixes: 8c9e3dae14
Signed-off-by: Han Han <hhan(a)redhat.com>
---
include/libvirt/libvirt-domain.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index a37244e4b1..295fd30c93 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -2710,7 +2710,7 @@ typedef enum {
VIR_DOMAIN_STATS_IOTHREAD = (1 << 7), /* return iothread poll info (Since: 4.10.0) */
VIR_DOMAIN_STATS_MEMORY = (1 << 8), /* return domain memory info (Since: 6.0.0) */
VIR_DOMAIN_STATS_DIRTYRATE = (1 << 9), /* return domain dirty rate info (Since: 7.2.0) */
- VIR_DOMAIN_STATS_VM = (1 << 10), /* return vm info (Since: 8.6.0) */
+ VIR_DOMAIN_STATS_VM = (1 << 10), /* return vm info (Since: 8.9.0) */
} virDomainStatsTypes;
/**
--
2.38.1
2
1
30 Oct '22
The value returned by qemu's query-sev-launch-measure comes
straight from the LAUNCH_MEASURE SEV firmware command. It's two
values packed together: first 32 bytes is the launch measurement,
last 16 bytes is the nonce.
This combined value is really just an artifact of the return value
of the firmware command, it has no direct usage. Users want the two
individual values. But because qemu and libvirt do not separate them
apart, every app that wants to process this value will have to do
it manually.
This performs the split for the user, and delivers the values in two
new TYPED_PARAM fields: sev-measurement-value, sev-measurement-nonce
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
include/libvirt/libvirt-domain.h | 22 ++++++++++++++++++++++
src/qemu/qemu_driver.c | 23 +++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 8357aea797..55723ba150 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -6317,6 +6317,28 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
*/
# define VIR_DOMAIN_LAUNCH_SECURITY_SEV_SECRET_SET_ADDRESS "sev-secret-set-address"
+/**
+ * VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_VALUE:
+ *
+ * Macro represents the measurement value of the SEV guest,
+ * extracted from the compound VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT value,
+ * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: 8.9.0
+ */
+# define VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_VALUE "sev-measurement-value"
+
+/**
+ * VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_NONCE:
+ *
+ * Macro represents the measurement nonce of the SEV guest,
+ * extracted from the compound VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT value,
+ * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: 8.9.0
+ */
+# define VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_NONCE "sev-measurement-nonce"
+
int virDomainGetLaunchSecurityInfo(virDomainPtr domain,
virTypedParameterPtr *params,
int *nparams,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 40d23b5723..590e8f3fab 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19951,10 +19951,14 @@ qemuDomainGetSEVInfo(virDomainObj *vm,
int ret = -1;
int rv;
g_autofree char *tmp = NULL;
+ g_autofree char *measurement = NULL;
+ g_autofree char *measurement_val = NULL;
+ g_autofree char *nonce = NULL;
unsigned int apiMajor = 0;
unsigned int apiMinor = 0;
unsigned int buildID = 0;
unsigned int policy = 0;
+ size_t measurement_size = 0;
int maxpar = 0;
virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1);
@@ -19982,6 +19986,17 @@ qemuDomainGetSEVInfo(virDomainObj *vm,
if (rv < 0)
goto endjob;
+ measurement = (char *) g_base64_decode(tmp, &measurement_size);
+ if (measurement_size != 48) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("unexpected SEV measurement size %zu, expected 48"),
+ measurement_size);
+ goto endjob;
+ }
+
+ measurement_val = g_base64_encode((unsigned char *) measurement, 32);
+ nonce = g_base64_encode((unsigned char *) measurement + 32, 16);
+
if (virTypedParamsAddString(params, nparams, &maxpar,
VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT,
tmp) < 0)
@@ -20002,6 +20017,14 @@ qemuDomainGetSEVInfo(virDomainObj *vm,
VIR_DOMAIN_LAUNCH_SECURITY_SEV_POLICY,
policy) < 0)
goto endjob;
+ if (virTypedParamsAddString(params, nparams, &maxpar,
+ VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_VALUE,
+ measurement_val) < 0)
+ goto endjob;
+ if (virTypedParamsAddString(params, nparams, &maxpar,
+ VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT_NONCE,
+ nonce) < 0)
+ goto endjob;
ret = 0;
--
2.37.3
3
4
I have just tagged v8.9.0-rc1 in the repository and pushed signed
tarballs and source RPMs to https://libvirt.org/sources/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
1
1
shadow_memkb is populated from a libxl API call, and the value can
change. For example:
https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=2c992810854a15b41be920…
Mock libxl_get_required_shadow_memory to give consistent output
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
tests/libxlmock.c | 11 +++++++++++
tests/libxlxml2domconfigdata/basic-hvm.json | 2 +-
tests/libxlxml2domconfigdata/basic-pv.json | 2 +-
tests/libxlxml2domconfigdata/basic-pvh.json | 2 +-
tests/libxlxml2domconfigdata/cpu-shares-hvm.json | 2 +-
tests/libxlxml2domconfigdata/fullvirt-acpi-slic.json | 2 +-
.../fullvirt-cpuid-legacy-nest.json | 2 +-
tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 2 +-
.../libxlxml2domconfigdata/max-eventchannels-hvm.json | 2 +-
tests/libxlxml2domconfigdata/max-gntframes-hvm.json | 2 +-
tests/libxlxml2domconfigdata/moredevs-hvm.json | 2 +-
tests/libxlxml2domconfigdata/multiple-ip.json | 2 +-
tests/libxlxml2domconfigdata/variable-clock-hvm.json | 2 +-
.../libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json | 2 +-
tests/libxlxml2domconfigdata/vnuma-hvm.json | 2 +-
15 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/tests/libxlmock.c b/tests/libxlmock.c
index 0e4bf7df52..4754597e5b 100644
--- a/tests/libxlmock.c
+++ b/tests/libxlmock.c
@@ -109,6 +109,17 @@ VIR_MOCK_STUB_RET_ARGS(bind,
const struct sockaddr *, addr,
socklen_t, addrlen)
+VIR_MOCK_IMPL_RET_ARGS(libxl_get_required_shadow_memory,
+ unsigned long,
+ unsigned long, maxmem_kb,
+ unsigned int, smp_cpus)
+{
+ /* silence gcc warning about unused function */
+ if (0)
+ real_libxl_get_required_shadow_memory(maxmem_kb, smp_cpus);
+ return 1234;
+}
+
VIR_MOCK_IMPL_RET_ARGS(__xstat, int,
int, ver,
const char *, path,
diff --git a/tests/libxlxml2domconfigdata/basic-hvm.json b/tests/libxlxml2domconfigdata/basic-hvm.json
index 87f8cb7d8a..d30875420d 100644
--- a/tests/libxlxml2domconfigdata/basic-hvm.json
+++ b/tests/libxlxml2domconfigdata/basic-hvm.json
@@ -15,7 +15,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
"sched_params": {
diff --git a/tests/libxlxml2domconfigdata/basic-pv.json b/tests/libxlxml2domconfigdata/basic-pv.json
index b71c3b0f49..32d188fabd 100644
--- a/tests/libxlxml2domconfigdata/basic-pv.json
+++ b/tests/libxlxml2domconfigdata/basic-pv.json
@@ -14,7 +14,7 @@
],
"max_memkb": 524288,
"target_memkb": 524288,
- "shadow_memkb": 8192,
+ "shadow_memkb": 1234,
"sched_params": {
},
diff --git a/tests/libxlxml2domconfigdata/basic-pvh.json b/tests/libxlxml2domconfigdata/basic-pvh.json
index 48365c9026..f51957aa85 100644
--- a/tests/libxlxml2domconfigdata/basic-pvh.json
+++ b/tests/libxlxml2domconfigdata/basic-pvh.json
@@ -14,7 +14,7 @@
],
"max_memkb": 524288,
"target_memkb": 524288,
- "shadow_memkb": 8192,
+ "shadow_memkb": 1234,
"sched_params": {
},
diff --git a/tests/libxlxml2domconfigdata/cpu-shares-hvm.json b/tests/libxlxml2domconfigdata/cpu-shares-hvm.json
index 2aa97e88c5..15105c83ad 100644
--- a/tests/libxlxml2domconfigdata/cpu-shares-hvm.json
+++ b/tests/libxlxml2domconfigdata/cpu-shares-hvm.json
@@ -15,7 +15,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
"sched_params": {
diff --git a/tests/libxlxml2domconfigdata/fullvirt-acpi-slic.json b/tests/libxlxml2domconfigdata/fullvirt-acpi-slic.json
index a2d46797aa..26f5abefee 100644
--- a/tests/libxlxml2domconfigdata/fullvirt-acpi-slic.json
+++ b/tests/libxlxml2domconfigdata/fullvirt-acpi-slic.json
@@ -11,7 +11,7 @@
],
"max_memkb": 592896,
"target_memkb": 403456,
- "shadow_memkb": 5656,
+ "shadow_memkb": 1234,
"sched_params": {
},
"apic": "True",
diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json
index 6290655c20..740b82d2e6 100644
--- a/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json
+++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json
@@ -11,7 +11,7 @@
],
"max_memkb": 592896,
"target_memkb": 403456,
- "shadow_memkb": 5656,
+ "shadow_memkb": 1234,
"cpuid": [
{
"leaf": 1,
diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json
index 811a4f0ac7..8bf41894a5 100644
--- a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json
+++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json
@@ -11,7 +11,7 @@
],
"max_memkb": 592896,
"target_memkb": 403456,
- "shadow_memkb": 5656,
+ "shadow_memkb": 1234,
"cpuid": [
{
"leaf": 1,
diff --git a/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json b/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
index 4a5b0ca65f..6f0daa065f 100644
--- a/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
+++ b/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
@@ -15,7 +15,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"event_channels": 2047,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json
index 2883d057ff..35de588abc 100644
--- a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json
+++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json
@@ -15,7 +15,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"max_grant_frames": 64,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
diff --git a/tests/libxlxml2domconfigdata/moredevs-hvm.json b/tests/libxlxml2domconfigdata/moredevs-hvm.json
index 58cf32a8d4..bdc9afc29b 100644
--- a/tests/libxlxml2domconfigdata/moredevs-hvm.json
+++ b/tests/libxlxml2domconfigdata/moredevs-hvm.json
@@ -17,7 +17,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
"sched_params": {
diff --git a/tests/libxlxml2domconfigdata/multiple-ip.json b/tests/libxlxml2domconfigdata/multiple-ip.json
index 2db98b82f6..e0b37aa795 100644
--- a/tests/libxlxml2domconfigdata/multiple-ip.json
+++ b/tests/libxlxml2domconfigdata/multiple-ip.json
@@ -14,7 +14,7 @@
],
"max_memkb": 524288,
"target_memkb": 524288,
- "shadow_memkb": 8192,
+ "shadow_memkb": 1234,
"sched_params": {
},
diff --git a/tests/libxlxml2domconfigdata/variable-clock-hvm.json b/tests/libxlxml2domconfigdata/variable-clock-hvm.json
index 9a25d51da2..3c131c603c 100644
--- a/tests/libxlxml2domconfigdata/variable-clock-hvm.json
+++ b/tests/libxlxml2domconfigdata/variable-clock-hvm.json
@@ -15,7 +15,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 12288,
+ "shadow_memkb": 1234,
"rtc_timeoffset": 3600,
"localtime": "True",
"device_model_version": "qemu_xen",
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json b/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json
index 6cda8d0252..6725df9112 100644
--- a/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json
+++ b/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json
@@ -103,7 +103,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 14336,
+ "shadow_memkb": 1234,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
"sched_params": {
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm.json b/tests/libxlxml2domconfigdata/vnuma-hvm.json
index f578ccd3d3..2556c82d5f 100644
--- a/tests/libxlxml2domconfigdata/vnuma-hvm.json
+++ b/tests/libxlxml2domconfigdata/vnuma-hvm.json
@@ -103,7 +103,7 @@
"max_memkb": 1048576,
"target_memkb": 1048576,
"video_memkb": 8192,
- "shadow_memkb": 14336,
+ "shadow_memkb": 1234,
"device_model_version": "qemu_xen",
"device_model": "/bin/true",
"sched_params": {
--
2.37.3
2
1
27 Oct '22
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 20541c6c6e..893ad6f370 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -17,6 +17,14 @@ v8.9.0 (unreleased)
* **New features**
+ * qemu: Core Scheduling support
+
+ To avoid side channel attacks, the Linux kernel allows creating groups of
+ processes that trust each other and thus can be scheduled to run on
+ hyperthreads of a CPU core at the same time. This is now implemented for
+ QEMU domains too (see ``sched_core`` knob in qemu.conf), although not
+ enabled by default, just yet.
+
* **Improvements**
* Add ``vendor`` attribute for CPU models in domain capabilities
@@ -37,6 +45,12 @@ v8.9.0 (unreleased)
The channel and redirect devices supported by the hypervisor are now
reported in domain capabilities.
+ * meson: Bump minimal required meson version
+
+ Newer meson versions deprecate some functions used. These were replaced
+ with their newer counterparts and the minimal required mesion version was
+ bumped to 0.56.0.
+
* **Bug fixes**
* qemu: Disable all blocker features in CPU baseline
@@ -54,6 +68,14 @@ v8.9.0 (unreleased)
In 8.8.0 release libvirt daemon would crash after it was restarted during
an active outgoing migration.
+ * qemu: Refresh state after restore from a save image
+
+ When a domain is restored from a saved image, libvirt now queries QEMU for
+ those parts of runtime information that were not part of the save image.
+ For instance: MAC address of a macvtap NICs, tray state of CD-ROMs,
+ allocated size of virtio-mem, and others.
+
+
v8.8.0 (2022-10-03)
===================
--
2.37.4
2
1
27 Oct '22
See patches for details (duh!).
Martin Kletzander (2):
Remove Before=libvirt-guests.service from other services
docs: Remind users to remove --timeout option without socket
activation
docs/manpages/libvirtd.rst | 3 +++
src/ch/virtchd.service.in | 1 -
src/lxc/virtlxcd.service.in | 1 -
src/qemu/virtqemud.service.in | 1 -
src/remote/libvirtd.service.in | 1 -
5 files changed, 3 insertions(+), 4 deletions(-)
--
2.38.1
2
3
Hi,
Please excuse me if this is not the right place to file a bug. Let me
know which one is it and I'll be glad to comply.
I'm trying to use virt-manager to create a Raspberry Pi 2 virtual
machine on my Talos 2 ppc64le workstation.
In virt-manager I click on "New", then "Manual install", architecture
"arm" and machine type "raspi2b".
Next I set either "Generic or unknown OS" or "Debian 11" as operating
system, I keep the default 1024 memory and 1 cpu and then I disable
storage for this virtual machine (because I want to use an existing
image with direct kernel boot, see
https://raspi.debian.net/tested-images/)
I check "Customize configuration before install" and I click "Finish".
Unfortunately I get the following error:
Error starting installation: Did not find any UEFI binary path for arch
'armv7l'
So I've decided to start from scratch and select "virt" as machine type
instead of "raspi2b" and change it back later.
With "virt" I manage to reach the configuration overview before the
installation begins.
At this point I have three options for Firmware:
Default
UEFI
UEFI armv7l:/usr/share/qemu/edk2-arm-code.fd
UEFI is the default and if I change the machine type to raspi2b I still
have the same three options (/usr/share/qemu/edk2-arm-code.fd does
indeed exist in my file system).
Unfortunately clicking on "Begin Installation" leads me to yet another
error:
Unable to complete install: 'internal error: Required option 'modelName'
is not set for PCI controller with index '1', model 'pcie-root-port' and
modelName 'none''
If I change the machine type back to "virt" I don't get any error.
I'm using app-emulation/qemu 7.1.0, app-emulation/libvirt-8.8.0 and
virt-manager-4.1.0 on Gentoo Linux ppc64le with a 4K page size kernel.
Thanks,
Niccolo' Belli
1
0
[libvirt PATCH v2 00/12] tools: provide virt-qemu-sev-validate for SEV(-ES) launch attestation
by Daniel P. Berrangé 27 Oct '22
by Daniel P. Berrangé 27 Oct '22
27 Oct '22
The libvirt QEMU driver provides all the functionality required for
launching a guest on AMD SEV(-ES) platforms, with a configuration
that enables attestation of the launch measurement. The documentation
for how to actually perform an attestation is severely lacking and
not suitable for mere mortals to understand. IOW, someone trying to
implement attestation is in for a world of pain and suffering.
This series doesn't fix the documentation problem, but it does
provide a reference implementation of a tool for performing
attestation of SEV(-ES) guests in the context of libvirt / KVM.
There will be other tools and libraries that implement attestation
logic too, but this tool is likely somewhat unique in its usage of
libvirt. Now for a attestation to be trustworthy you don't want to
perform it on the hypervisor host, since the goal is to prove that
the hypervisor has not acted maliciously. None the less it is still
beneficial to have libvirt integration to some extent.
When running this tool on a remote (trusted) host, it can connect
to the libvirt hypervisor and fetch the data provided by the
virDomainLaunchSecurityInfo API, which is safe to trust as the
key pieces are cryptographically measured.
Attestation is a complex problem though and it is very easy to
screw up and feed the wrong information and then waste hours trying
to figure out what piece was wrong, to cause the hash digest to
change. For debugging such problems, you can thus tell the tool
to operate insecurely, by querying libvirt for almost all of the
configuration information required to determine the expected
measurement. By comparing these results,to the results obtained
in offline mode it helps narrow down where the mistake lies.
So I view this tool as being useful in a number of ways:
* Quality assurance engineers needing to test libvirt/QEMU/KVM
get a simple and reliable tool for automating tests with.
* Users running simple libvirt deployments without any large
management stack, get a standalone tool for attestation
they can rely on.
* Developers writing/integrating attestation support into
management stacks above libvirt, get a reference against
which they can debug their own tools.
* Users wanting to demonstrate the core SEV/SEV-ES functionality
get a simple and reliable tool to illustrate the core concepts
involved.
Since I didn't fancy writing such complex logic in C, this tool is
a python3 program. As such, we don't want to include it in the
main libvirt-client RPM, nor any other existing RPM. THus, this
series puts it in a new libvirt-client-qemu RPM which, through no
co-inicidence at all, is the same RPM I invented a few days ago to
hold the virt-qemu-qmp-proxy command.
Note, people will have already seen an earlier version of this
tool I hacked up some months ago. This code is very significantly
changed since that earlier version, to make it more maintainable,
and simpler to use (especially for SEV-ES) but the general theme
is still the same.
Changed in v2:
- All the suggestions from Cole and Kashyap
Daniel P. Berrangé (12):
build-aux: only forbid gethostname in C files
tools: support validating SEV firmware boot measurements
tools: load guest config from libvirt
tools: support validating SEV direct kernel boot measurements
tools: load direct kernel config from libvirt
tools: support validating SEV-ES initial vCPU state measurements
tools: support automatically constructing SEV-ES vCPU state
tools: load CPU count and CPU SKU from libvirt
tools: support generating SEV secret injection tables
docs/kbase: describe attestation for SEV guests
scripts: add systemtap script for capturing SEV-ES VMSA
docs/manpages: add checklist of problems for SEV attestation
build-aux/syntax-check.mk | 1 +
docs/kbase/launch_security_sev.rst | 105 ++
docs/manpages/meson.build | 1 +
docs/manpages/virt-qemu-sev-validate.rst | 647 +++++++++++
examples/systemtap/amd-sev-es-vmsa.stp | 48 +
libvirt.spec.in | 2 +
tools/meson.build | 5 +
tools/virt-qemu-sev-validate | 1292 ++++++++++++++++++++++
8 files changed, 2101 insertions(+)
create mode 100644 docs/manpages/virt-qemu-sev-validate.rst
create mode 100644 examples/systemtap/amd-sev-es-vmsa.stp
create mode 100755 tools/virt-qemu-sev-validate
--
2.37.3
4
24