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
- 14 participants
- 40168 discussions
11 Mar '25
With a specific combination of compiler options gcc reported the
following bogus warning (I added a context to it to make the issue
visible):
../src/esx/esx_vi.c: In function ‘esxVI_LookupHostScsiTopologyLunListByTargetName’:
../src/esx/esx_vi.c:4674:32: error: potential null pointer dereference [-Werror=null-dereference]
4671 | if (!found || !hostScsiTopologyTarget)
4672 | goto cleanup;
4673 |
4674 | if (!hostScsiTopologyTarget->lun) {
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~
Most likely this is caused by found and hostScsiTopologyTarget doing
essentially the same thing as found is true if and only if
hostScsiTopologyTarget is non-NULL. The found variable is completely
redundant. Removing it would be enough, but I decided to make the code a
little bit easier to read by not using the iterator variable directly.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/esx/esx_vi.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
index e2589aa69a..aee649b86e 100644
--- a/src/esx/esx_vi.c
+++ b/src/esx/esx_vi.c
@@ -4616,7 +4616,6 @@ esxVI_LookupHostScsiTopologyLunListByTargetName
esxVI_HostScsiTopologyInterface *hostScsiInterfaceList = NULL;
esxVI_HostScsiTopologyInterface *hostScsiInterface = NULL;
esxVI_HostScsiTopologyTarget *hostScsiTopologyTarget = NULL;
- bool found = false;
esxVI_HostInternetScsiTargetTransport *candidate = NULL;
ESX_VI_CHECK_ARG_LIST(hostScsiTopologyLunList);
@@ -4653,22 +4652,21 @@ esxVI_LookupHostScsiTopologyLunListByTargetName
/* See vSphere API documentation about HostScsiTopologyInterface */
for (hostScsiInterface = hostScsiInterfaceList;
- hostScsiInterface && !found;
+ hostScsiInterface && !hostScsiTopologyTarget;
hostScsiInterface = hostScsiInterface->_next) {
- for (hostScsiTopologyTarget = hostScsiInterface->target;
- hostScsiTopologyTarget;
- hostScsiTopologyTarget = hostScsiTopologyTarget->_next) {
+ esxVI_HostScsiTopologyTarget *target;
+ for (target = hostScsiInterface->target; target; target = target->_next) {
candidate = esxVI_HostInternetScsiTargetTransport_DynamicCast
- (hostScsiTopologyTarget->transport);
+ (target->transport);
if (candidate && STREQ(candidate->iScsiName, name)) {
- found = true;
+ hostScsiTopologyTarget = target;
break;
}
}
}
- if (!found || !hostScsiTopologyTarget)
+ if (!hostScsiTopologyTarget)
goto cleanup;
if (!hostScsiTopologyTarget->lun) {
--
2.48.1
2
1
This series adds on s390x full boot order support which has been
introduced recently in QEMU with the PR
https://lore.kernel.org/qemu-devel/20241023131710.906748-1-thuth@redhat.com/
The replies and xml files are removed from the patch in this series and
are available in https://gitlab.com/fiuczy/libvirt/-/commits/fullbootorder
Boris Fiuczynski (3):
qemu: capabilities: Add QEMU_CAPS_VIRTIO_CCW_DEVICE_LOADPARM
tests: add capabilities for QEMU 9.2.0 on s390x
qemu: command: add multi boot device support on s390x
src/qemu/qemu_capabilities.c | 8 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 40 +-
src/qemu/qemu_command.h | 6 +-
src/qemu/qemu_hotplug.c | 6 +-
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 311 +
.../caps_5.2.0_s390x.replies | 321 +-
.../caps_6.0.0_s390x.replies | 321 +-
.../caps_8.1.0_s390x.replies | 321 +-
.../caps_8.2.0_s390x.replies | 321 +-
.../caps_9.1.0_s390x.replies | 321 +-
.../caps_9.2.0_s390x.replies | 36741 ++++++++++++++++
.../qemucapabilitiesdata/caps_9.2.0_s390x.xml | 3752 ++
.../machine-loadparm-hostdev.s390x-9.1.0.args | 33 +
.../machine-loadparm-hostdev.s390x-9.1.0.xml | 33 +
...machine-loadparm-hostdev.s390x-latest.args | 4 +-
...-multiple-disks-nets-s390.s390x-9.1.0.args | 40 +
...m-multiple-disks-nets-s390.s390x-9.1.0.xml | 51 +
...multiple-disks-nets-s390.s390x-latest.args | 8 +-
...machine-loadparm-net-s390.s390x-9.1.0.args | 34 +
.../machine-loadparm-net-s390.s390x-9.1.0.xml | 32 +
...achine-loadparm-net-s390.s390x-latest.args | 4 +-
.../machine-loadparm-s390.s390x-9.1.0.args | 34 +
.../machine-loadparm-s390.s390x-9.1.0.xml | 33 +
.../machine-loadparm-s390.s390x-latest.args | 4 +-
tests/qemuxmlconftest.c | 4 +
26 files changed, 42664 insertions(+), 120 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_9.2.0.s390x.xml
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-multiple-disks-nets-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-multiple-disks-nets-s390.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-net-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-net-s390.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-s390.s390x-9.1.0.xml
--
2.45.0
2
11
11 Mar '25
From: Hyman Huang <yong.huang(a)smartx.com>
This patchset is the prerequisite for the vCPU dirty-limit feature:
https://patchew.org/Libvirt/cover.1703135535.git.yong.huang@smartx.com/
As suggested by Daniel:
We've generally tried to avoid adding single purpose APIs for
tunable parameters, instead using APIs with virTypedParameter
arrays to allow bulk updates.
I note that we don't appear to have any mechanism currently
to set the VCPU scheduler tunables either
Perhaps we should have a more general
virDomainSetVCPUTuneParameters(virDomainPtr domain,
int vcpu,
virTypedParameterPtr params,
unsigned int params,
unsigned int flags);
Refer the following link to see more details:
https://patchew.org/Libvirt/169397083100.4628.15196043252714532301-0@git.sr…
We present the qemuDomainSetVcpuTuneParameters API separately
because the patchset is somewhat self-contained.
Please review,
Yong
Hyman Huang (3):
libvirt: Add virDomainSetVcpuTuneParameters API
qemu_driver: Implement qemuDomainSetVcpuTuneParameters
virsh: Use the new API to implement cmdSetvcpu
include/libvirt/libvirt-domain.h | 25 ++++++++++++++
src/driver-hypervisor.h | 8 +++++
src/libvirt-domain.c | 56 ++++++++++++++++++++++++++++++++
src/libvirt_public.syms | 5 +++
src/qemu/qemu_driver.c | 29 +++++++++++++++++
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 20 +++++++++++-
tools/virsh-domain.c | 10 +++++-
8 files changed, 152 insertions(+), 2 deletions(-)
--
2.27.0
4
6
[PATCH] conf: parse interface/source/@dev for all interface types (with backend type='passt')
by Laine Stump 10 Mar '25
by Laine Stump 10 Mar '25
10 Mar '25
The original implementation of the passt backend for vhost-user
interfaces erroneously forgot to parse:
<source dev='blah'/>
for interface type='vhostuser', so it wasn't being added to the passt
commandline, and also wasn't being saved to the domain config. Now we
parse it no matter what the interface type, and then throw an error
during validation if source/@dev was specified and backend type !=
'passt' (or if interface type != 'user|vhostuser').
Fixes: 1e9054b9c79d721a55f413c2983c5370044f8f60
Resolves: https://issues.redhat.com/browse/RHEL-82539
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/conf/domain_conf.c | 10 +++++++---
src/conf/domain_validate.c | 5 +++++
.../net-vhostuser-passt.x86_64-latest.xml | 2 ++
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d555873848..5daa1f89e8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -9938,14 +9938,18 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
break;
case VIR_DOMAIN_NET_TYPE_USER:
- def->sourceDev = virXMLPropString(source_node, "dev");
- break;
-
case VIR_DOMAIN_NET_TYPE_NULL:
case VIR_DOMAIN_NET_TYPE_LAST:
break;
}
+ /* source/@dev is used for two different interface types and *not*
+ * stored inside the union, so we can parse it out always, and
+ * then log an error during validation if it was specified for one
+ * of the interface types that doesn't support it.
+ */
+ def->sourceDev = virXMLPropString(source_node, "dev");
+
if ((virtualport_node = virXPathNode("./virtualport", ctxt))) {
if (virtualport_flags == 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index f2a98f143d..9de442d7d7 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -2196,6 +2196,11 @@ virDomainNetDefValidate(const virDomainNetDef *net)
}
}
+ if (net->sourceDev && net->backend.type != VIR_DOMAIN_NET_BACKEND_PASST) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("The 'dev' attribute of the <source> element can only be used with interface type='user' or type='vhostuser' and backend='passt'."));
+ }
+
if (net->nPortForwards > 0) {
size_t p;
diff --git a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
index a1f9366722..529aff11f8 100644
--- a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
+++ b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
@@ -33,6 +33,7 @@
<controller type='pci' index='0' model='pci-root'/>
<interface type='vhostuser'>
<mac address='00:11:22:33:44:55'/>
+ <source dev='eth42'/>
<ip address='172.17.2.0' family='ipv4' prefix='24'/>
<ip address='2001:db8:ac10:fd01::feed' family='ipv6'/>
<portForward proto='tcp' address='2001:db8:ac10:fd01::1:10'>
@@ -63,6 +64,7 @@
</interface>
<interface type='vhostuser'>
<mac address='00:11:22:33:44:11'/>
+ <source dev='eth43'/>
<model type='virtio'/>
<backend type='passt'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
--
2.48.1
2
2
This version introduces virStringFormatHex method and uses this method while sending host_data to cloud-hypervisor.
Praveen K Paladugu (2):
util: Introduce virStringFormatHex
ch: Enable SEV SNP support
src/ch/ch_monitor.c | 65 ++++++++++++++++++++++++++++++++--------
src/libvirt_private.syms | 1 +
src/util/virstring.c | 19 ++++++++++++
src/util/virstring.h | 1 +
4 files changed, 74 insertions(+), 12 deletions(-)
--
2.47.0
2
6
[PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate
by Philippe Mathieu-Daudé 10 Mar '25
by Philippe Mathieu-Daudé 10 Mar '25
10 Mar '25
We are trying to unify all qemu-system-FOO to a single binary.
In order to do that we need to remove QAPI target specific code.
@dump-skeys is only available on qemu-system-s390x. This series
rename it as @dump-s390-skey, making it available on other
binaries. We take care of backward compatibility via deprecation.
Philippe Mathieu-Daudé (4):
hw/s390x: Introduce the @dump-s390-skeys QMP command
hw/s390x: Introduce the 'dump_s390_skeys' HMP command
hw/s390x: Deprecate the HMP 'dump_skeys' command
hw/s390x: Deprecate the QMP @dump-skeys command
docs/about/deprecated.rst | 5 +++++
qapi/misc-target.json | 5 +++++
qapi/misc.json | 18 ++++++++++++++++++
include/monitor/hmp.h | 1 +
hw/s390x/s390-skeys-stub.c | 24 ++++++++++++++++++++++++
hw/s390x/s390-skeys.c | 19 +++++++++++++++++--
hmp-commands.hx | 17 +++++++++++++++--
hw/s390x/meson.build | 5 +++++
8 files changed, 90 insertions(+), 4 deletions(-)
create mode 100644 hw/s390x/s390-skeys-stub.c
--
2.41.0
7
24
[PATCH 00/16] qemu: Bump minimum qemu to qemu-6.2.0 and clean up capabilities
by Peter Krempa 10 Mar '25
by Peter Krempa 10 Mar '25
10 Mar '25
Summary:
This series was originally just meant to clean up non-release
capabilities but it grew since we dropped debian-11 and Michal asked me
to add dev-version for amdsev variant.
Some of the long patches were truncated, fetch the proper patches at
git fetch https://gitlab.com/pipo.sk/libvirt.git qemu_caps
Note that this series also drops caps dumps which were not updated from
the development version after final version was released. This includes:
- caps_6.2.0_aarch64
- caps_7.0.0_aarch64
- caps_8.0.0_riscv64
If anyone cares enough I'll accept a replacement patch updating the caps
but as outlined in the commit message I don't think we need to do
archaeology for these as we have newer versions.
I also pinged the original author of caps_9.2.0_s390x who promised to
update the caps.
This series also contains current git caps for the 'amdsev' variant per
Michal's request.
Peter Krempa (16):
conf: Drop support for 'sheepdog' disks
qemuxmlconftest: Drop tests pinned to qemu-5.2
qemuxmlconftest: Drop tests pinned to qemu-6.0
qemuxmlconftest: Drop tests pinned to qemu-6.1
qemucapabilitiestest: Drop qemu-5.2 data
qemucapabilitiestest: Drop qemu-6.0 data
qemucapabilitiestest: Drop qemu-6.1 data
qemucapabilitiestest: Add 'qemu_9.2.0.aarch64+hvf' test data
qemucapabilitiestest: Drop unused fake data 'caps_7.0.0_aarch64+hvf'
qemucapabilitiesdata: Drop un-updated 'qemu_6.2.0_aarch64' data
qemucapabilitiesdata: Drop un-updated 'caps_7.0.0_aarch64' data
qemucapabilitiesdata: Drop un-updated 'qemu_8.0.0_riscv64' data
qemu: capabilities: Bump minimum qemu to qemu-6.2
qemu: block: Drop 'sheepdog' protocol support
qemucapabilitiestest: Update 'caps_10.0.0_x86_64' to
'v9.2.0-2369-g98c7362b1e'
qemucapabilitiestest: Add data for the qemu-10.0 dev cycle on x86_64
for the '+amdsev' variant
src/conf/domain_validate.c | 7 +
src/qemu/qemu_block.c | 44 +-
src/qemu/qemu_capabilities.c | 2 +-
....xml => qemu_10.0.0-q35.x86_64+amdsev.xml} | 870 +-
....xml => qemu_10.0.0-tcg.x86_64+amdsev.xml} | 1245 +-
...6_64.xml => qemu_10.0.0.x86_64+amdsev.xml} | 868 +-
.../qemu_5.2.0-tcg-virt.riscv64.xml | 163 -
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1643 -
.../qemu_5.2.0-virt.aarch64.xml | 221 -
.../qemu_5.2.0-virt.riscv64.xml | 166 -
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 221 -
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 187 -
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 288 -
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1047 -
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1744 -
.../qemu_6.0.0-virt.aarch64.xml | 227 -
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 227 -
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 293 -
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1047 -
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1139 -
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1139 -
.../qemu_6.2.0-virt.aarch64.xml | 234 -
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 234 -
.../qemu_7.0.0-virt.aarch64.xml | 233 -
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 233 -
.../qemu_8.0.0-tcg-virt.riscv64.xml | 174 -
.../qemu_8.0.0-virt.riscv64.xml | 177 -
...hvf.xml => qemu_9.2.0-hvf.aarch64+hvf.xml} | 26 +-
...lies => caps_10.0.0_x86_64+amdsev.replies} | 26336 +++++++++----
...6_64.xml => caps_10.0.0_x86_64+amdsev.xml} | 2994 +-
.../caps_10.0.0_x86_64.replies | 388 +-
.../caps_10.0.0_x86_64.xml | 70 +-
.../caps_5.2.0_aarch64.replies | 24859 ------------
.../caps_5.2.0_aarch64.xml | 428 -
.../caps_5.2.0_ppc64.replies | 28246 -------------
.../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1081 -
.../caps_5.2.0_riscv64.replies | 20531 ----------
.../caps_5.2.0_riscv64.xml | 131 -
.../caps_5.2.0_s390x.replies | 25181 ------------
.../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 3221 --
.../caps_5.2.0_x86_64.replies | 30637 ---------------
.../caps_5.2.0_x86_64.xml | 3113 --
.../caps_6.0.0_aarch64.replies | 26869 -------------
.../caps_6.0.0_aarch64.xml | 454 -
.../caps_6.0.0_s390x.replies | 26878 -------------
.../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 3235 --
.../caps_6.0.0_x86_64.replies | 32715 ----------------
.../caps_6.0.0_x86_64.xml | 3261 --
.../caps_6.2.0_aarch64.replies | 28023 -------------
.../caps_6.2.0_aarch64.xml | 485 -
.../caps_7.0.0_aarch64.replies | 31776 ---------------
.../caps_7.0.0_aarch64.xml | 501 -
.../caps_8.0.0_riscv64.replies | 27913 -------------
.../caps_8.0.0_riscv64.xml | 157 -
...replies => caps_9.2.0_aarch64+hvf.replies} | 27603 +++++++------
...h64+hvf.xml => caps_9.2.0_aarch64+hvf.xml} | 647 +-
tests/qemusecuritytest.c | 1 -
.../cpu-fallback.x86_64-5.2.0.args | 34 -
.../cpu-fallback.x86_64-5.2.0.xml | 40 -
...-host-model-fallback-kvm.x86_64-5.2.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-5.2.0.xml | 29 -
...-host-model-fallback-kvm.x86_64-6.0.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-6.0.0.xml | 29 -
...-host-model-fallback-kvm.x86_64-6.1.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-6.1.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-5.2.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-5.2.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-6.0.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-6.0.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-6.1.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-6.1.0.xml | 29 -
.../cpu-host-model-kvm.x86_64-5.2.0.args | 39 -
.../cpu-host-model-kvm.x86_64-5.2.0.xml | 48 -
.../cpu-host-model-kvm.x86_64-6.0.0.args | 39 -
.../cpu-host-model-kvm.x86_64-6.0.0.xml | 48 -
.../cpu-host-model-kvm.x86_64-6.1.0.args | 39 -
.../cpu-host-model-kvm.x86_64-6.1.0.xml | 48 -
...ost-model-nofallback-kvm.x86_64-5.2.0.args | 34 -
...host-model-nofallback-kvm.x86_64-5.2.0.xml | 29 -
...ost-model-nofallback-kvm.x86_64-6.0.0.args | 34 -
...host-model-nofallback-kvm.x86_64-6.0.0.xml | 29 -
...ost-model-nofallback-kvm.x86_64-6.1.0.args | 34 -
...host-model-nofallback-kvm.x86_64-6.1.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-5.2.0.args | 34 -
...host-model-nofallback-tcg.x86_64-5.2.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-6.0.0.args | 34 -
...host-model-nofallback-tcg.x86_64-6.0.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-6.1.0.args | 34 -
...host-model-nofallback-tcg.x86_64-6.1.0.xml | 29 -
.../cpu-host-model-tcg.x86_64-5.2.0.args | 39 -
.../cpu-host-model-tcg.x86_64-5.2.0.xml | 48 -
.../cpu-host-model-tcg.x86_64-6.0.0.args | 39 -
.../cpu-host-model-tcg.x86_64-6.0.0.xml | 48 -
.../cpu-host-model-tcg.x86_64-6.1.0.args | 39 -
.../cpu-host-model-tcg.x86_64-6.1.0.xml | 48 -
.../cpu-nofallback.x86_64-5.2.0.err | 1 -
.../cpu-nofallback.x86_64-5.2.0.xml | 40 -
...sk-network-rbd-encryption.x86_64-6.0.0.err | 1 -
.../disk-network-sheepdog.x86_64-6.0.0.args | 39 -
.../disk-network-sheepdog.x86_64-6.0.0.xml | 46 -
.../disk-network-sheepdog.x86_64-latest.err | 1 +
...disk-network-tlsx509-nbd.x86_64-5.2.0.args | 38 -
.../disk-network-tlsx509-nbd.x86_64-5.2.0.xml | 37 -
...virtio-scsi-reservations.x86_64-5.2.0.args | 43 -
...-virtio-scsi-reservations.x86_64-5.2.0.xml | 53 -
.../graphics-vnc-tls-secret.x86_64-5.2.0.args | 37 -
.../graphics-vnc-tls-secret.x86_64-5.2.0.xml | 39 -
...ch64-virt-headless.aarch64-latest+hvf.args | 8 +-
.../hyperv-passthrough.x86_64-6.1.0.args | 32 -
.../hyperv-passthrough.x86_64-6.1.0.xml | 34 -
...othreads-virtio-scsi-pci.x86_64-5.2.0.args | 42 -
...iothreads-virtio-scsi-pci.x86_64-5.2.0.xml | 49 -
...ev-missing-platform-info.x86_64-6.0.0.args | 37 -
...sev-missing-platform-info.x86_64-6.0.0.xml | 43 -
.../launch-security-sev.x86_64-6.0.0.args | 37 -
.../launch-security-sev.x86_64-6.0.0.xml | 45 -
.../luks-disks-source-qcow2.x86_64-5.2.0.args | 62 -
.../luks-disks-source-qcow2.x86_64-5.2.0.xml | 107 -
...ory-hotplug-nvdimm-align.x86_64-5.2.0.args | 40 -
...mory-hotplug-nvdimm-align.x86_64-5.2.0.xml | 60 -
...ory-hotplug-nvdimm-label.x86_64-5.2.0.args | 40 -
...mory-hotplug-nvdimm-label.x86_64-5.2.0.xml | 62 -
...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args | 40 -
...emory-hotplug-nvdimm-pmem.x86_64-5.2.0.xml | 60 -
...-hotplug-nvdimm-readonly.x86_64-5.2.0.args | 40 -
...y-hotplug-nvdimm-readonly.x86_64-5.2.0.xml | 60 -
...mory-hotplug-virtio-pmem.x86_64-5.2.0.args | 40 -
...emory-hotplug-virtio-pmem.x86_64-5.2.0.xml | 55 -
.../misc-no-reboot.x86_64-5.2.0.args | 36 -
.../misc-no-reboot.x86_64-5.2.0.xml | 38 -
.../numatune-memnode.x86_64-5.2.0.args | 39 -
.../numatune-memnode.x86_64-5.2.0.xml | 41 -
...0-async-teardown-disabled.s390x-6.0.0.args | 35 -
...90-async-teardown-disabled.s390x-6.0.0.xml | 36 -
.../s390-async-teardown.s390x-6.0.0.err | 1 -
.../virtio-iommu-x86_64.x86_64-6.1.0.err | 1 -
.../virtio-rng-builtin.x86_64-5.2.0.args | 36 -
.../virtio-rng-builtin.x86_64-5.2.0.xml | 35 -
.../virtio-rng-egd-unix.x86_64-5.2.0.args | 37 -
.../virtio-rng-egd-unix.x86_64-5.2.0.xml | 37 -
tests/qemuxmlconftest.c | 47 +-
141 files changed, 37729 insertions(+), 357243 deletions(-)
rename tests/domaincapsdata/{qemu_5.2.0-q35.x86_64.xml => qemu_10.0.0-q35.x86_64+amdsev.xml} (51%)
rename tests/domaincapsdata/{qemu_6.1.0-tcg.x86_64.xml => qemu_10.0.0-tcg.x86_64+amdsev.xml} (67%)
rename tests/domaincapsdata/{qemu_5.2.0.x86_64.xml => qemu_10.0.0.x86_64+amdsev.xml} (51%)
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.ppc64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.s390x.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.s390x.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.1.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.2.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_7.0.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml
rename tests/domaincapsdata/{qemu_7.0.0-hvf.aarch64+hvf.xml => qemu_9.2.0-hvf.aarch64+hvf.xml} (91%)
rename tests/qemucapabilitiesdata/{caps_6.1.0_x86_64.replies => caps_10.0.0_x86_64+amdsev.replies} (68%)
rename tests/qemucapabilitiesdata/{caps_6.1.0_x86_64.xml => caps_10.0.0_x86_64+amdsev.xml} (63%)
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_ppc64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_riscv64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.2.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_8.0.0_riscv64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
rename tests/qemucapabilitiesdata/{caps_7.0.0_aarch64+hvf.replies => caps_9.2.0_aarch64+hvf.replies} (82%)
rename tests/qemucapabilitiesdata/{caps_7.0.0_aarch64+hvf.xml => caps_9.2.0_aarch64+hvf.xml} (58%)
delete mode 100644 tests/qemuxmlconfdata/cpu-fallback.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-fallback.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-nofallback.x86_64-5.2.0.err
delete mode 100644 tests/qemuxmlconfdata/cpu-nofallback.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/disk-network-rbd-encryption.x86_64-6.0.0.err
delete mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-6.0.0.xml
create mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-latest.err
delete mode 100644 tests/qemuxmlconfdata/disk-network-tlsx509-nbd.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-network-tlsx509-nbd.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/disk-virtio-scsi-reservations.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-virtio-scsi-reservations.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/graphics-vnc-tls-secret.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/graphics-vnc-tls-secret.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/hyperv-passthrough.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/hyperv-passthrough.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-pci.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-pci.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/luks-disks-source-qcow2.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/luks-disks-source-qcow2.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-align.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-align.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-label.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-label.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-pmem.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-pmem.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-readonly.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-readonly.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-virtio-pmem.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-virtio-pmem.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/misc-no-reboot.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/misc-no-reboot.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/numatune-memnode.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/numatune-memnode.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown-disabled.s390x-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown-disabled.s390x-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown.s390x-6.0.0.err
delete mode 100644 tests/qemuxmlconfdata/virtio-iommu-x86_64.x86_64-6.1.0.err
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-builtin.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-builtin.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-egd-unix.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-egd-unix.x86_64-5.2.0.xml
--
2.48.1
3
18
Hi,
i just playing around with the "new" backup API for switching from the old way and simply want
to do full backup's in push mode. If i do so,
virsh backup-begin <domain>
the backup-Image files are always created in the image directory
As the place on the fast nvme's, where the images are lying is very limited, i want to place the
backup-image files to be on another harddisk on an mounted dir whithout temporary save them
in the image directory.
To do so, an --targetdir option on backup-begin would be very useful.
best regards
Michael
2
1
[PATCH RESEND 0/6] Add support for configuring PCI high memory MMIO size
by Matthew R. Ochs 08 Mar '25
by Matthew R. Ochs 08 Mar '25
08 Mar '25
Resending this series since it appears my first attempt was not sent to
the list due to the "first post" manual moderation delay. =)
This patch series adds support for configuring the PCI high memory MMIO
window size for aarch64 virt machine types. This feature was recently merged
into the QEMU upstream master branch [1] and will be available in QEMU 10.0.
It allows users to configure the size of the high memory MMIO window above
4GB, which is particularly useful for systems with large amounts of PCI
memory requirements.
The feature is exposed through the domain XML as a new PCI feature:
<features>
<pci>
<highmem-mmio-size unit='G'>512</highmem-mmio-size>
</pci>
</features>
When enabled, this configures the size of the PCI high memory MMIO window
via QEMU's highmem-mmio-size machine property. The feature is only
available for aarch64 virt machine types and requires QEMU support.
This series depends on [2] and should be applied on top of those patches.
For your convenience, this series is also available on Github [3].
[1] https://github.com/qemu/qemu/commit/f10104aeae3a17f181d5bb37b7fd7dad7fe86cba
[2] https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/Z4NQ…
[3] git fetch https://github.com/nvmochs/libvirt.git pci_highmem_mmio_size
Signed-off-by: Matthew R. Ochs <mochs(a)nvidia.com>
Matthew R. Ochs (6):
domain: Add PCI configuration feature infrastructure
schema: Add PCI configuration feature schema
conf: Add PCI configuration XML parsing and formatting
qemu: Add capability for PCI high memory MMIO size
qemu: Add command line support for PCI high memory MMIO size
tests: Add tests for machine PCI features
src/conf/domain_conf.c | 103 ++++++++++++++++++
src/conf/domain_conf.h | 6 +
src/conf/schemas/domaincommon.rng | 9 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 6 +
src/qemu/qemu_validate.c | 15 +++
.../caps_10.0.0_aarch64.replies | 10 ++
.../caps_10.0.0_aarch64.xml | 1 +
...rch64-virt-machine-pci.aarch64-latest.args | 31 ++++++
...arch64-virt-machine-pci.aarch64-latest.xml | 30 +++++
.../aarch64-virt-machine-pci.xml | 20 ++++
tests/qemuxmlconftest.c | 2 +
13 files changed, 236 insertions(+)
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.args
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.xml
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.xml
--
2.46.0
1
6
virNetDevBridgeSetupVlans() calls virNetlinkBridgeVlanFilterSet(),
which requires libnl. Use the function only when libnl is available
to avoid breaking builds.
Signed-off-by: Akihiko Odaki <akihiko.odaki(a)daynix.com>
---
src/util/virnetdevbridge.c | 122 ++++++++++++++++++++++-----------------------
1 file changed, 61 insertions(+), 61 deletions(-)
diff --git a/src/util/virnetdevbridge.c b/src/util/virnetdevbridge.c
index c79d0c79b7b16a0a070b5013ed7df9d0a63b1c38..70e82a0029634ddf44c2b933577bf783c89f035c 100644
--- a/src/util/virnetdevbridge.c
+++ b/src/util/virnetdevbridge.c
@@ -313,66 +313,6 @@ virNetDevBridgePortSetIsolated(const char *brname,
return virNetDevBridgePortSet(brname, ifname, "isolated", enable ? 1 : 0);
}
-static int
-virNetDevBridgeSetupVlans(const char *ifname, const virNetDevVlan *virtVlan)
-{
- int error = 0;
- unsigned short flags;
-
- if (!virtVlan || !virtVlan->nTags)
- return 0;
-
- // The interface will have been automatically added to vlan 1, so remove it
- if (virNetlinkBridgeVlanFilterSet(ifname, RTM_DELLINK, 0, 1, &error) < 0) {
- if (error != 0) {
- virReportSystemError(-error,
- _("error removing vlan filter from interface %1$s"),
- ifname);
- }
- return -1;
- }
-
- // If trunk mode, add the native VLAN then add the others, if any
- if (virtVlan->trunk) {
- size_t i;
-
- if (virtVlan->nativeTag) {
- flags = BRIDGE_VLAN_INFO_PVID;
- if (virtVlan->nativeMode == VIR_NATIVE_VLAN_MODE_UNTAGGED ||
- virtVlan->nativeMode == VIR_NATIVE_VLAN_MODE_DEFAULT) {
- flags |= BRIDGE_VLAN_INFO_UNTAGGED;
- }
-
- if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, flags,
- virtVlan->nativeTag, &error) < 0) {
- goto error;
- }
- }
-
- for (i = 0; i < virtVlan->nTags; i++) {
- if (virtVlan->tag[i] != virtVlan->nativeTag)
- if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, 0,
- virtVlan->tag[i], &error) < 0) {
- goto error;
- }
- }
- } else {
- // In native mode, add the single VLAN as pvid untagged
- flags = BRIDGE_VLAN_INFO_PVID | BRIDGE_VLAN_INFO_UNTAGGED;
- if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, flags,
- virtVlan->tag[0], &error) < 0) {
- goto error;
- }
- }
-
- return 0;
-
- error:
- if (error != 0)
- virReportSystemError(-error, _("error adding vlan filter to interface %1$s"), ifname);
- return -1;
-}
-
#else
int
@@ -651,7 +591,67 @@ int virNetDevBridgeDelete(const char *brname G_GNUC_UNUSED)
*
* Returns 0 in case of success or an errno code in case of failure.
*/
-#if defined(WITH_STRUCT_IFREQ) && defined(SIOCBRADDIF)
+#if defined(WITH_STRUCT_IFREQ) && defined(SIOCBRADDIF) && defined(WITH_LIBNL)
+static int
+virNetDevBridgeSetupVlans(const char *ifname, const virNetDevVlan *virtVlan)
+{
+ int error = 0;
+ unsigned short flags;
+
+ if (!virtVlan || !virtVlan->nTags)
+ return 0;
+
+ // The interface will have been automatically added to vlan 1, so remove it
+ if (virNetlinkBridgeVlanFilterSet(ifname, RTM_DELLINK, 0, 1, &error) < 0) {
+ if (error != 0) {
+ virReportSystemError(-error,
+ _("error removing vlan filter from interface %1$s"),
+ ifname);
+ }
+ return -1;
+ }
+
+ // If trunk mode, add the native VLAN then add the others, if any
+ if (virtVlan->trunk) {
+ size_t i;
+
+ if (virtVlan->nativeTag) {
+ flags = BRIDGE_VLAN_INFO_PVID;
+ if (virtVlan->nativeMode == VIR_NATIVE_VLAN_MODE_UNTAGGED ||
+ virtVlan->nativeMode == VIR_NATIVE_VLAN_MODE_DEFAULT) {
+ flags |= BRIDGE_VLAN_INFO_UNTAGGED;
+ }
+
+ if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, flags,
+ virtVlan->nativeTag, &error) < 0) {
+ goto error;
+ }
+ }
+
+ for (i = 0; i < virtVlan->nTags; i++) {
+ if (virtVlan->tag[i] != virtVlan->nativeTag)
+ if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, 0,
+ virtVlan->tag[i], &error) < 0) {
+ goto error;
+ }
+ }
+ } else {
+ // In native mode, add the single VLAN as pvid untagged
+ flags = BRIDGE_VLAN_INFO_PVID | BRIDGE_VLAN_INFO_UNTAGGED;
+ if (virNetlinkBridgeVlanFilterSet(ifname, RTM_SETLINK, flags,
+ virtVlan->tag[0], &error) < 0) {
+ goto error;
+ }
+ }
+
+ return 0;
+
+ error:
+ if (error != 0)
+ virReportSystemError(-error, _("error adding vlan filter to interface %1$s"), ifname);
+ return -1;
+}
+
int virNetDevBridgeAddPort(const char *brname,
const char *ifname,
const virNetDevVlan *virtVlan)
---
base-commit: e5299ddf86121d3c792ca271ffcb54900eb19dc3
change-id: 20250304-nl-605e05b8c5f2
Best regards,
--
Akihiko Odaki <akihiko.odaki(a)daynix.com>
2
3
= Overview =
This patch set introduces support for acpi-generic-initiator devices,
supported by QEMU [1].
The acpi-generic-initiator object is required to support Multi-Instance GPU
(MIG) configurations on NVIDIA GPUs [2]. MIG enables partitioning of GPU
resources into multiple isolated instances, each requiring a dedicated NUMA
node definition.
= Implementation =
This patch set implements the libvirt counterpart to the QEMU feature,
enabling users to configure acpi-generic-initiator objects within libvirt
domain XML.
This includes:
- adding XML syntax to define acpi-generic-initiator objects,
- adding a new qemu capability flag,
- resolving the acpi-generic-initiator definitions into the proper QEMU
command-line arguments,
- ensuring compatibility with existing NUMA configuration.
= Example =
- Domain XML:
```
...
<cpu mode='host-passthrough' check='none'>
<numa>
<cell id='0' cpus='0-15' memory='8388608' unit='KiB'/>
<cell id='1' memory='0' unit='KiB'/>
<cell id='2' memory='0' unit='KiB'/>
<cell id='3' memory='0' unit='KiB'/>
<cell id='4' memory='0' unit='KiB'/>
<cell id='5' memory='0' unit='KiB'/>
<cell id='6' memory='0' unit='KiB'/>
<cell id='7' memory='0' unit='KiB'/>
<cell id='8' memory='0' unit='KiB'/>
</numa>
</cpu>
...
<devices>
...
<acpi-generic-initiator>
<alias name="gi1" />
<pci-dev>hostdev0</pci-dev>
<numa-node>1</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi2" />
<pci-dev>hostdev0</pci-dev>
<numa-node>2</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi3" />
<pci-dev>hostdev0</pci-dev>
<numa-node>3</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi4" />
<pci-dev>hostdev0</pci-dev>
<numa-node>4</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi5" />
<pci-dev>hostdev0</pci-dev>
<numa-node>5</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi6" />
<pci-dev>hostdev0</pci-dev>
<numa-node>6</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi7" />
<pci-dev>hostdev0</pci-dev>
<numa-node>7</numa-node>
</acpi-generic-initiator>
<acpi-generic-initiator>
<alias name="gi8" />
<pci-dev>hostdev0</pci-dev>
<numa-node>8</numa-node>
</acpi-generic-initiator>
</devices>
```
- Generated QEMU command line options:
```
... /usr/bin/qemu-system-aarch64 \
...
-object '{"qom-type":"memory-backend-ram","id":"ram-node0","size":8589934592}' \
-numa node,nodeid=0,cpus=0-15,memdev=ram-node0 \
-numa node,nodeid=1 \
-numa node,nodeid=2 \
-numa node,nodeid=3 \
-numa node,nodeid=4 \
-numa node,nodeid=5 \
-numa node,nodeid=6 \
-numa node,nodeid=7 \
-numa node,nodeid=8 \
...
-object '{"qom-type":"acpi-generic-initiator","id":"gi1","pci-dev":"hostdev0","node":1}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi2","pci-dev":"hostdev0","node":2}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi3","pci-dev":"hostdev0","node":3}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi4","pci-dev":"hostdev0","node":4}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi5","pci-dev":"hostdev0","node":5}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi6","pci-dev":"hostdev0","node":6}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi7","pci-dev":"hostdev0","node":7}' \
-object '{"qom-type":"acpi-generic-initiator","id":"gi8","pci-dev":"hostdev0","node":8}'
```
= References =
[1] https://lore.kernel.org/all/20231225045603.7654-2-ankita@nvidia.com/
[2] https://www.nvidia.com/en-in/technologies/multi-instance-gpu/
ChangeLog v1 -> v2:
- split parser and driver changes in separate patches
- introduce a new qemu capability flag
- introduce test in qemuxmlconftest
Andrea Righi (6):
schema: Introduce acpi-generic-initiator definition
conf: Introduce acpi-generic-initiator device
qemu: Allow to define NUMA nodes without memory or CPUs assigned
qemu: capabilies: Introduce QEMU_CAPS_ACPI_GENERIC_INITIATOR
qemu: support acpi-generic-initiator
qemu: Add test case for acpi-generic-initiator
src/ch/ch_domain.c | 1 +
src/conf/domain_conf.c | 153 +++++++++++++++++++++
src/conf/domain_conf.h | 14 ++
src/conf/domain_postparse.c | 1 +
src/conf/domain_validate.c | 40 ++++++
src/conf/numa_conf.c | 3 +
src/conf/schemas/domaincommon.rng | 19 +++
src/conf/virconftypes.h | 2 +
src/libxl/libxl_driver.c | 6 +
src/lxc/lxc_driver.c | 6 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 48 +++++--
src/qemu/qemu_domain.c | 2 +
src/qemu/qemu_domain_address.c | 4 +
src/qemu/qemu_driver.c | 3 +
src/qemu/qemu_hotplug.c | 5 +
src/qemu/qemu_postparse.c | 1 +
src/qemu/qemu_validate.c | 1 +
src/test/test_driver.c | 4 +
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml | 1 +
.../acpi-generic-initiator.x86_64-latest.args | 55 ++++++++
.../acpi-generic-initiator.x86_64-latest.xml | 102 ++++++++++++++
tests/qemuxmlconfdata/acpi-generic-initiator.xml | 102 ++++++++++++++
tests/qemuxmlconftest.c | 1 +
29 files changed, 573 insertions(+), 8 deletions(-)
create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/acpi-generic-initiator.xml
2
10
- Remove EOL Debian 11
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
This depends on this MR [1] to update libvirt-ci as well.
[1] <https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/527>
ci/buildenv/debian-11-cross-aarch64.sh | 117 ----------------
ci/buildenv/debian-11-cross-armv6l.sh | 116 ----------------
ci/buildenv/debian-11-cross-armv7l.sh | 117 ----------------
ci/buildenv/debian-11-cross-i686.sh | 116 ----------------
ci/buildenv/debian-11-cross-mips64el.sh | 116 ----------------
ci/buildenv/debian-11-cross-mipsel.sh | 116 ----------------
ci/buildenv/debian-11-cross-ppc64le.sh | 116 ----------------
ci/buildenv/debian-11-cross-s390x.sh | 116 ----------------
ci/buildenv/debian-11.sh | 100 --------------
.../debian-11-cross-aarch64.Dockerfile | 123 -----------------
.../debian-11-cross-armv6l.Dockerfile | 122 -----------------
.../debian-11-cross-armv7l.Dockerfile | 123 -----------------
ci/containers/debian-11-cross-i686.Dockerfile | 122 -----------------
.../debian-11-cross-mips64el.Dockerfile | 122 -----------------
.../debian-11-cross-mipsel.Dockerfile | 122 -----------------
.../debian-11-cross-ppc64le.Dockerfile | 122 -----------------
.../debian-11-cross-s390x.Dockerfile | 122 -----------------
ci/containers/debian-11.Dockerfile | 103 --------------
ci/gitlab/builds.yml | 128 ------------------
ci/gitlab/containers.yml | 72 ----------
ci/manifest.yml | 40 ------
21 files changed, 2351 deletions(-)
delete mode 100644 ci/buildenv/debian-11-cross-aarch64.sh
delete mode 100644 ci/buildenv/debian-11-cross-armv6l.sh
delete mode 100644 ci/buildenv/debian-11-cross-armv7l.sh
delete mode 100644 ci/buildenv/debian-11-cross-i686.sh
delete mode 100644 ci/buildenv/debian-11-cross-mips64el.sh
delete mode 100644 ci/buildenv/debian-11-cross-mipsel.sh
delete mode 100644 ci/buildenv/debian-11-cross-ppc64le.sh
delete mode 100644 ci/buildenv/debian-11-cross-s390x.sh
delete mode 100644 ci/buildenv/debian-11.sh
delete mode 100644 ci/containers/debian-11-cross-aarch64.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-armv6l.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-armv7l.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-i686.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-mips64el.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-mipsel.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-ppc64le.Dockerfile
delete mode 100644 ci/containers/debian-11-cross-s390x.Dockerfile
delete mode 100644 ci/containers/debian-11.Dockerfile
diff --git a/ci/buildenv/debian-11-cross-aarch64.sh b/ci/buildenv/debian-11-cross-aarch64.sh
deleted file mode 100644
index a52164a851..0000000000
--- a/ci/buildenv/debian-11-cross-aarch64.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture arm64
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-aarch64-linux-gnu \
- libacl1-dev:arm64 \
- libapparmor-dev:arm64 \
- libattr1-dev:arm64 \
- libaudit-dev:arm64 \
- libblkid-dev:arm64 \
- libc6-dev:arm64 \
- libcap-ng-dev:arm64 \
- libcurl4-gnutls-dev:arm64 \
- libdevmapper-dev:arm64 \
- libfuse-dev:arm64 \
- libglib2.0-dev:arm64 \
- libglusterfs-dev:arm64 \
- libgnutls28-dev:arm64 \
- libiscsi-dev:arm64 \
- libjson-c-dev:arm64 \
- libnl-3-dev:arm64 \
- libnl-route-3-dev:arm64 \
- libnuma-dev:arm64 \
- libparted-dev:arm64 \
- libpcap0.8-dev:arm64 \
- libpciaccess-dev:arm64 \
- librbd-dev:arm64 \
- libreadline-dev:arm64 \
- libsanlock-dev:arm64 \
- libsasl2-dev:arm64 \
- libselinux1-dev:arm64 \
- libssh-dev:arm64 \
- libssh2-1-dev:arm64 \
- libtirpc-dev:arm64 \
- libudev-dev:arm64 \
- libxen-dev:arm64 \
- libxml2-dev:arm64 \
- systemtap-sdt-dev:arm64
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
-ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'aarch64'\n\
-cpu = 'aarch64'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="aarch64-linux-gnu"
-export MESON_OPTS="--cross-file=aarch64-linux-gnu"
diff --git a/ci/buildenv/debian-11-cross-armv6l.sh b/ci/buildenv/debian-11-cross-armv6l.sh
deleted file mode 100644
index caef8e80a4..0000000000
--- a/ci/buildenv/debian-11-cross-armv6l.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture armel
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabi \
- libacl1-dev:armel \
- libapparmor-dev:armel \
- libattr1-dev:armel \
- libaudit-dev:armel \
- libblkid-dev:armel \
- libc6-dev:armel \
- libcap-ng-dev:armel \
- libcurl4-gnutls-dev:armel \
- libdevmapper-dev:armel \
- libfuse-dev:armel \
- libglib2.0-dev:armel \
- libglusterfs-dev:armel \
- libgnutls28-dev:armel \
- libiscsi-dev:armel \
- libjson-c-dev:armel \
- libnl-3-dev:armel \
- libnl-route-3-dev:armel \
- libnuma-dev:armel \
- libparted-dev:armel \
- libpcap0.8-dev:armel \
- libpciaccess-dev:armel \
- librbd-dev:armel \
- libreadline-dev:armel \
- libsanlock-dev:armel \
- libsasl2-dev:armel \
- libselinux1-dev:armel \
- libssh-dev:armel \
- libssh2-1-dev:armel \
- libtirpc-dev:armel \
- libudev-dev:armel \
- libxml2-dev:armel \
- systemtap-sdt-dev:armel
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'arm'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="arm-linux-gnueabi"
-export MESON_OPTS="--cross-file=arm-linux-gnueabi"
diff --git a/ci/buildenv/debian-11-cross-armv7l.sh b/ci/buildenv/debian-11-cross-armv7l.sh
deleted file mode 100644
index 81d92e6386..0000000000
--- a/ci/buildenv/debian-11-cross-armv7l.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture armhf
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabihf \
- libacl1-dev:armhf \
- libapparmor-dev:armhf \
- libattr1-dev:armhf \
- libaudit-dev:armhf \
- libblkid-dev:armhf \
- libc6-dev:armhf \
- libcap-ng-dev:armhf \
- libcurl4-gnutls-dev:armhf \
- libdevmapper-dev:armhf \
- libfuse-dev:armhf \
- libglib2.0-dev:armhf \
- libglusterfs-dev:armhf \
- libgnutls28-dev:armhf \
- libiscsi-dev:armhf \
- libjson-c-dev:armhf \
- libnl-3-dev:armhf \
- libnl-route-3-dev:armhf \
- libnuma-dev:armhf \
- libparted-dev:armhf \
- libpcap0.8-dev:armhf \
- libpciaccess-dev:armhf \
- librbd-dev:armhf \
- libreadline-dev:armhf \
- libsanlock-dev:armhf \
- libsasl2-dev:armhf \
- libselinux1-dev:armhf \
- libssh-dev:armhf \
- libssh2-1-dev:armhf \
- libtirpc-dev:armhf \
- libudev-dev:armhf \
- libxen-dev:armhf \
- libxml2-dev:armhf \
- systemtap-sdt-dev:armhf
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'armhf'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="arm-linux-gnueabihf"
-export MESON_OPTS="--cross-file=arm-linux-gnueabihf"
diff --git a/ci/buildenv/debian-11-cross-i686.sh b/ci/buildenv/debian-11-cross-i686.sh
deleted file mode 100644
index 7ab7242654..0000000000
--- a/ci/buildenv/debian-11-cross-i686.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture i386
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-i686-linux-gnu \
- libacl1-dev:i386 \
- libapparmor-dev:i386 \
- libattr1-dev:i386 \
- libaudit-dev:i386 \
- libblkid-dev:i386 \
- libc6-dev:i386 \
- libcap-ng-dev:i386 \
- libcurl4-gnutls-dev:i386 \
- libdevmapper-dev:i386 \
- libfuse-dev:i386 \
- libglib2.0-dev:i386 \
- libglusterfs-dev:i386 \
- libgnutls28-dev:i386 \
- libiscsi-dev:i386 \
- libjson-c-dev:i386 \
- libnl-3-dev:i386 \
- libnl-route-3-dev:i386 \
- libnuma-dev:i386 \
- libparted-dev:i386 \
- libpcap0.8-dev:i386 \
- libpciaccess-dev:i386 \
- librbd-dev:i386 \
- libreadline-dev:i386 \
- libsanlock-dev:i386 \
- libsasl2-dev:i386 \
- libselinux1-dev:i386 \
- libssh-dev:i386 \
- libssh2-1-dev:i386 \
- libtirpc-dev:i386 \
- libudev-dev:i386 \
- libxml2-dev:i386 \
- systemtap-sdt-dev:i386
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/i686-linux-gnu-gcc'\n\
-ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/i686-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'x86'\n\
-cpu = 'i686'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="i686-linux-gnu"
-export MESON_OPTS="--cross-file=i686-linux-gnu"
diff --git a/ci/buildenv/debian-11-cross-mips64el.sh b/ci/buildenv/debian-11-cross-mips64el.sh
deleted file mode 100644
index f983ab2981..0000000000
--- a/ci/buildenv/debian-11-cross-mips64el.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture mips64el
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-mips64el-linux-gnuabi64 \
- libacl1-dev:mips64el \
- libapparmor-dev:mips64el \
- libattr1-dev:mips64el \
- libaudit-dev:mips64el \
- libblkid-dev:mips64el \
- libc6-dev:mips64el \
- libcap-ng-dev:mips64el \
- libcurl4-gnutls-dev:mips64el \
- libdevmapper-dev:mips64el \
- libfuse-dev:mips64el \
- libglib2.0-dev:mips64el \
- libglusterfs-dev:mips64el \
- libgnutls28-dev:mips64el \
- libiscsi-dev:mips64el \
- libjson-c-dev:mips64el \
- libnl-3-dev:mips64el \
- libnl-route-3-dev:mips64el \
- libnuma-dev:mips64el \
- libparted-dev:mips64el \
- libpcap0.8-dev:mips64el \
- libpciaccess-dev:mips64el \
- librbd-dev:mips64el \
- libreadline-dev:mips64el \
- libsanlock-dev:mips64el \
- libsasl2-dev:mips64el \
- libselinux1-dev:mips64el \
- libssh-dev:mips64el \
- libssh2-1-dev:mips64el \
- libtirpc-dev:mips64el \
- libudev-dev:mips64el \
- libxml2-dev:mips64el \
- systemtap-sdt-dev:mips64el
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
-ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
-strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
-pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips64'\n\
-cpu = 'mips64el'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="mips64el-linux-gnuabi64"
-export MESON_OPTS="--cross-file=mips64el-linux-gnuabi64"
diff --git a/ci/buildenv/debian-11-cross-mipsel.sh b/ci/buildenv/debian-11-cross-mipsel.sh
deleted file mode 100644
index 55a99b861f..0000000000
--- a/ci/buildenv/debian-11-cross-mipsel.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture mipsel
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-mipsel-linux-gnu \
- libacl1-dev:mipsel \
- libapparmor-dev:mipsel \
- libattr1-dev:mipsel \
- libaudit-dev:mipsel \
- libblkid-dev:mipsel \
- libc6-dev:mipsel \
- libcap-ng-dev:mipsel \
- libcurl4-gnutls-dev:mipsel \
- libdevmapper-dev:mipsel \
- libfuse-dev:mipsel \
- libglib2.0-dev:mipsel \
- libglusterfs-dev:mipsel \
- libgnutls28-dev:mipsel \
- libiscsi-dev:mipsel \
- libjson-c-dev:mipsel \
- libnl-3-dev:mipsel \
- libnl-route-3-dev:mipsel \
- libnuma-dev:mipsel \
- libparted-dev:mipsel \
- libpcap0.8-dev:mipsel \
- libpciaccess-dev:mipsel \
- librbd-dev:mipsel \
- libreadline-dev:mipsel \
- libsanlock-dev:mipsel \
- libsasl2-dev:mipsel \
- libselinux1-dev:mipsel \
- libssh-dev:mipsel \
- libssh2-1-dev:mipsel \
- libtirpc-dev:mipsel \
- libudev-dev:mipsel \
- libxml2-dev:mipsel \
- systemtap-sdt-dev:mipsel
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
-ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips'\n\
-cpu = 'mipsel'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="mipsel-linux-gnu"
-export MESON_OPTS="--cross-file=mipsel-linux-gnu"
diff --git a/ci/buildenv/debian-11-cross-ppc64le.sh b/ci/buildenv/debian-11-cross-ppc64le.sh
deleted file mode 100644
index b7d26e67fd..0000000000
--- a/ci/buildenv/debian-11-cross-ppc64le.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture ppc64el
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-powerpc64le-linux-gnu \
- libacl1-dev:ppc64el \
- libapparmor-dev:ppc64el \
- libattr1-dev:ppc64el \
- libaudit-dev:ppc64el \
- libblkid-dev:ppc64el \
- libc6-dev:ppc64el \
- libcap-ng-dev:ppc64el \
- libcurl4-gnutls-dev:ppc64el \
- libdevmapper-dev:ppc64el \
- libfuse-dev:ppc64el \
- libglib2.0-dev:ppc64el \
- libglusterfs-dev:ppc64el \
- libgnutls28-dev:ppc64el \
- libiscsi-dev:ppc64el \
- libjson-c-dev:ppc64el \
- libnl-3-dev:ppc64el \
- libnl-route-3-dev:ppc64el \
- libnuma-dev:ppc64el \
- libparted-dev:ppc64el \
- libpcap0.8-dev:ppc64el \
- libpciaccess-dev:ppc64el \
- librbd-dev:ppc64el \
- libreadline-dev:ppc64el \
- libsanlock-dev:ppc64el \
- libsasl2-dev:ppc64el \
- libselinux1-dev:ppc64el \
- libssh-dev:ppc64el \
- libssh2-1-dev:ppc64el \
- libtirpc-dev:ppc64el \
- libudev-dev:ppc64el \
- libxml2-dev:ppc64el \
- systemtap-sdt-dev:ppc64el
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
-ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'ppc64'\n\
-cpu = 'powerpc64le'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="powerpc64le-linux-gnu"
-export MESON_OPTS="--cross-file=powerpc64le-linux-gnu"
diff --git a/ci/buildenv/debian-11-cross-s390x.sh b/ci/buildenv/debian-11-cross-s390x.sh
deleted file mode 100644
index ac259c5625..0000000000
--- a/ci/buildenv/debian-11-cross-s390x.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- export DEBIAN_FRONTEND=noninteractive
- dpkg --add-architecture s390x
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y dpkg-dev
- apt-get install --no-install-recommends -y \
- gcc-s390x-linux-gnu \
- libacl1-dev:s390x \
- libapparmor-dev:s390x \
- libattr1-dev:s390x \
- libaudit-dev:s390x \
- libblkid-dev:s390x \
- libc6-dev:s390x \
- libcap-ng-dev:s390x \
- libcurl4-gnutls-dev:s390x \
- libdevmapper-dev:s390x \
- libfuse-dev:s390x \
- libglib2.0-dev:s390x \
- libglusterfs-dev:s390x \
- libgnutls28-dev:s390x \
- libiscsi-dev:s390x \
- libjson-c-dev:s390x \
- libnl-3-dev:s390x \
- libnl-route-3-dev:s390x \
- libnuma-dev:s390x \
- libparted-dev:s390x \
- libpcap0.8-dev:s390x \
- libpciaccess-dev:s390x \
- librbd-dev:s390x \
- libreadline-dev:s390x \
- libsanlock-dev:s390x \
- libsasl2-dev:s390x \
- libselinux1-dev:s390x \
- libssh-dev:s390x \
- libssh2-1-dev:s390x \
- libtirpc-dev:s390x \
- libudev-dev:s390x \
- libxml2-dev:s390x \
- systemtap-sdt-dev:s390x
- mkdir -p /usr/local/share/meson/cross
- printf "[binaries]\n\
-c = '/usr/bin/s390x-linux-gnu-gcc'\n\
-ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/s390x-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 's390x'\n\
-cpu = 's390x'\n\
-endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
-
-export ABI="s390x-linux-gnu"
-export MESON_OPTS="--cross-file=s390x-linux-gnu"
diff --git a/ci/buildenv/debian-11.sh b/ci/buildenv/debian-11.sh
deleted file mode 100644
index affdf6e445..0000000000
--- a/ci/buildenv/debian-11.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-function install_buildenv() {
- export DEBIAN_FRONTEND=noninteractive
- apt-get update
- apt-get dist-upgrade -y
- apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- clang \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gcc \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libacl1-dev \
- libapparmor-dev \
- libattr1-dev \
- libaudit-dev \
- libblkid-dev \
- libc6-dev \
- libcap-ng-dev \
- libclang-dev \
- libcurl4-gnutls-dev \
- libdevmapper-dev \
- libfuse-dev \
- libglib2.0-dev \
- libglusterfs-dev \
- libgnutls28-dev \
- libiscsi-dev \
- libjson-c-dev \
- libnetcf-dev \
- libnl-3-dev \
- libnl-route-3-dev \
- libnuma-dev \
- libparted-dev \
- libpcap0.8-dev \
- libpciaccess-dev \
- librbd-dev \
- libreadline-dev \
- libsanlock-dev \
- libsasl2-dev \
- libselinux1-dev \
- libssh-dev \
- libssh2-1-dev \
- libtirpc-dev \
- libudev-dev \
- libxen-dev \
- libxml2-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- systemtap-sdt-dev \
- wireshark-dev \
- xsltproc
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
- dpkg-reconfigure locales
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
- mkdir -p /usr/libexec/ccache-wrappers
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-}
-
-export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
-export LANG="en_US.UTF-8"
-export MAKE="/usr/bin/make"
-export NINJA="/usr/bin/ninja"
-export PYTHON="/usr/bin/python3"
diff --git a/ci/containers/debian-11-cross-aarch64.Dockerfile b/ci/containers/debian-11-cross-aarch64.Dockerfile
deleted file mode 100644
index 79c359f9fa..0000000000
--- a/ci/containers/debian-11-cross-aarch64.Dockerfile
+++ /dev/null
@@ -1,123 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture arm64 && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-aarch64-linux-gnu \
- libacl1-dev:arm64 \
- libapparmor-dev:arm64 \
- libattr1-dev:arm64 \
- libaudit-dev:arm64 \
- libblkid-dev:arm64 \
- libc6-dev:arm64 \
- libcap-ng-dev:arm64 \
- libcurl4-gnutls-dev:arm64 \
- libdevmapper-dev:arm64 \
- libfuse-dev:arm64 \
- libglib2.0-dev:arm64 \
- libglusterfs-dev:arm64 \
- libgnutls28-dev:arm64 \
- libiscsi-dev:arm64 \
- libjson-c-dev:arm64 \
- libnl-3-dev:arm64 \
- libnl-route-3-dev:arm64 \
- libnuma-dev:arm64 \
- libparted-dev:arm64 \
- libpcap0.8-dev:arm64 \
- libpciaccess-dev:arm64 \
- librbd-dev:arm64 \
- libreadline-dev:arm64 \
- libsanlock-dev:arm64 \
- libsasl2-dev:arm64 \
- libselinux1-dev:arm64 \
- libssh-dev:arm64 \
- libssh2-1-dev:arm64 \
- libtirpc-dev:arm64 \
- libudev-dev:arm64 \
- libxen-dev:arm64 \
- libxml2-dev:arm64 \
- systemtap-sdt-dev:arm64 && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
-ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'aarch64'\n\
-cpu = 'aarch64'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
-
-ENV ABI "aarch64-linux-gnu"
-ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
diff --git a/ci/containers/debian-11-cross-armv6l.Dockerfile b/ci/containers/debian-11-cross-armv6l.Dockerfile
deleted file mode 100644
index 27bd6c578b..0000000000
--- a/ci/containers/debian-11-cross-armv6l.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture armel && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabi \
- libacl1-dev:armel \
- libapparmor-dev:armel \
- libattr1-dev:armel \
- libaudit-dev:armel \
- libblkid-dev:armel \
- libc6-dev:armel \
- libcap-ng-dev:armel \
- libcurl4-gnutls-dev:armel \
- libdevmapper-dev:armel \
- libfuse-dev:armel \
- libglib2.0-dev:armel \
- libglusterfs-dev:armel \
- libgnutls28-dev:armel \
- libiscsi-dev:armel \
- libjson-c-dev:armel \
- libnl-3-dev:armel \
- libnl-route-3-dev:armel \
- libnuma-dev:armel \
- libparted-dev:armel \
- libpcap0.8-dev:armel \
- libpciaccess-dev:armel \
- librbd-dev:armel \
- libreadline-dev:armel \
- libsanlock-dev:armel \
- libsasl2-dev:armel \
- libselinux1-dev:armel \
- libssh-dev:armel \
- libssh2-1-dev:armel \
- libtirpc-dev:armel \
- libudev-dev:armel \
- libxml2-dev:armel \
- systemtap-sdt-dev:armel && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'arm'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
-
-ENV ABI "arm-linux-gnueabi"
-ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
diff --git a/ci/containers/debian-11-cross-armv7l.Dockerfile b/ci/containers/debian-11-cross-armv7l.Dockerfile
deleted file mode 100644
index 3b413673a6..0000000000
--- a/ci/containers/debian-11-cross-armv7l.Dockerfile
+++ /dev/null
@@ -1,123 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture armhf && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabihf \
- libacl1-dev:armhf \
- libapparmor-dev:armhf \
- libattr1-dev:armhf \
- libaudit-dev:armhf \
- libblkid-dev:armhf \
- libc6-dev:armhf \
- libcap-ng-dev:armhf \
- libcurl4-gnutls-dev:armhf \
- libdevmapper-dev:armhf \
- libfuse-dev:armhf \
- libglib2.0-dev:armhf \
- libglusterfs-dev:armhf \
- libgnutls28-dev:armhf \
- libiscsi-dev:armhf \
- libjson-c-dev:armhf \
- libnl-3-dev:armhf \
- libnl-route-3-dev:armhf \
- libnuma-dev:armhf \
- libparted-dev:armhf \
- libpcap0.8-dev:armhf \
- libpciaccess-dev:armhf \
- librbd-dev:armhf \
- libreadline-dev:armhf \
- libsanlock-dev:armhf \
- libsasl2-dev:armhf \
- libselinux1-dev:armhf \
- libssh-dev:armhf \
- libssh2-1-dev:armhf \
- libtirpc-dev:armhf \
- libudev-dev:armhf \
- libxen-dev:armhf \
- libxml2-dev:armhf \
- systemtap-sdt-dev:armhf && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'armhf'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
-
-ENV ABI "arm-linux-gnueabihf"
-ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
diff --git a/ci/containers/debian-11-cross-i686.Dockerfile b/ci/containers/debian-11-cross-i686.Dockerfile
deleted file mode 100644
index ab5173f2f1..0000000000
--- a/ci/containers/debian-11-cross-i686.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture i386 && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-i686-linux-gnu \
- libacl1-dev:i386 \
- libapparmor-dev:i386 \
- libattr1-dev:i386 \
- libaudit-dev:i386 \
- libblkid-dev:i386 \
- libc6-dev:i386 \
- libcap-ng-dev:i386 \
- libcurl4-gnutls-dev:i386 \
- libdevmapper-dev:i386 \
- libfuse-dev:i386 \
- libglib2.0-dev:i386 \
- libglusterfs-dev:i386 \
- libgnutls28-dev:i386 \
- libiscsi-dev:i386 \
- libjson-c-dev:i386 \
- libnl-3-dev:i386 \
- libnl-route-3-dev:i386 \
- libnuma-dev:i386 \
- libparted-dev:i386 \
- libpcap0.8-dev:i386 \
- libpciaccess-dev:i386 \
- librbd-dev:i386 \
- libreadline-dev:i386 \
- libsanlock-dev:i386 \
- libsasl2-dev:i386 \
- libselinux1-dev:i386 \
- libssh-dev:i386 \
- libssh2-1-dev:i386 \
- libtirpc-dev:i386 \
- libudev-dev:i386 \
- libxml2-dev:i386 \
- systemtap-sdt-dev:i386 && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/i686-linux-gnu-gcc'\n\
-ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/i686-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'x86'\n\
-cpu = 'i686'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
-
-ENV ABI "i686-linux-gnu"
-ENV MESON_OPTS "--cross-file=i686-linux-gnu"
diff --git a/ci/containers/debian-11-cross-mips64el.Dockerfile b/ci/containers/debian-11-cross-mips64el.Dockerfile
deleted file mode 100644
index 04fa68f688..0000000000
--- a/ci/containers/debian-11-cross-mips64el.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture mips64el && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-mips64el-linux-gnuabi64 \
- libacl1-dev:mips64el \
- libapparmor-dev:mips64el \
- libattr1-dev:mips64el \
- libaudit-dev:mips64el \
- libblkid-dev:mips64el \
- libc6-dev:mips64el \
- libcap-ng-dev:mips64el \
- libcurl4-gnutls-dev:mips64el \
- libdevmapper-dev:mips64el \
- libfuse-dev:mips64el \
- libglib2.0-dev:mips64el \
- libglusterfs-dev:mips64el \
- libgnutls28-dev:mips64el \
- libiscsi-dev:mips64el \
- libjson-c-dev:mips64el \
- libnl-3-dev:mips64el \
- libnl-route-3-dev:mips64el \
- libnuma-dev:mips64el \
- libparted-dev:mips64el \
- libpcap0.8-dev:mips64el \
- libpciaccess-dev:mips64el \
- librbd-dev:mips64el \
- libreadline-dev:mips64el \
- libsanlock-dev:mips64el \
- libsasl2-dev:mips64el \
- libselinux1-dev:mips64el \
- libssh-dev:mips64el \
- libssh2-1-dev:mips64el \
- libtirpc-dev:mips64el \
- libudev-dev:mips64el \
- libxml2-dev:mips64el \
- systemtap-sdt-dev:mips64el && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
-ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
-strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
-pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips64'\n\
-cpu = 'mips64el'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
-
-ENV ABI "mips64el-linux-gnuabi64"
-ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
diff --git a/ci/containers/debian-11-cross-mipsel.Dockerfile b/ci/containers/debian-11-cross-mipsel.Dockerfile
deleted file mode 100644
index 558382ad25..0000000000
--- a/ci/containers/debian-11-cross-mipsel.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture mipsel && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-mipsel-linux-gnu \
- libacl1-dev:mipsel \
- libapparmor-dev:mipsel \
- libattr1-dev:mipsel \
- libaudit-dev:mipsel \
- libblkid-dev:mipsel \
- libc6-dev:mipsel \
- libcap-ng-dev:mipsel \
- libcurl4-gnutls-dev:mipsel \
- libdevmapper-dev:mipsel \
- libfuse-dev:mipsel \
- libglib2.0-dev:mipsel \
- libglusterfs-dev:mipsel \
- libgnutls28-dev:mipsel \
- libiscsi-dev:mipsel \
- libjson-c-dev:mipsel \
- libnl-3-dev:mipsel \
- libnl-route-3-dev:mipsel \
- libnuma-dev:mipsel \
- libparted-dev:mipsel \
- libpcap0.8-dev:mipsel \
- libpciaccess-dev:mipsel \
- librbd-dev:mipsel \
- libreadline-dev:mipsel \
- libsanlock-dev:mipsel \
- libsasl2-dev:mipsel \
- libselinux1-dev:mipsel \
- libssh-dev:mipsel \
- libssh2-1-dev:mipsel \
- libtirpc-dev:mipsel \
- libudev-dev:mipsel \
- libxml2-dev:mipsel \
- systemtap-sdt-dev:mipsel && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
-ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips'\n\
-cpu = 'mipsel'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
-
-ENV ABI "mipsel-linux-gnu"
-ENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
diff --git a/ci/containers/debian-11-cross-ppc64le.Dockerfile b/ci/containers/debian-11-cross-ppc64le.Dockerfile
deleted file mode 100644
index ed68e8f0af..0000000000
--- a/ci/containers/debian-11-cross-ppc64le.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture ppc64el && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-powerpc64le-linux-gnu \
- libacl1-dev:ppc64el \
- libapparmor-dev:ppc64el \
- libattr1-dev:ppc64el \
- libaudit-dev:ppc64el \
- libblkid-dev:ppc64el \
- libc6-dev:ppc64el \
- libcap-ng-dev:ppc64el \
- libcurl4-gnutls-dev:ppc64el \
- libdevmapper-dev:ppc64el \
- libfuse-dev:ppc64el \
- libglib2.0-dev:ppc64el \
- libglusterfs-dev:ppc64el \
- libgnutls28-dev:ppc64el \
- libiscsi-dev:ppc64el \
- libjson-c-dev:ppc64el \
- libnl-3-dev:ppc64el \
- libnl-route-3-dev:ppc64el \
- libnuma-dev:ppc64el \
- libparted-dev:ppc64el \
- libpcap0.8-dev:ppc64el \
- libpciaccess-dev:ppc64el \
- librbd-dev:ppc64el \
- libreadline-dev:ppc64el \
- libsanlock-dev:ppc64el \
- libsasl2-dev:ppc64el \
- libselinux1-dev:ppc64el \
- libssh-dev:ppc64el \
- libssh2-1-dev:ppc64el \
- libtirpc-dev:ppc64el \
- libudev-dev:ppc64el \
- libxml2-dev:ppc64el \
- systemtap-sdt-dev:ppc64el && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
-ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'ppc64'\n\
-cpu = 'powerpc64le'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
-
-ENV ABI "powerpc64le-linux-gnu"
-ENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
diff --git a/ci/containers/debian-11-cross-s390x.Dockerfile b/ci/containers/debian-11-cross-s390x.Dockerfile
deleted file mode 100644
index 62791ac154..0000000000
--- a/ci/containers/debian-11-cross-s390x.Dockerfile
+++ /dev/null
@@ -1,122 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libclang-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture s390x && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-s390x-linux-gnu \
- libacl1-dev:s390x \
- libapparmor-dev:s390x \
- libattr1-dev:s390x \
- libaudit-dev:s390x \
- libblkid-dev:s390x \
- libc6-dev:s390x \
- libcap-ng-dev:s390x \
- libcurl4-gnutls-dev:s390x \
- libdevmapper-dev:s390x \
- libfuse-dev:s390x \
- libglib2.0-dev:s390x \
- libglusterfs-dev:s390x \
- libgnutls28-dev:s390x \
- libiscsi-dev:s390x \
- libjson-c-dev:s390x \
- libnl-3-dev:s390x \
- libnl-route-3-dev:s390x \
- libnuma-dev:s390x \
- libparted-dev:s390x \
- libpcap0.8-dev:s390x \
- libpciaccess-dev:s390x \
- librbd-dev:s390x \
- libreadline-dev:s390x \
- libsanlock-dev:s390x \
- libsasl2-dev:s390x \
- libselinux1-dev:s390x \
- libssh-dev:s390x \
- libssh2-1-dev:s390x \
- libtirpc-dev:s390x \
- libudev-dev:s390x \
- libxml2-dev:s390x \
- systemtap-sdt-dev:s390x && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/s390x-linux-gnu-gcc'\n\
-ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/s390x-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 's390x'\n\
-cpu = 's390x'\n\
-endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
-
-ENV ABI "s390x-linux-gnu"
-ENV MESON_OPTS "--cross-file=s390x-linux-gnu"
diff --git a/ci/containers/debian-11.Dockerfile b/ci/containers/debian-11.Dockerfile
deleted file mode 100644
index 48c59e3aab..0000000000
--- a/ci/containers/debian-11.Dockerfile
+++ /dev/null
@@ -1,103 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:11-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- augeas-lenses \
- augeas-tools \
- bash-completion \
- black \
- ca-certificates \
- ccache \
- clang \
- codespell \
- cpp \
- diffutils \
- dwarves \
- ebtables \
- flake8 \
- gcc \
- gettext \
- git \
- grep \
- iproute2 \
- iptables \
- kmod \
- libacl1-dev \
- libapparmor-dev \
- libattr1-dev \
- libaudit-dev \
- libblkid-dev \
- libc6-dev \
- libcap-ng-dev \
- libclang-dev \
- libcurl4-gnutls-dev \
- libdevmapper-dev \
- libfuse-dev \
- libglib2.0-dev \
- libglusterfs-dev \
- libgnutls28-dev \
- libiscsi-dev \
- libjson-c-dev \
- libnetcf-dev \
- libnl-3-dev \
- libnl-route-3-dev \
- libnuma-dev \
- libparted-dev \
- libpcap0.8-dev \
- libpciaccess-dev \
- librbd-dev \
- libreadline-dev \
- libsanlock-dev \
- libsasl2-dev \
- libselinux1-dev \
- libssh-dev \
- libssh2-1-dev \
- libtirpc-dev \
- libudev-dev \
- libxen-dev \
- libxml2-dev \
- libxml2-utils \
- locales \
- lvm2 \
- make \
- meson \
- nfs-common \
- ninja-build \
- numad \
- open-iscsi \
- perl-base \
- pkgconf \
- policykit-1 \
- python3 \
- python3-docutils \
- python3-pytest \
- qemu-utils \
- sed \
- systemtap-sdt-dev \
- wireshark-dev \
- xsltproc && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index 0534a2278d..893843cb64 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -70,30 +70,6 @@ x86_64-centos-stream-9:
- libvirt-rpms
-x86_64-debian-11:
- extends: .native_build_job
- needs:
- - job: x86_64-debian-11-container
- optional: true
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-x86_64-debian-11-clang:
- extends: .native_build_job
- needs:
- - job: x86_64-debian-11-container
- optional: true
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
x86_64-debian-12:
extends: .native_build_job
needs:
@@ -246,110 +222,6 @@ x86_64-ubuntu-2404-clang:
# Cross build jobs
-aarch64-debian-11:
- extends: .cross_build_job
- needs:
- - job: aarch64-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: aarch64
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-armv6l-debian-11:
- extends: .cross_build_job
- needs:
- - job: armv6l-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: armv6l
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-armv7l-debian-11:
- extends: .cross_build_job
- needs:
- - job: armv7l-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: armv7l
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-i686-debian-11:
- extends: .cross_build_job
- needs:
- - job: i686-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: i686
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-mips64el-debian-11:
- extends: .cross_build_job
- needs:
- - job: mips64el-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: mips64el
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-mipsel-debian-11:
- extends: .cross_build_job
- needs:
- - job: mipsel-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: mipsel
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-ppc64le-debian-11:
- extends: .cross_build_job
- needs:
- - job: ppc64le-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: ppc64le
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
-s390x-debian-11:
- extends: .cross_build_job
- needs:
- - job: s390x-debian-11-container
- optional: true
- allow_failure: false
- variables:
- CROSS: s390x
- JOB_OPTIONAL: 1
- NAME: debian-11
- TARGET_BASE_IMAGE: docker.io/library/debian:11-slim
-
-
aarch64-debian-12:
extends: .cross_build_job
needs:
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
index 0e86062652..f88a39a1f8 100644
--- a/ci/gitlab/containers.yml
+++ b/ci/gitlab/containers.yml
@@ -35,14 +35,6 @@ x86_64-centos-stream-9-container:
NAME: centos-stream-9
-x86_64-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11
-
-
x86_64-debian-12-container:
extends: .container_job
allow_failure: false
@@ -109,70 +101,6 @@ x86_64-ubuntu-2404-container:
# Cross container jobs
-aarch64-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-aarch64
-
-
-armv6l-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-armv6l
-
-
-armv7l-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-armv7l
-
-
-i686-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-i686
-
-
-mips64el-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-mips64el
-
-
-mipsel-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-mipsel
-
-
-ppc64le-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-ppc64le
-
-
-s390x-debian-11-container:
- extends: .container_job
- allow_failure: false
- variables:
- JOB_OPTIONAL: 1
- NAME: debian-11-cross-s390x
-
-
aarch64-debian-12-container:
extends: .container_job
allow_failure: false
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 3bfebed96c..3b06f4827e 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -34,46 +34,6 @@ targets:
paths:
- libvirt-rpms
- debian-11:
- jobs:
- - arch: x86_64
- builds: false
-
- - arch: x86_64
- suffix: -clang
- builds: false
-
- - arch: aarch64
- containers: false
- builds: false
-
- - arch: armv6l
- containers: false
- builds: false
-
- - arch: armv7l
- builds: false
-
- - arch: i686
- containers: false
- builds: false
-
- - arch: mips64el
- containers: false
- builds: false
-
- - arch: mipsel
- containers: false
- builds: false
-
- - arch: ppc64le
- containers: false
- builds: false
-
- - arch: s390x
- containers: false
- builds: false
-
debian-12:
jobs:
- arch: x86_64
--
2.48.1
2
1
[PATCH] util: netdevvlan: Change return type of virNetDevVlanCopy to void
by Alexander Kuznetsov 07 Mar '25
by Alexander Kuznetsov 07 Mar '25
07 Mar '25
This function return value is invariant since 1022e0ee, so change
its type and remove all dependent checks.
Found by Linux Verification Center (linuxtesting.org) with Svace.
Reported-by: Alexander Rudyuk <a.rudyuk(a)fobos-nt.ru>
Signed-off-by: Alexander Kuznetsov <kuznetsovam(a)altlinux.org>
---
src/conf/domain_conf.c | 9 +++------
src/network/bridge_driver.c | 4 +++-
src/util/virnetdevvlan.c | 6 +++---
src/util/virnetdevvlan.h | 2 +-
4 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 3f88a77a8f..6f49ee507a 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -30533,8 +30533,7 @@ virDomainNetDefToNetworkPort(virDomainDef *dom,
if (virNetDevBandwidthCopy(&port->bandwidth, iface->bandwidth) < 0)
return NULL;
- if (virNetDevVlanCopy(&port->vlan, &iface->vlan) < 0)
- return NULL;
+ virNetDevVlanCopy(&port->vlan, &iface->vlan);
port->isolatedPort = iface->isolatedPort;
port->trustGuestRxFilters = iface->trustGuestRxFilters;
@@ -30611,8 +30610,7 @@ virDomainNetDefActualFromNetworkPort(virDomainNetDef *iface,
if (virNetDevBandwidthCopy(&actual->bandwidth, port->bandwidth) < 0)
goto error;
- if (virNetDevVlanCopy(&actual->vlan, &port->vlan) < 0)
- goto error;
+ virNetDevVlanCopy(&actual->vlan, &port->vlan);
actual->isolatedPort = port->isolatedPort;
actual->class_id = port->class_id;
@@ -30729,8 +30727,7 @@ virDomainNetDefActualToNetworkPort(virDomainDef *dom,
if (virNetDevBandwidthCopy(&port->bandwidth, actual->bandwidth) < 0)
return NULL;
- if (virNetDevVlanCopy(&port->vlan, &actual->vlan) < 0)
- return NULL;
+ virNetDevVlanCopy(&port->vlan, &actual->vlan);
port->isolatedPort = actual->isolatedPort;
port->class_id = actual->class_id;
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 8f47ef2574..668870a9ee 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -3973,8 +3973,10 @@ networkAllocatePort(virNetworkObj *obj,
else if (netdef->vlan.nTags > 0)
vlan = &netdef->vlan;
- if (vlan && virNetDevVlanCopy(&port->vlan, vlan) < 0)
+ if (vlan) {
+ virNetDevVlanCopy(&port->vlan, vlan);
return -1;
+ }
}
if (!port->trustGuestRxFilters) {
diff --git a/src/util/virnetdevvlan.c b/src/util/virnetdevvlan.c
index 67daa5d3b4..e8f572efd2 100644
--- a/src/util/virnetdevvlan.c
+++ b/src/util/virnetdevvlan.c
@@ -76,11 +76,11 @@ virNetDevVlanEqual(const virNetDevVlan *a, const virNetDevVlan *b)
* If src is NULL, dst will have nTags set to 0.
* dst is assumed to be empty on entry.
*/
-int
+void
virNetDevVlanCopy(virNetDevVlan *dst, const virNetDevVlan *src)
{
if (!src || src->nTags == 0)
- return 0;
+ return;
dst->tag = g_new0(unsigned int, src->nTags);
dst->trunk = src->trunk;
@@ -88,5 +88,5 @@ virNetDevVlanCopy(virNetDevVlan *dst, const virNetDevVlan *src)
dst->nativeMode = src->nativeMode;
dst->nativeTag = src->nativeTag;
memcpy(dst->tag, src->tag, src->nTags * sizeof(*src->tag));
- return 0;
+ return;
}
diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h
index 228d270869..fd2f8023f5 100644
--- a/src/util/virnetdevvlan.h
+++ b/src/util/virnetdevvlan.h
@@ -42,6 +42,6 @@ struct _virNetDevVlan {
void virNetDevVlanClear(virNetDevVlan *vlan);
void virNetDevVlanFree(virNetDevVlan *vlan);
int virNetDevVlanEqual(const virNetDevVlan *a, const virNetDevVlan *b);
-int virNetDevVlanCopy(virNetDevVlan *dst, const virNetDevVlan *src);
+void virNetDevVlanCopy(virNetDevVlan *dst, const virNetDevVlan *src);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetDevVlan, virNetDevVlanFree);
--
2.42.4
2
5
07 Mar '25
Sponsored by: Future Crew, LLC
Signed-off-by: Alexander Shursha <kekek2(a)ya.ru>
---
src/meson.build | 1 +
src/util/virpci.c | 464 ++++++++++------------------------------
tests/qemuhotplugtest.c | 11 +-
tests/qemumemlocktest.c | 9 +
tests/qemuxmlconftest.c | 9 +
tests/virpcimock.c | 21 +-
6 files changed, 160 insertions(+), 355 deletions(-)
diff --git a/src/meson.build b/src/meson.build
index 9413192a55..39788ac4d7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -411,6 +411,7 @@ libvirt_lib = shared_library(
dtrace_gen_objects,
dependencies: [
src_dep,
+ pciaccess_dep
],
link_args: libvirt_link_args,
link_whole: [
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 90617e69c6..3f95fa2b3f 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -29,6 +29,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <pciaccess.h>
#ifdef __linux__
# include <sys/utsname.h>
@@ -72,7 +73,7 @@ struct _virPCIDevice {
char *name; /* domain:bus:slot.function */
char id[PCI_ID_LEN]; /* product vendor */
- char *path;
+ struct pci_device *device;
/* The driver:domain which uses the device */
char *used_by_drvname;
@@ -359,121 +360,6 @@ virPCIDeviceGetCurrentDriverNameAndType(virPCIDevice *dev,
}
-static int
-virPCIDeviceConfigOpenInternal(virPCIDevice *dev, bool readonly, bool fatal)
-{
- int fd;
-
- fd = open(dev->path, readonly ? O_RDONLY : O_RDWR);
-
- if (fd < 0) {
- if (fatal) {
- virReportSystemError(errno,
- _("Failed to open config space file '%1$s'"),
- dev->path);
- } else {
- VIR_WARN("Failed to open config space file '%s': %s",
- dev->path, g_strerror(errno));
- }
- return -1;
- }
-
- VIR_DEBUG("%s %s: opened %s", dev->id, dev->name, dev->path);
- return fd;
-}
-
-static int
-virPCIDeviceConfigOpen(virPCIDevice *dev)
-{
- return virPCIDeviceConfigOpenInternal(dev, true, true);
-}
-
-static int
-virPCIDeviceConfigOpenTry(virPCIDevice *dev)
-{
- return virPCIDeviceConfigOpenInternal(dev, true, false);
-}
-
-static int
-virPCIDeviceConfigOpenWrite(virPCIDevice *dev)
-{
- return virPCIDeviceConfigOpenInternal(dev, false, true);
-}
-
-static void
-virPCIDeviceConfigClose(virPCIDevice *dev, int cfgfd)
-{
- if (VIR_CLOSE(cfgfd) < 0) {
- VIR_WARN("Failed to close config space file '%s': %s",
- dev->path, g_strerror(errno));
- }
-}
-
-
-static int
-virPCIDeviceRead(virPCIDevice *dev,
- int cfgfd,
- unsigned int pos,
- uint8_t *buf,
- unsigned int buflen)
-{
- memset(buf, 0, buflen);
- errno = 0;
-
- if (lseek(cfgfd, pos, SEEK_SET) != pos ||
- saferead(cfgfd, buf, buflen) != buflen) {
- VIR_DEBUG("Failed to read %u bytes at %u from '%s' : %s",
- buflen, pos, dev->path, g_strerror(errno));
- return -1;
- }
- return 0;
-}
-
-
-/**
- * virPCIDeviceReadN:
- * @dev: virPCIDevice object (used only to log name of config file)
- * @cfgfd: open file descriptor for device config file in sysfs
- * @pos: byte offset in the file to read from
- *
- * read "N" (where "N" is "8", "16", or "32", and appears at the end
- * of the function name) bytes from a PCI device's already-opened
- * sysfs config file and return them as the return value from the
- * function.
- *
- * Returns the value at @pos in the file, or 0 if there was an
- * error. NB: since 0 could be a valid value, occurrence of an error
- * must be determined by examining errno. errno is always reset to 0
- * before the seek/read is attempted (see virPCIDeviceRead()), so if
- * errno != 0 on return from one of these functions, then either the
- * seek or the read operation failed for some reason. If errno == 0
- * and the return value is 0, then the config file really does contain
- * the value 0 at @pos.
- */
-static uint8_t
-virPCIDeviceRead8(virPCIDevice *dev, int cfgfd, unsigned int pos)
-{
- uint8_t buf;
- virPCIDeviceRead(dev, cfgfd, pos, &buf, sizeof(buf));
- return buf;
-}
-
-static uint16_t
-virPCIDeviceRead16(virPCIDevice *dev, int cfgfd, unsigned int pos)
-{
- uint8_t buf[2];
- virPCIDeviceRead(dev, cfgfd, pos, &buf[0], sizeof(buf));
- return (buf[0] << 0) | (buf[1] << 8);
-}
-
-static uint32_t
-virPCIDeviceRead32(virPCIDevice *dev, int cfgfd, unsigned int pos)
-{
- uint8_t buf[4];
- virPCIDeviceRead(dev, cfgfd, pos, &buf[0], sizeof(buf));
- return (buf[0] << 0) | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
-}
-
static int
virPCIDeviceReadClass(virPCIDevice *dev, uint16_t *device_class)
{
@@ -499,36 +385,6 @@ virPCIDeviceReadClass(virPCIDevice *dev, uint16_t *device_class)
return 0;
}
-static int
-virPCIDeviceWrite(virPCIDevice *dev,
- int cfgfd,
- unsigned int pos,
- uint8_t *buf,
- unsigned int buflen)
-{
- if (lseek(cfgfd, pos, SEEK_SET) != pos ||
- safewrite(cfgfd, buf, buflen) != buflen) {
- VIR_WARN("Failed to write to '%s' : %s", dev->path,
- g_strerror(errno));
- return -1;
- }
- return 0;
-}
-
-static void
-virPCIDeviceWrite16(virPCIDevice *dev, int cfgfd, unsigned int pos, uint16_t val)
-{
- uint8_t buf[2] = { (val >> 0), (val >> 8) };
- virPCIDeviceWrite(dev, cfgfd, pos, &buf[0], sizeof(buf));
-}
-
-static void
-virPCIDeviceWrite32(virPCIDevice *dev, int cfgfd, unsigned int pos, uint32_t val)
-{
- uint8_t buf[4] = { (val >> 0), (val >> 8), (val >> 16), (val >> 24) };
- virPCIDeviceWrite(dev, cfgfd, pos, &buf[0], sizeof(buf));
-}
-
typedef int (*virPCIDeviceIterPredicate)(virPCIDevice *, virPCIDevice *,
void *);
@@ -610,7 +466,6 @@ virPCIDeviceIterDevices(virPCIDeviceIterPredicate predicate,
*/
static int
virPCIDeviceFindCapabilityOffset(virPCIDevice *dev,
- int cfgfd,
unsigned int capability,
unsigned int *offset)
{
@@ -619,11 +474,13 @@ virPCIDeviceFindCapabilityOffset(virPCIDevice *dev,
*offset = 0; /* assume failure (*nothing* can be at offset 0) */
- status = virPCIDeviceRead16(dev, cfgfd, PCI_STATUS);
+ pci_device_cfg_read_u16(dev->device, &status, PCI_STATUS);
+
if (errno != 0 || !(status & PCI_STATUS_CAP_LIST))
goto error;
- pos = virPCIDeviceRead8(dev, cfgfd, PCI_CAPABILITY_LIST);
+ pci_device_cfg_read_u8(dev->device, &pos, PCI_CAPABILITY_LIST);
+
if (errno != 0)
goto error;
@@ -635,7 +492,9 @@ virPCIDeviceFindCapabilityOffset(virPCIDevice *dev,
* capabilities here.
*/
while (pos >= PCI_CONF_HEADER_LEN && pos != 0xff) {
- uint8_t capid = virPCIDeviceRead8(dev, cfgfd, pos);
+ uint8_t capid;
+ pci_device_cfg_read_u8(dev->device, &capid, pos);
+
if (errno != 0)
goto error;
@@ -646,7 +505,8 @@ virPCIDeviceFindCapabilityOffset(virPCIDevice *dev,
return 0;
}
- pos = virPCIDeviceRead8(dev, cfgfd, pos + 1);
+ pci_device_cfg_read_u8(dev->device, &pos, pos + 1);
+
if (errno != 0)
goto error;
}
@@ -665,7 +525,6 @@ virPCIDeviceFindCapabilityOffset(virPCIDevice *dev,
static unsigned int
virPCIDeviceFindExtendedCapabilityOffset(virPCIDevice *dev,
- int cfgfd,
unsigned int capability)
{
int ttl;
@@ -677,7 +536,7 @@ virPCIDeviceFindExtendedCapabilityOffset(virPCIDevice *dev,
pos = PCI_EXT_CAP_BASE;
while (ttl > 0 && pos >= PCI_EXT_CAP_BASE) {
- header = virPCIDeviceRead32(dev, cfgfd, pos);
+ header = pci_device_cfg_read_u32(dev->device, &header, pos);
if ((header & PCI_EXT_CAP_ID_MASK) == capability)
return pos;
@@ -693,7 +552,7 @@ virPCIDeviceFindExtendedCapabilityOffset(virPCIDevice *dev,
* not have FLR, 1 if it does, and -1 on error
*/
static bool
-virPCIDeviceDetectFunctionLevelReset(virPCIDevice *dev, int cfgfd)
+virPCIDeviceDetectFunctionLevelReset(virPCIDevice *dev)
{
uint32_t caps;
unsigned int pos;
@@ -707,7 +566,7 @@ virPCIDeviceDetectFunctionLevelReset(virPCIDevice *dev, int cfgfd)
* on SR-IOV NICs at the moment.
*/
if (dev->pcie_cap_pos) {
- caps = virPCIDeviceRead32(dev, cfgfd, dev->pcie_cap_pos + PCI_EXP_DEVCAP);
+ pci_device_cfg_read_u32(dev->device, &caps, dev->pcie_cap_pos + PCI_EXP_DEVCAP);
if (caps & PCI_EXP_DEVCAP_FLR) {
VIR_DEBUG("%s %s: detected PCIe FLR capability", dev->id, dev->name);
return true;
@@ -718,11 +577,13 @@ virPCIDeviceDetectFunctionLevelReset(virPCIDevice *dev, int cfgfd)
* the same thing, except for conventional PCI
* devices. This is not common yet.
*/
- if (virPCIDeviceFindCapabilityOffset(dev, cfgfd, PCI_CAP_ID_AF, &pos) < 0)
+ if (virPCIDeviceFindCapabilityOffset(dev, PCI_CAP_ID_AF, &pos) < 0)
goto error;
if (pos) {
- caps = virPCIDeviceRead16(dev, cfgfd, pos + PCI_AF_CAP);
+ uint16_t caps16;
+ pci_device_cfg_read_u16(dev->device, &caps16, pos + PCI_AF_CAP);
+ caps = caps16;
if (caps & PCI_AF_CAP_FLR) {
VIR_DEBUG("%s %s: detected PCI FLR capability", dev->id, dev->name);
return true;
@@ -754,13 +615,13 @@ virPCIDeviceDetectFunctionLevelReset(virPCIDevice *dev, int cfgfd)
* internal reset, not just a soft reset.
*/
static bool
-virPCIDeviceDetectPowerManagementReset(virPCIDevice *dev, int cfgfd)
+virPCIDeviceDetectPowerManagementReset(virPCIDevice *dev)
{
if (dev->pci_pm_cap_pos) {
uint32_t ctl;
/* require the NO_SOFT_RESET bit is clear */
- ctl = virPCIDeviceRead32(dev, cfgfd, dev->pci_pm_cap_pos + PCI_PM_CTRL);
+ pci_device_cfg_read_u32(dev->device, &ctl, dev->pci_pm_cap_pos + PCI_PM_CTRL);
if (!(ctl & PCI_PM_CTRL_NO_SOFT_RESET)) {
VIR_DEBUG("%s %s: detected PM reset capability", dev->id, dev->name);
return true;
@@ -811,26 +672,22 @@ virPCIDeviceIsParent(virPCIDevice *dev, virPCIDevice *check, void *data)
uint8_t header_type, secondary, subordinate;
virPCIDevice **best = data;
int ret = 0;
- int fd;
if (dev->address.domain != check->address.domain)
return 0;
- if ((fd = virPCIDeviceConfigOpenTry(check)) < 0)
- return 0;
-
/* Is it a bridge? */
ret = virPCIDeviceReadClass(check, &device_class);
if (ret < 0 || device_class != PCI_CLASS_BRIDGE_PCI)
- goto cleanup;
+ return ret;
/* Is it a plane? */
- header_type = virPCIDeviceRead8(check, fd, PCI_HEADER_TYPE);
+ pci_device_cfg_read_u8(check->device, &header_type, PCI_HEADER_TYPE);
if ((header_type & PCI_HEADER_TYPE_MASK) != PCI_HEADER_TYPE_BRIDGE)
- goto cleanup;
+ return ret;
- secondary = virPCIDeviceRead8(check, fd, PCI_SECONDARY_BUS);
- subordinate = virPCIDeviceRead8(check, fd, PCI_SUBORDINATE_BUS);
+ pci_device_cfg_read_u8(check->device, &secondary, PCI_SECONDARY_BUS);
+ pci_device_cfg_read_u8(check->device, &subordinate, PCI_SUBORDINATE_BUS);
VIR_DEBUG("%s %s: found parent device %s", dev->id, dev->name, check->name);
@@ -838,8 +695,7 @@ virPCIDeviceIsParent(virPCIDevice *dev, virPCIDevice *check, void *data)
* the direct parent. No further work is necessary
*/
if (dev->address.bus == secondary) {
- ret = 1;
- goto cleanup;
+ return 1;
}
/* otherwise, SRIOV allows VFs to be on different buses than their PFs.
@@ -850,35 +706,26 @@ virPCIDeviceIsParent(virPCIDevice *dev, virPCIDevice *check, void *data)
if (*best == NULL) {
*best = virPCIDeviceNew(&check->address);
if (*best == NULL) {
- ret = -1;
- goto cleanup;
+ return -1;
}
} else {
/* OK, we had already recorded a previous "best" match for the
* parent. See if the current device is more restrictive than the
* best, and if so, make it the new best
*/
- int bestfd;
uint8_t best_secondary;
- if ((bestfd = virPCIDeviceConfigOpenTry(*best)) < 0)
- goto cleanup;
- best_secondary = virPCIDeviceRead8(*best, bestfd, PCI_SECONDARY_BUS);
- virPCIDeviceConfigClose(*best, bestfd);
+ pci_device_cfg_read_u8((*best)->device, &best_secondary, PCI_SECONDARY_BUS);
if (secondary > best_secondary) {
virPCIDeviceFree(*best);
*best = virPCIDeviceNew(&check->address);
if (*best == NULL) {
- ret = -1;
- goto cleanup;
+ return -1;
}
}
}
}
-
- cleanup:
- virPCIDeviceConfigClose(check, fd);
return ret;
}
@@ -902,15 +749,14 @@ virPCIDeviceGetParent(virPCIDevice *dev, virPCIDevice **parent)
*/
static int
virPCIDeviceTrySecondaryBusReset(virPCIDevice *dev,
- int cfgfd,
virPCIDeviceList *inactiveDevs)
{
g_autoptr(virPCIDevice) parent = NULL;
g_autoptr(virPCIDevice) conflict = NULL;
uint8_t config_space[PCI_CONF_LEN];
uint16_t ctl;
- int ret = -1;
- int parentfd;
+ pciaddr_t bytes_read;
+ pciaddr_t bytes_written;
/* Refuse to do a secondary bus reset if there are other
* devices/functions behind the bus are used by the host
@@ -932,8 +778,6 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevice *dev,
dev->name);
return -1;
}
- if ((parentfd = virPCIDeviceConfigOpenWrite(parent)) < 0)
- goto out;
VIR_DEBUG("%s %s: doing a secondary bus reset", dev->id, dev->name);
@@ -941,38 +785,37 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevice *dev,
* for the supplied device since we refuse to do a reset if there
* are multiple devices/functions
*/
- if (virPCIDeviceRead(dev, cfgfd, 0, config_space, PCI_CONF_LEN) < 0) {
+ pci_device_cfg_read(dev->device, config_space, 0, PCI_CONF_LEN, &bytes_read);
+ if (bytes_read < PCI_CONF_LEN) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to read PCI config space for %1$s"),
dev->name);
- goto out;
+ return -1;
}
/* Read the control register, set the reset flag, wait 200ms,
* unset the reset flag and wait 200ms.
*/
- ctl = virPCIDeviceRead16(dev, parentfd, PCI_BRIDGE_CONTROL);
- virPCIDeviceWrite16(parent, parentfd, PCI_BRIDGE_CONTROL,
- ctl | PCI_BRIDGE_CTL_RESET);
+ pci_device_cfg_read_u16(parent->device, &ctl, PCI_BRIDGE_CONTROL);
+
+ pci_device_cfg_write_u16(parent->device, ctl | PCI_BRIDGE_CTL_RESET, PCI_BRIDGE_CONTROL);
g_usleep(200 * 1000); /* sleep 200ms */
- virPCIDeviceWrite16(parent, parentfd, PCI_BRIDGE_CONTROL, ctl);
+ pci_device_cfg_write_u16(parent->device, ctl, PCI_BRIDGE_CONTROL);
g_usleep(200 * 1000); /* sleep 200ms */
- if (virPCIDeviceWrite(dev, cfgfd, 0, config_space, PCI_CONF_LEN) < 0) {
+ pci_device_cfg_write(dev->device, config_space, 0, PCI_CONF_LEN, &bytes_written);
+ if (bytes_written < PCI_CONF_LEN) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to restore PCI config space for %1$s"),
dev->name);
- goto out;
+ return -1;
}
- ret = 0;
- out:
- virPCIDeviceConfigClose(parent, parentfd);
- return ret;
+ return 0;
}
/* Power management reset attempts to reset a device using a
@@ -980,16 +823,19 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevice *dev,
* above we require the device supports a full internal reset.
*/
static int
-virPCIDeviceTryPowerManagementReset(virPCIDevice *dev, int cfgfd)
+virPCIDeviceTryPowerManagementReset(virPCIDevice *dev)
{
uint8_t config_space[PCI_CONF_LEN];
uint32_t ctl;
+ pciaddr_t bytes_read;
+ pciaddr_t bytes_written;
if (!dev->pci_pm_cap_pos)
return -1;
/* Save and restore the device's config space. */
- if (virPCIDeviceRead(dev, cfgfd, 0, &config_space[0], PCI_CONF_LEN) < 0) {
+ pci_device_cfg_read(dev->device, config_space, 0, PCI_CONF_LEN, &bytes_read);
+ if (bytes_read < PCI_CONF_LEN) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to read PCI config space for %1$s"),
dev->name);
@@ -998,20 +844,19 @@ virPCIDeviceTryPowerManagementReset(virPCIDevice *dev, int cfgfd)
VIR_DEBUG("%s %s: doing a power management reset", dev->id, dev->name);
- ctl = virPCIDeviceRead32(dev, cfgfd, dev->pci_pm_cap_pos + PCI_PM_CTRL);
+ pci_device_cfg_read_u32(dev->device, &ctl, dev->pci_pm_cap_pos + PCI_PM_CTRL);
ctl &= ~PCI_PM_CTRL_STATE_MASK;
- virPCIDeviceWrite32(dev, cfgfd, dev->pci_pm_cap_pos + PCI_PM_CTRL,
- ctl | PCI_PM_CTRL_STATE_D3hot);
+ pci_device_cfg_write_u32(dev->device, ctl | PCI_PM_CTRL_STATE_D3hot, dev->pci_pm_cap_pos + PCI_PM_CTRL);
g_usleep(10 * 1000); /* sleep 10ms */
- virPCIDeviceWrite32(dev, cfgfd, dev->pci_pm_cap_pos + PCI_PM_CTRL,
- ctl | PCI_PM_CTRL_STATE_D0);
+ pci_device_cfg_write_u32(dev->device, ctl | PCI_PM_CTRL_STATE_D0, dev->pci_pm_cap_pos + PCI_PM_CTRL);
g_usleep(10 * 1000); /* sleep 10ms */
- if (virPCIDeviceWrite(dev, cfgfd, 0, &config_space[0], PCI_CONF_LEN) < 0) {
+ pci_device_cfg_write(dev->device, config_space, 0, PCI_CONF_LEN, &bytes_written);
+ if (bytes_written < PCI_CONF_LEN) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to restore PCI config space for %1$s"),
dev->name);
@@ -1046,10 +891,10 @@ virPCIDeviceTryPowerManagementReset(virPCIDevice *dev, int cfgfd)
* Always returns success (0) (for now)
*/
static int
-virPCIDeviceInit(virPCIDevice *dev, int cfgfd)
+virPCIDeviceInit(virPCIDevice *dev)
{
dev->is_pcie = false;
- if (virPCIDeviceFindCapabilityOffset(dev, cfgfd, PCI_CAP_ID_EXP, &dev->pcie_cap_pos) < 0) {
+ if (virPCIDeviceFindCapabilityOffset(dev, PCI_CAP_ID_EXP, &dev->pcie_cap_pos) < 0) {
/* an unprivileged process is unable to read *all* of a
* device's PCI config (it can only read the first 64
* bytes, which isn't enough for see the Express
@@ -1065,18 +910,13 @@ virPCIDeviceInit(virPCIDevice *dev, int cfgfd)
* -1), then we blindly assume the most likely outcome -
* PCIe.
*/
- off_t configLen = virFileLength(virPCIDeviceGetConfigPath(dev), -1);
-
- if (configLen != 256)
- dev->is_pcie = true;
-
} else {
dev->is_pcie = (dev->pcie_cap_pos != 0);
}
- virPCIDeviceFindCapabilityOffset(dev, cfgfd, PCI_CAP_ID_PM, &dev->pci_pm_cap_pos);
- dev->has_flr = virPCIDeviceDetectFunctionLevelReset(dev, cfgfd);
- dev->has_pm_reset = virPCIDeviceDetectPowerManagementReset(dev, cfgfd);
+ virPCIDeviceFindCapabilityOffset(dev, PCI_CAP_ID_PM, &dev->pci_pm_cap_pos);
+ dev->has_flr = virPCIDeviceDetectFunctionLevelReset(dev);
+ dev->has_pm_reset = virPCIDeviceDetectPowerManagementReset(dev);
return 0;
}
@@ -1089,7 +929,6 @@ virPCIDeviceReset(virPCIDevice *dev,
g_autofree char *drvName = NULL;
virPCIStubDriver drvType;
int ret = -1;
- int fd = -1;
int hdrType = -1;
if (virPCIGetHeaderType(dev, &hdrType) < 0)
@@ -1114,29 +953,26 @@ virPCIDeviceReset(virPCIDevice *dev,
* be redundant.
*/
if (virPCIDeviceGetCurrentDriverNameAndType(dev, &drvName, &drvType) < 0)
- goto cleanup;
+ return -1;
if (drvType == VIR_PCI_STUB_DRIVER_VFIO) {
VIR_DEBUG("Device %s is bound to %s - skip reset", dev->name, drvName);
ret = 0;
- goto cleanup;
+ return 0;
}
VIR_DEBUG("Resetting device %s", dev->name);
- if ((fd = virPCIDeviceConfigOpenWrite(dev)) < 0)
- goto cleanup;
-
- if (virPCIDeviceInit(dev, fd) < 0)
- goto cleanup;
+ if (virPCIDeviceInit(dev) < 0)
+ return -1;
/* KVM will perform FLR when starting and stopping
* a guest, so there is no need for us to do it here.
*/
if (dev->has_flr) {
ret = 0;
- goto cleanup;
+ return 0;
}
/* If the device supports PCI power management reset,
@@ -1144,11 +980,11 @@ virPCIDeviceReset(virPCIDevice *dev,
* the function, not the whole device.
*/
if (dev->has_pm_reset)
- ret = virPCIDeviceTryPowerManagementReset(dev, fd);
+ ret = virPCIDeviceTryPowerManagementReset(dev);
/* Bus reset is not an option with the root bus */
if (ret < 0 && dev->address.bus != 0)
- ret = virPCIDeviceTrySecondaryBusReset(dev, fd, inactiveDevs);
+ ret = virPCIDeviceTrySecondaryBusReset(dev, inactiveDevs);
if (ret < 0) {
virErrorPtr err = virGetLastError();
@@ -1159,8 +995,6 @@ virPCIDeviceReset(virPCIDevice *dev,
_("no FLR, PM reset or bus reset available"));
}
- cleanup:
- virPCIDeviceConfigClose(dev, fd);
return ret;
}
@@ -1756,28 +1590,6 @@ virPCIDeviceReattach(virPCIDevice *dev,
return 0;
}
-static char *
-virPCIDeviceReadID(virPCIDevice *dev, const char *id_name)
-{
- g_autofree char *path = NULL;
- g_autofree char *id_str = NULL;
-
- path = virPCIFile(dev->name, id_name);
-
- /* ID string is '0xNNNN\n' ... i.e. 7 bytes */
- if (virFileReadAll(path, 7, &id_str) < 0)
- return NULL;
-
- /* Check for 0x suffix */
- if (id_str[0] != '0' || id_str[1] != 'x')
- return NULL;
-
- /* Chop off the newline; we know the string is 7 bytes */
- id_str[6] = '\0';
-
- return g_steal_pointer(&id_str);
-}
-
bool
virPCIDeviceAddressIsValid(virPCIDeviceAddress *addr,
bool report)
@@ -1865,9 +1677,9 @@ virPCIDeviceExists(const virPCIDeviceAddress *addr)
virPCIDevice *
virPCIDeviceNew(const virPCIDeviceAddress *address)
{
+ struct pci_device * device;
+
g_autoptr(virPCIDevice) dev = NULL;
- g_autofree char *vendor = NULL;
- g_autofree char *product = NULL;
dev = g_new0(virPCIDevice, 1);
@@ -1875,31 +1687,21 @@ virPCIDeviceNew(const virPCIDeviceAddress *address)
dev->name = virPCIDeviceAddressAsString(&dev->address);
- dev->path = g_strdup_printf(PCI_SYSFS "devices/%s/config", dev->name);
-
- if (!virFileExists(dev->path)) {
- virReportSystemError(errno,
- _("Device %1$s not found: could not access %2$s"),
- dev->name, dev->path);
+ pci_system_init();
+ device = pci_device_find_by_slot(address->domain, address->bus, address->slot, address->function);
+ if (!device)
return NULL;
- }
-
- vendor = virPCIDeviceReadID(dev, "vendor");
- product = virPCIDeviceReadID(dev, "device");
-
- if (!vendor || !product) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to read product/vendor ID for %1$s"),
- dev->name);
+ dev->device = g_memdup(device, sizeof(*dev->device));
+ if (!dev->device) {
+ virReportSystemError(errno,
+ _("Not found device domain: %1$d, bus: %2$d, slot: %3$d, function: %4$d"),
+ address->domain, address->bus, address->slot, address->function);
return NULL;
}
-
- /* strings contain '0x' prefix */
- if (g_snprintf(dev->id, sizeof(dev->id), "%s %s", &vendor[2],
- &product[2]) >= sizeof(dev->id)) {
+ if (g_snprintf(dev->id, sizeof(dev->id), "%x %x", dev->device->vendor_id, dev->device->device_id) >= sizeof(dev->id)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
- _("dev->id buffer overflow: %1$s %2$s"),
- &vendor[2], &product[2]);
+ _("dev->id buffer overflow: %1$d %2$d"),
+ dev->device->vendor_id, dev->device->device_id);
return NULL;
}
@@ -1918,10 +1720,10 @@ virPCIDeviceCopy(virPCIDevice *dev)
/* shallow copy to take care of most attributes */
*copy = *dev;
- copy->path = NULL;
- copy->used_by_drvname = copy->used_by_domname = NULL;
+ copy->device = NULL;
+ copy->device = g_memdup(dev->device, sizeof(*dev->device));
+ copy->name = copy->used_by_drvname = copy->used_by_domname = copy->stubDriverName = NULL;
copy->name = g_strdup(dev->name);
- copy->path = g_strdup(dev->path);
copy->used_by_drvname = g_strdup(dev->used_by_drvname);
copy->used_by_domname = g_strdup(dev->used_by_domname);
copy->stubDriverName = g_strdup(dev->stubDriverName);
@@ -1936,10 +1738,11 @@ virPCIDeviceFree(virPCIDevice *dev)
return;
VIR_DEBUG("%s %s: freeing", dev->id, dev->name);
g_free(dev->name);
- g_free(dev->path);
g_free(dev->used_by_drvname);
g_free(dev->used_by_domname);
g_free(dev->stubDriverName);
+ if (dev->device)
+ g_free(dev->device);
g_free(dev);
}
@@ -1971,9 +1774,9 @@ virPCIDeviceGetName(virPCIDevice *dev)
* config file.
*/
const char *
-virPCIDeviceGetConfigPath(virPCIDevice *dev)
+virPCIDeviceGetConfigPath(virPCIDevice *dev G_GNUC_UNUSED)
{
- return dev->path;
+ return NULL;
}
void virPCIDeviceSetManaged(virPCIDevice *dev, bool managed)
@@ -2484,47 +2287,37 @@ virPCIDeviceDownstreamLacksACS(virPCIDevice *dev)
uint16_t flags;
uint16_t ctrl;
unsigned int pos;
- int fd;
- int ret = 0;
uint16_t device_class;
- if ((fd = virPCIDeviceConfigOpen(dev)) < 0)
+ if (virPCIDeviceInit(dev) < 0) {
return -1;
-
- if (virPCIDeviceInit(dev, fd) < 0) {
- ret = -1;
- goto cleanup;
}
if (virPCIDeviceReadClass(dev, &device_class) < 0)
- goto cleanup;
+ return 0;
pos = dev->pcie_cap_pos;
if (!pos || device_class != PCI_CLASS_BRIDGE_PCI)
- goto cleanup;
+ return 0;
- flags = virPCIDeviceRead16(dev, fd, pos + PCI_EXP_FLAGS);
+ pci_device_cfg_read_u16(dev->device, &flags, pos + PCI_EXP_FLAGS);
if (((flags & PCI_EXP_FLAGS_TYPE) >> 4) != PCI_EXP_TYPE_DOWNSTREAM)
- goto cleanup;
+ return 0;
- pos = virPCIDeviceFindExtendedCapabilityOffset(dev, fd, PCI_EXT_CAP_ID_ACS);
+ pos = virPCIDeviceFindExtendedCapabilityOffset(dev, PCI_EXT_CAP_ID_ACS);
if (!pos) {
VIR_DEBUG("%s %s: downstream port lacks ACS", dev->id, dev->name);
- ret = 1;
- goto cleanup;
+ return 1;
}
- ctrl = virPCIDeviceRead16(dev, fd, pos + PCI_EXT_ACS_CTRL);
+ pci_device_cfg_read_u16(dev->device, &ctrl, pos + PCI_EXT_ACS_CTRL);
if ((ctrl & PCI_EXT_CAP_ACS_ENABLED) != PCI_EXT_CAP_ACS_ENABLED) {
VIR_DEBUG("%s %s: downstream port has ACS disabled",
dev->id, dev->name);
- ret = 1;
- goto cleanup;
+ return 1;
}
- cleanup:
- virPCIDeviceConfigClose(dev, fd);
- return ret;
+ return 0;
}
static int
@@ -3189,48 +2982,27 @@ virPCIDeviceGetVPD(virPCIDevice *dev G_GNUC_UNUSED)
int
virPCIDeviceIsPCIExpress(virPCIDevice *dev)
{
- int fd;
- int ret = -1;
-
- if ((fd = virPCIDeviceConfigOpen(dev)) < 0)
- return ret;
-
- if (virPCIDeviceInit(dev, fd) < 0)
- goto cleanup;
-
- ret = dev->is_pcie;
+ if (virPCIDeviceInit(dev) < 0)
+ return -1;
- cleanup:
- virPCIDeviceConfigClose(dev, fd);
- return ret;
+ return dev->is_pcie;
}
int
virPCIDeviceHasPCIExpressLink(virPCIDevice *dev)
{
- int fd;
- int ret = -1;
uint16_t cap, type;
-
- if ((fd = virPCIDeviceConfigOpen(dev)) < 0)
- return ret;
-
- if (virPCIDeviceInit(dev, fd) < 0)
- goto cleanup;
+ if (virPCIDeviceInit(dev) < 0)
+ return -1;
if (dev->pcie_cap_pos == 0) {
- ret = 0;
- goto cleanup;
+ return 0;
}
- cap = virPCIDeviceRead16(dev, fd, dev->pcie_cap_pos + PCI_CAP_FLAGS);
+ pci_device_cfg_read_u16(dev->device, &cap, dev->pcie_cap_pos + PCI_CAP_FLAGS);
type = (cap & PCI_EXP_FLAGS_TYPE) >> 4;
- ret = type != PCI_EXP_TYPE_ROOT_INT_EP && type != PCI_EXP_TYPE_ROOT_EC;
-
- cleanup:
- virPCIDeviceConfigClose(dev, fd);
- return ret;
+ return type != PCI_EXP_TYPE_ROOT_INT_EP && type != PCI_EXP_TYPE_ROOT_EC;
}
int
@@ -3242,53 +3014,39 @@ virPCIDeviceGetLinkCapSta(virPCIDevice *dev,
unsigned int *sta_width)
{
uint32_t t;
- int fd;
- int ret = -1;
-
- if ((fd = virPCIDeviceConfigOpen(dev)) < 0)
- return ret;
-
- if (virPCIDeviceInit(dev, fd) < 0)
- goto cleanup;
+ uint16_t t16;
+ if (virPCIDeviceInit(dev) < 0)
+ return -1;
if (!dev->pcie_cap_pos) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("pci device %1$s is not a PCI-Express device"),
dev->name);
- goto cleanup;
+ return -1;
}
- t = virPCIDeviceRead32(dev, fd, dev->pcie_cap_pos + PCI_EXP_LNKCAP);
+ pci_device_cfg_read_u32(dev->device, &t, dev->pcie_cap_pos + PCI_EXP_LNKCAP);
*cap_port = t >> 24;
*cap_speed = t & PCI_EXP_LNKCAP_SPEED;
*cap_width = (t & PCI_EXP_LNKCAP_WIDTH) >> 4;
- t = virPCIDeviceRead16(dev, fd, dev->pcie_cap_pos + PCI_EXP_LNKSTA);
+ pci_device_cfg_read_u16(dev->device, &t16, dev->pcie_cap_pos + PCI_EXP_LNKSTA);
+ t = t16;
*sta_speed = t & PCI_EXP_LNKSTA_SPEED;
*sta_width = (t & PCI_EXP_LNKSTA_WIDTH) >> 4;
- ret = 0;
-
- cleanup:
- virPCIDeviceConfigClose(dev, fd);
- return ret;
+ return 0;
}
int virPCIGetHeaderType(virPCIDevice *dev, int *hdrType)
{
- int fd;
uint8_t type;
*hdrType = -1;
- if ((fd = virPCIDeviceConfigOpen(dev)) < 0)
- return -1;
-
- type = virPCIDeviceRead8(dev, fd, PCI_HEADER_TYPE);
-
- virPCIDeviceConfigClose(dev, fd);
+ pci_device_cfg_read_u8(dev->device, &type, PCI_HEADER_TYPE);
type &= PCI_HEADER_TYPE_MASK;
if (type >= VIR_PCI_HEADER_LAST) {
diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c
index d2a1f5acf1..fd8339bd30 100644
--- a/tests/qemuhotplugtest.c
+++ b/tests/qemuhotplugtest.c
@@ -18,12 +18,14 @@
*/
#include <config.h>
+#include "testutils.h"
+
+#ifdef __linux__
#include "qemu/qemu_alias.h"
#include "qemu/qemu_conf.h"
#include "qemu/qemu_hotplug.h"
#include "qemumonitortestutils.h"
-#include "testutils.h"
#include "testutilsqemu.h"
#include "testutilsqemuschema.h"
#include "virhostdev.h"
@@ -816,3 +818,10 @@ VIR_TEST_MAIN_PRELOAD(mymain,
VIR_TEST_MOCK("domaincaps"),
VIR_TEST_MOCK("virprocess"),
VIR_TEST_MOCK("qemuhotplug"));
+#else
+int
+main(void)
+{
+ return EXIT_AM_SKIP;
+}
+#endif
diff --git a/tests/qemumemlocktest.c b/tests/qemumemlocktest.c
index a2888732f7..5f62c80665 100644
--- a/tests/qemumemlocktest.c
+++ b/tests/qemumemlocktest.c
@@ -7,6 +7,8 @@
#include "testutils.h"
+#ifdef __linux__
+
#ifdef WITH_QEMU
# include "internal.h"
@@ -137,3 +139,10 @@ main(void)
}
#endif /* WITH_QEMU */
+#else
+int
+main(void)
+{
+ return EXIT_AM_SKIP;
+}
+#endif
diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c
index 1f0068864a..6f84812109 100644
--- a/tests/qemuxmlconftest.c
+++ b/tests/qemuxmlconftest.c
@@ -7,6 +7,8 @@
#include "testutils.h"
+#ifdef __linux__
+
#ifdef WITH_QEMU
# include "internal.h"
@@ -3051,3 +3053,10 @@ int main(void)
}
#endif /* WITH_QEMU */
+#else
+int
+main(void)
+{
+ return EXIT_AM_SKIP;
+}
+#endif
diff --git a/tests/virpcimock.c b/tests/virpcimock.c
index 5b923c63ce..2fa12903d2 100644
--- a/tests/virpcimock.c
+++ b/tests/virpcimock.c
@@ -22,7 +22,7 @@
#include "virpcivpdpriv.h"
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__APPLE__)
# define VIR_MOCK_LOOKUP_MAIN
# include "virmock.h"
# include "virpci.h"
@@ -42,6 +42,10 @@ static int (*real___open_2)(const char *path, int flags);
static int (*real_close)(int fd);
static DIR * (*real_opendir)(const char *name);
static char *(*real_virFileCanonicalizePath)(const char *path);
+static int (*real_scandir)(const char *restrict dirp,
+ struct dirent ***restrict namelist,
+ typeof(int(const struct dirent *)) *filter,
+ typeof(int(const struct dirent **, const struct dirent **)) *compar);
static char *fakerootdir;
@@ -955,6 +959,7 @@ init_syms(void)
VIR_MOCK_REAL_INIT(opendir);
# endif
VIR_MOCK_REAL_INIT(virFileCanonicalizePath);
+ VIR_MOCK_REAL_INIT(scandir);
}
static void
@@ -1172,6 +1177,20 @@ virFileCanonicalizePath(const char *path)
return real_virFileCanonicalizePath(newpath);
}
+int scandir(const char *restrict dirp, struct dirent ***restrict namelist,
+ typeof(int(const struct dirent *)) *filter,
+ typeof(int(const struct dirent **, const struct dirent **)) *compar)
+{
+ g_autofree char *newpath = NULL;
+
+ init_syms();
+
+ if (getrealpath(&newpath, dirp) < 0)
+ return -1;
+
+ return real_scandir(newpath, namelist, filter, compar);
+}
+
# include "virmockstathelpers.c"
#else
--
2.47.1
2
6
07 Mar '25
Pavel Hrdina (4):
util: virxml: introduce virXMLFormatElementDirect
conf: use virXMLFormatElementDirect
domain_conf: refactor virDomainLoaderDefFormatNvram
util: virxml: unexport virXMLFormatElementInternal
src/conf/domain_conf.c | 22 ++++++++++------------
src/conf/node_device_conf.c | 2 +-
src/libvirt_private.syms | 2 +-
src/util/virxml.c | 16 +++++++++++++++-
src/util/virxml.h | 13 ++++++-------
5 files changed, 33 insertions(+), 22 deletions(-)
--
2.48.1
2
7
[PATCH 0/1] nwfilter: Fix deadlock between nwfilter-list and VM startup/migration
by Dion Bosschieter 07 Mar '25
by Dion Bosschieter 07 Mar '25
07 Mar '25
A deadlock occurs when `nwfilterBindingCreateXML` and `nwfilterConnectListAllNWFilters`
acquire locks in an inconsistent order. This affects both incoming migrations and
VM startups (`virsh start`), where `nwfilterBindingCreateXML` needs `updateLock`,
while `nwfilter-list` first acquires `driverMutex` and then locks individual filters.
This patch resolves the deadlock by ensuring `nwfilterBindingCreateXML` acquires
`driverMutex` before `updateLock`, following the locking pattern used by other
functions like `undefine` `nwfilterStateReload`.
Added the use of `driverMutex` in `nwfilterBindingDelete` to maintain
consistent locking order, as suggested.
Fixes: https://gitlab.com/libvirt/libvirt/-/issues/680
Dion Bosschieter (1):
nwfilter: Fix deadlock between nwfilter-list and VM startup/migration
src/nwfilter/nwfilter_driver.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
--
2.39.3 (Apple Git-146)
3
3
Pavel Hrdina (16):
domain_conf: graphics: use a function to format gl element
domain_conf: graphics: use a function to format audio element
domain_conf: modernize graphics formatting
domain_conf: graphics: extract VNC formatting to separate function
domain_conf: graphics: extract SDL formatting to separate function
domain_conf: graphics: extract RDP formatting to separate function
domain_conf: graphics: extract Desktop formatting to separate function
domain_conf: graphics: extract Spice formatting to separate function
domain_conf: graphics: extract EGL-Headless formatting to separate
function
domain_conf: graphics: extract DBus formatting to separate function
domain_conf: graphics: extract listen formatting to separate function
domain_conf: graphics: move listens formatting to relevant graphics
types
domain_conf: graphics: move remaining spice formatting
domain_conf: graphics: move remaining VNC formatting
domain_conf: graphics: fix error messages when formatting XML
domain_conf: graphics: properly escape user provided strings when
formatting XML
src/conf/domain_conf.c | 724 +++++++++++++++++++++--------------------
1 file changed, 372 insertions(+), 352 deletions(-)
--
2.48.1
2
17
[libvirt] [PATCH] Fix python error reporting for some storage operations
by Cole Robinson 07 Mar '25
by Cole Robinson 07 Mar '25
07 Mar '25
In the python bindings, all vir* classes expect to be
passed a virConnect object when instantiated. Before
the storage stuff, these classes were only instantiated
in virConnect methods, so the generator is hardcoded to
pass 'self' as the connection instance to these classes.
Problem is there are some methods that return pool or vol
instances which aren't called from virConnect: you can
lookup a storage volume's associated pool, and can lookup
volumes from a pool. In these cases passing 'self' doesn't
give the vir* instance a connection, so when it comes time
to raise an exception crap hits the fan.
Rather than rework the generator to accomodate this edge
case, I just fixed the init functions for virStorage* to
pull the associated connection out of the passed value
if it's not a virConnect instance.
Thanks,
Cole
diff --git a/python/generator.py b/python/generator.py
index 01a17da..c706b19 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -962,8 +962,12 @@ def buildWrappers():
list = reference_keepers[classname]
for ref in list:
classes.write(" self.%s = None\n" % ref[1])
- if classname in [ "virDomain", "virNetwork", "virStoragePool", "virStorageVol" ]:
+ if classname in [ "virDomain", "virNetwork" ]:
classes.write(" self._conn = conn\n")
+ elif classname in [ "virStorageVol", "virStoragePool" ]:
+ classes.write(" self._conn = conn\n" + \
+ " if not isinstance(conn, virConnect):\n" + \
+ " self._conn = conn._conn\n")
classes.write(" if _obj != None:self._o = _obj;return\n")
classes.write(" self._o = None\n\n");
destruct=None
4
3
[PATCH RFC] util: pick a better runtime directory when XDG_RUNTIME_DIR isn't set
by Laine Stump 06 Mar '25
by Laine Stump 06 Mar '25
06 Mar '25
======
I'm sending this as an RFC just because what it's doing feels kind of
dirty - directly examining XDG_RUNTIME_DIR seems like an "end run"
around the Glib API. If anyone has a better idea of what to do, please
give details :-)
======
When running unprivileged (i.e. not as root, but as a regular user),
libvirt calls g_get_user_runtime_dir() (from Glib) to get the name of
a directory where status files can be saved. This is a directory that
is 1) writeable by the current user, and 2) will remain there until
the host reboots, but then 3) be erased after the reboot. This is used
for pidfiles, sockets created to communicate between processes, status
XML of active domains, etc.
Normally g_get_user_runtime_dir() returns the setting of
XDG_RUNTIME_DIR in the user's environment; usually this is set to
/run/user/${UID} (e.g. /run/user/1000) - that directory is created
when a user first logs in and is owned by the user, but is cleared out
when the system reboots (more specifically, this directory usually
resides in a tmpfs, and so disappears when that tmpfs is unmounted).
But sometimes XDG_RUNTIME_DIR isn't set in the user's environment. In
that case, g_get_user_runtime_dir() returns ${HOME}/.config
(e.g. /home/laine/.config). This directory fulfills the first 2
criteria above, but fails the 3rd. This isn't just some pedantic
complaint - libvirt actually depends on the directory being cleared
out during a reboot - otherwise it might think that stale status files
are indicating active guests when in fact the guests were shutdown
during the reboot).
In my opinion this behavior is a bug in Glib - see the requirements
for XDG_RUNTIME in the FreeDesktop documentation here:
https://specifications.freedesktop.org/basedir-spec/latest/#variables
but they've documented the behavior as proper in the Glib docs for
g_get_user_runtime_dir(), and so likely will consider it not a bug.
Beyond that, aside from failing the "must be cleared out during a reboot"
requirement, use of $HOME/.cache in this way also disturbs SELinux,
which gives an AVC denial when libvirt (or passt) tries to create a
file or socket in that directory (the SELinux policy permits use of
/run/user/$UID, but not of $HOME/.config). We *could* add that to the
SELinux policy, but since the glib behavior doesn't
All of the above is a very long leadup to the functionality in this
patch: rather than blindly accepting the path returned from
g_get_user_runtime_dir(), we first check if XDG_RUNTIME_DIR is set; if
it isn't set then we look to see if /run/user/$UID exists and is
writable by this user, if so we use *that* as the directory for our
status files. Otherwise (both when XDG_RUNTIME_DIR is set, and when
/run/user/$UID isn't usable) we fallback to just using the path
returned by g_get_user_runtime_dir() - that isn't perfect, but it's
what we were doing before, so at least it's not any worse.
Resolves: https://issues.redhat.com/browse/RHEL-70222
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/util/virutil.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/src/util/virutil.c b/src/util/virutil.c
index 2abcb282fe..4c7f4b62bc 100644
--- a/src/util/virutil.c
+++ b/src/util/virutil.c
@@ -538,6 +538,28 @@ char *virGetUserRuntimeDirectory(void)
#ifdef WIN32
return g_strdup(g_get_user_runtime_dir());
#else
+ /* tl;dr - if XDG_RUNTIME_DIR is set, use g_get_user_runtime_dir().
+ * if not set, then see if /run/user/$UID works
+ * if so, use that, else fallback to g_get_user_runtime_dir()
+ *
+ * this is done because the directory returned by
+ * g_get_user_runtime_dir() when XDG_RUNTIME_DIR isn't set is
+ * "suboptimal" (it's a location that is owned by the user, but
+ * isn't erased when the user completely logs out)
+ */
+
+ if (!getenv("XDG_RUNTIME_DIR")) {
+ g_autofree char *runtime_dir = NULL;
+ struct stat sb;
+
+ runtime_dir = g_strdup_printf("/run/user/%d", getuid());
+ if (virFileIsDir(runtime_dir) &&
+ (stat(runtime_dir, &sb) == 0) && (sb.st_mode & S_IWUSR)) {
+ return g_build_filename(runtime_dir, "libvirt", NULL);
+ }
+ }
+
+ /* either XDG_RUNTIME_DIR was set, or /run/usr/$UID wasn't writable */
return g_build_filename(g_get_user_runtime_dir(), "libvirt", NULL);
#endif
}
--
2.47.1
4
12
[PATCH] qemu: snapshot: Remove dead code in qemuSnapshotDeleteBlockJobFinishing()
by Alexander Kuznetsov 06 Mar '25
by Alexander Kuznetsov 06 Mar '25
06 Mar '25
qemuSnapshotDeleteBlockJobFinishing() returns only 0 and 1. Convert it
to bool and remove the dead code handling -1 return in the caller.
Found by Linux Verification Center (linuxtesting.org) with Svace.
Reported-by: Reported-by: Andrey Slepykh <a.slepykh(a)fobos-nt.ru>
Signed-off-by: Alexander Kuznetsov <kuznetsovam(a)altlinux.org>
---
src/qemu/qemu_snapshot.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 80cd54bf33..d277f76b4b 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -3465,7 +3465,7 @@ qemuSnapshotDeleteBlockJobIsRunning(qemuBlockjobState state)
/* When finishing or aborting qemu blockjob we only need to know if the
* job is still active or not. */
-static int
+static bool
qemuSnapshotDeleteBlockJobIsActive(qemuBlockjobState state)
{
switch (state) {
@@ -3475,7 +3475,7 @@ qemuSnapshotDeleteBlockJobIsActive(qemuBlockjobState state)
case QEMU_BLOCKJOB_STATE_ABORTING:
case QEMU_BLOCKJOB_STATE_PENDING:
case QEMU_BLOCKJOB_STATE_PIVOTING:
- return 1;
+ return true;
case QEMU_BLOCKJOB_STATE_COMPLETED:
case QEMU_BLOCKJOB_STATE_FAILED:
@@ -3485,7 +3485,7 @@ qemuSnapshotDeleteBlockJobIsActive(qemuBlockjobState state)
break;
}
- return 0;
+ return false;
}
@@ -3513,18 +3513,14 @@ static int
qemuSnapshotDeleteBlockJobFinishing(virDomainObj *vm,
qemuBlockJobData *job)
{
- int rc;
qemuBlockJobUpdate(vm, job, VIR_ASYNC_JOB_SNAPSHOT);
- while ((rc = qemuSnapshotDeleteBlockJobIsActive(job->state)) > 0) {
+ while (qemuSnapshotDeleteBlockJobIsActive(job->state)) {
if (qemuDomainObjWait(vm) < 0)
return -1;
qemuBlockJobUpdate(vm, job, VIR_ASYNC_JOB_SNAPSHOT);
}
- if (rc < 0)
- return -1;
-
return 0;
}
--
2.42.4
2
2
06 Mar '25
*** BLURB HERE ***
Kirill Shchetiniuk (2):
ch: memory (segmentation fault) fix
ch: preserve last error before stop fix
src/ch/ch_events.c | 6 +++---
src/ch/ch_process.c | 6 ++++++
2 files changed, 9 insertions(+), 3 deletions(-)
--
2.48.1
3
5
[PATCH pushed] domain_caps: Don't leak 'cpu0_id' in 'virSEVCapabilitiesFree'
by Peter Krempa 06 Mar '25
by Peter Krempa 06 Mar '25
06 Mar '25
Freeing the 'virSEVCapability' object leaked the 'cpu0_id' field since
its introduction.
Fixes: 0236e6154c46603bc443eda2f05c8ce511c55b08
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
Trivial and fixed build.
src/conf/domain_capabilities.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index ab715b19d8..27551f6102 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -75,6 +75,7 @@ virSEVCapabilitiesFree(virSEVCapability *cap)
g_free(cap->pdh);
g_free(cap->cert_chain);
+ g_free(cap->cpu0_id);
g_free(cap);
}
--
2.48.1
1
0
This was triggered by a request by KubeVirt in
https://gitlab.com/libvirt/libvirt/-/issues/748
I've not functionally tested this, since I lack any suitable guest
windows environment this is looking for MSDM tables, nor does my
machine have MSDM ACPI tables to pass to a guest.
I'm blindly assuming that the QEMU CLI code is identical except for
s/SLIC/MSDM/.
In this 2nd version I've addressed two further issues
* the xen driver was incorrectly mapping its 'acpi_firmware'
option to type=slic. Xen's setting accepts a concatenation
of tables of any type. This is different from type=slic
which represents a single table, whose type will be forced
to 'SLIC' if not already set. To address this we introduce
a new 'rawset' type
* The QEMU driver does not require a type to be set in the
first place; if set it merely overrides what is in the
data file. Supporting this would let us handle any ACPI
table type without further XML changes. To address this
we introduce a new 'raw' type, which can occur many
times.
Daniel P. Berrangé (7):
conf: introduce support for multiple ACPI tables
src: validate permitted ACPI table types in libxl/qemu drivers
src: introduce 'raw' and 'rawset' ACPI table types
qemu: support 'raw' ACPI table type
libxl: support 'rawset' ACPI table type
conf: support MSDM ACPI table type
qemu: support MSDM ACPI table type
docs/formatdomain.rst | 23 ++++-
src/conf/domain_conf.c | 94 ++++++++++++++-----
src/conf/domain_conf.h | 24 ++++-
src/conf/schemas/domaincommon.rng | 7 +-
src/libvirt_private.syms | 2 +
src/libxl/libxl_conf.c | 5 +-
src/libxl/libxl_domain.c | 28 ++++++
src/libxl/xen_xl.c | 15 ++-
src/qemu/qemu_command.c | 18 +++-
src/qemu/qemu_validate.c | 23 +++++
src/security/security_dac.c | 18 ++--
src/security/security_selinux.c | 16 ++--
src/security/virt-aa-helper.c | 5 +-
.../acpi-table-many.x86_64-latest.args | 37 ++++++++
.../acpi-table-many.x86_64-latest.xml | 42 +++++++++
tests/qemuxmlconfdata/acpi-table-many.xml | 34 +++++++
tests/qemuxmlconftest.c | 1 +
.../xlconfigdata/test-fullvirt-acpi-slic.xml | 2 +-
18 files changed, 337 insertions(+), 57 deletions(-)
create mode 100644 tests/qemuxmlconfdata/acpi-table-many.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/acpi-table-many.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/acpi-table-many.xml
--
2.47.1
2
9
Fix a typo and update the setting in the example. The documentation
explains that "when passt is the backend,...the ``<source>``
path/type/mode are all implied to be "matching the passt process"
so **must not** be specified." Additionally, this source dev setting is
ignored in practice. Therefore, let's remove it from the example to avoid any
confusion.
Signed-off-by: Yalan Zhang <yalzhang(a)redhat.com>
---
docs/formatdomain.rst | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index cbe378e61d..e84e0a0e8e 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -5154,7 +5154,7 @@ destined for the host toward the guest instead), and a socket between
passt and QEMU forwards that traffic on to the guest (and back out,
of course).
-*(:since:`Since 11.1.0 (QEMU and KVM only)` you may prefer to use the
+:since:`Since 11.1.0 (QEMU and KVM only)` you may prefer to use the
passt backend with the more efficient and performant type='vhostuser'
rather than type='user'. All the options related to passt in the
paragraphs below here also apply when using the passt backend with
@@ -6378,7 +6378,6 @@ setting guest-side IP addresses with ``<ip>`` and port forwarding with
<interface type='vhostuser'>
<backend type='passt'/>
<mac address='52:54:00:3b:83:1a'/>
- <source dev='enp1s0'/>
<ip address='10.30.0.5 prefix='24'/>
</interface>
</devices>
--
2.48.1
3
4
*** BLURB HERE ***
Michal Prívozník (5):
conf: Introduce os/shim element
qemu_capabilities: Introduce QEMU_CAPS_MACHINE_SHIM
qemu_validate: Check whether UEFI shim is supported
qemu_command: Generate cmd line for UEFI shim
security: Set seclabels on UEFI shim
docs/formatdomain.rst | 5 +++++
src/conf/domain_conf.c | 12 ++++++++----
src/conf/domain_conf.h | 1 +
src/conf/domain_validate.c | 6 ++++++
src/conf/schemas/domaincommon.rng | 5 +++++
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 2 ++
src/qemu/qemu_validate.c | 7 +++++++
src/security/security_dac.c | 10 ++++++++++
src/security/security_selinux.c | 9 +++++++++
src/security/virt-aa-helper.c | 4 ++++
tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 1 +
.../launch-security-sev-direct.x86_64-latest.args | 1 +
.../launch-security-sev-direct.x86_64-latest.xml | 1 +
tests/qemuxmlconfdata/launch-security-sev-direct.xml | 1 +
17 files changed, 65 insertions(+), 4 deletions(-)
--
2.45.3
2
6
[PATCH 0/8] qemu: Follow-up to "schemas: domaincaps: Add missing schema for '<cpu0Id>'"
by Peter Krempa 04 Mar '25
by Peter Krempa 04 Mar '25
04 Mar '25
As promised in the original patch fixing the schema this is the
test-case follow up.
As not entirely expected it's a bit more involved and also contains
fixes for other bugs.
Peter Krempa (8):
qemu: capabilities: Parse 'cpu0Id' from capability cache XML
domaincapstest: Use proper input file based on 'variant' in
'fillQemuCaps'
domaincapstest: Allow tests of all capability variants
qemucapabilitiesdata: Document '+amdsev' variant
qemucapabilitiestest: Add test data for 'qemu-9.2' on a SEV-enabled
AMD host
qemuxmlconftest: Propery discriminate output files for caps variants
qemuxmlconftest: Add 'latest' version of 'launch-security-sev*'
originally using 6.0.0
qemuxmlconftest: Add '+amdsev' versions of the rest of
'launch-security-sev*' cases
src/qemu/qemu_capabilities.c | 1 +
.../qemu_7.0.0-hvf.aarch64+hvf.xml | 43 +-
.../qemu_7.2.0-hvf.x86_64+hvf.xml | 952 +-
.../qemu_9.2.0-q35.x86_64+amdsev.xml | 852 +
.../qemu_9.2.0-tcg.x86_64+amdsev.xml | 1821 +
.../qemu_9.2.0.x86_64+amdsev.xml | 852 +
tests/domaincapstest.c | 21 +-
tests/qemucapabilitiesdata/README.rst | 4 +
.../caps_9.2.0_x86_64+amdsev.replies | 43857 ++++++++++++++++
.../caps_9.2.0_x86_64+amdsev.xml | 3132 ++
.../caps.x86_64+amdsev.xml | 29 +
...h64-virt-headless.aarch64-latest+hvf.args} | 0
...ch64-virt-headless.aarch64-latest+hvf.xml} | 0
...86_64-q35-headless.x86_64-latest+hvf.args} | 0
...x86_64-q35-headless.x86_64-latest+hvf.xml} | 0
...urity-sev-direct.x86_64-latest+amdsev.args | 38 +
...curity-sev-direct.x86_64-latest+amdsev.xml | 48 +
...ng-platform-info.x86_64-latest+amdsev.args | 35 +
...ing-platform-info.x86_64-latest+amdsev.xml | 43 +
...security-sev-snp.x86_64-latest+amdsev.args | 42 +
...-security-sev-snp.x86_64-latest+amdsev.xml | 73 +
...nch-security-sev.x86_64-latest+amdsev.args | 35 +
...unch-security-sev.x86_64-latest+amdsev.xml | 45 +
tests/qemuxmlconftest.c | 40 +-
tests/testutilsqemu.c | 6 +-
25 files changed, 51941 insertions(+), 28 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_9.2.0-q35.x86_64+amdsev.xml
create mode 100644 tests/domaincapsdata/qemu_9.2.0-tcg.x86_64+amdsev.xml
create mode 100644 tests/domaincapsdata/qemu_9.2.0.x86_64+amdsev.xml
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_x86_64+amdsev.xml
create mode 100644 tests/qemucaps2xmloutdata/caps.x86_64+amdsev.xml
rename tests/qemuxmlconfdata/{hvf-aarch64-virt-headless.aarch64-latest.args => hvf-aarch64-virt-headless.aarch64-latest+hvf.args} (100%)
rename tests/qemuxmlconfdata/{hvf-aarch64-virt-headless.aarch64-latest.xml => hvf-aarch64-virt-headless.aarch64-latest+hvf.xml} (100%)
rename tests/qemuxmlconfdata/{hvf-x86_64-q35-headless.x86_64-latest.args => hvf-x86_64-q35-headless.x86_64-latest+hvf.args} (100%)
rename tests/qemuxmlconfdata/{hvf-x86_64-q35-headless.x86_64-latest.xml => hvf-x86_64-q35-headless.x86_64-latest+hvf.xml} (100%)
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-direct.x86_64-latest+amdsev.args
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-direct.x86_64-latest+amdsev.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-latest+amdsev.args
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-latest+amdsev.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-snp.x86_64-latest+amdsev.args
create mode 100644 tests/qemuxmlconfdata/launch-security-sev-snp.x86_64-latest+amdsev.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-latest+amdsev.args
create mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-latest+amdsev.xml
--
2.48.1
2
9
04 Mar '25
Commit af1b89d1d for some reason changed a perfectly fine statement to
one that I could not understand. Let's revert it.
Signed-off-by: Cleber Rosa <crosa(a)redhat.com>
---
docs/api.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/api.rst b/docs/api.rst
index cdba642967..243303de68 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -26,7 +26,7 @@ name will default to a preselected hypervisor, but it's probably not a
wise thing to do in most cases. See the `connection URI <uri.html>`__
page for a full descriptions of the values allowed.
-OnDevice the application obtains a
+Once the application obtains a
`virConnectPtr <html/libvirt-libvirt-host.html#virConnectPtr>`__
connection to the hypervisor it can then use it to manage the
hypervisor's available domains and related virtualization resources,
--
2.48.1
2
1
03 Mar '25
Fixes: 0236e6154c46603bc443eda2f05c8ce511c55b08
Resolves: https://issues.redhat.com/browse/RHEL-81890
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
I'll also attempt to add tests for this once I'll be able to get to a
capability dump from a sev-es enabled box.
src/conf/schemas/domaincaps.rng | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.rng
index 3559d2ae05..595dbcd634 100644
--- a/src/conf/schemas/domaincaps.rng
+++ b/src/conf/schemas/domaincaps.rng
@@ -438,6 +438,11 @@
<data type="unsignedInt"/>
</element>
</optional>
+ <optional>
+ <element name="cpu0Id">
+ <data type="string"/>
+ </element>
+ </optional>
</element>
</define>
--
2.48.1
2
1
03 Mar '25
In case when user provides custom paths (those not covered by the JSON
firmware descriptor files or the default locations) for the
loader and nvram template no auto-detection will be performed and user's
config will be taken at face value. Historically when 'templateFormat'
didn't exist we assumed that the 'format' field covers both.
Thus if 'templateFormat' is VIR_STORAGE_FILE_NONE we need to skip the
check forbidding image format conversion for 'file' backed to avoid
breaking legacy configs with manual/non-detected format assuming that
user picked the correct format.
Add a comment to the declaration of 'nvramTemplateFormat' noting the
above for future reference.
Resolves: https://issues.redhat.com/browse/RHEL-81731
Fixes: 2aa644a2fc8
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/domain_conf.h | 7 +++++++
src/qemu/qemu_process.c | 5 ++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index d4fa79cb84..1fcc3fdb98 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2362,6 +2362,13 @@ struct _virDomainLoaderDef {
virStorageSource *nvram;
bool newStyleNVRAM;
char *nvramTemplate; /* user override of path to master nvram */
+ /* Historically it was assumed that the format of the template and the
+ * actual nvram image are identical, which is no longer true.
+ *
+ * Note: if 'nvramTemplate' comes from the user and is not overriden by
+ * auto-detection nvramTemplateFormat may be VIR_STORAGE_FILE_NONE. Code
+ * shall assume that the template format matches if it isn't provided.
+ */
virStorageFileFormat nvramTemplateFormat;
};
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 0d9b8bcb93..7b7b5c17e3 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4709,7 +4709,10 @@ qemuPrepareNVRAMFile(virQEMUDriver *driver,
return -1;
}
- if (loader->nvram->format != loader->nvramTemplateFormat) {
+ /* If 'nvramTemplateFormat' is empty it means that it's a user-provided
+ * template which we couldn't verify. Assume the user knows what they're doing */
+ if (loader->nvramTemplateFormat != VIR_STORAGE_FILE_NONE &&
+ loader->nvram->format != loader->nvramTemplateFormat) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("conversion of the nvram template to another target format is not supported"));
return -1;
--
2.48.1
2
1
The 11.1.0 release of both libvirt and libvirt-python is tagged and
signed tarballs are available at
https://download.libvirt.org/
https://download.libvirt.org/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Packaging changes
* De-modularize the 'fs' storage file backend
The storage file backend for local files uses only code which we compile
into the internal libraries anyways so there's no point in having it
as a loadable module. The ``storage-file/libvirt_storage_file_fs.so`` module
no longer exists and its functionality is embedded directly.
* Removed features
* vbox: removed support for version 6.1 APIs
Libvirt no longer supports use of VirtualBox 6.1 since this version reached
its end of life on 2024/01.
* New features
* nodedev: Support ccwgroup based qeth devices
CCW group devices are devices that use multiple subchannels on the
mainframe's channel subsystem. A qeth group device maps to subchannels and
their corresponding device numbers and device bus-IDs. The ``ccwgroup``
device nodes are placed besides the subchannel nodes under computer and list
the group members within a new ``ccwgroup`` capability. A new capability
``ccwgroup_member`` is added into capability ``ccw`` to represent a device
membership to a ccwgroup. Filters are added to find ccwgroups as well as
ccwgroup members.
* ch: Support handling events from cloud-hypervisor
The ch driver now supports handling events from the cloud-hypervisor.
Events include VM lifecyle operations such as shutdown, pause, resume,
etc. Libvirt will now read these events and take actions such as
updating domain state, etc.
* Introduce virtio-mem ``<memory/>`` model for s390 guests
The virtio-mem model of ``<memory/>`` device can now be used with s390
guests.
* Support using passt as the backend for interface type='vhostuser'
The combination of vhostuser transport with passt as the backend
provides high performance, fully featured networking without the
need for libvirt or QEMU to have any elevated privileges or
capabilities. Configuration and features are identical to the
configuration for type='user' with the passt backend.
* Improvements
* qemu: I/O error messages can be queried via ``virDomainGetMessages()``
The qemu hypervisor driver now preserves the last I/O error message along
with the timestamp when it was recorded and preserves it to be queried via
``virDomainGetMessages()``.
* Bug fixes
* tools: ssh-proxy: Check if domain is running before connecting to it
If domain is not running but has a static CID configured for its VSOCK then
the ssh-proxy parsed it anyways. This may have resulted in mistakenly
connecting to a different domain. Domain status is checked before parsing
its CID.
* apparmor: Allow SGX if configured
If domain has ``<memory model='sgx-epc'\>`` configured then libvirt now
adds corresponding devices into a per-domain profile so that AppArmor does
not deny QEMU access to them.
* qemu: Fix crash when starting a domain on a host with unknown host CPU
On hosts where we cannot detect a host CPU model (mostly aarch64 hosts)
starting a domain with a custom CPU model caused a crash of virtqemud.
The bug was introduced in libvirt-10.9.0
Enjoy.
Jirka
1
0
01 Mar '25
This patch series adds support for configuring the PCI high memory MMIO
window size for aarch64 virt machine types. This feature has been merged
into the QEMU upstream staging branch [1] and will be available in QEMU 10.0.
It allows users to configure the size of the high memory MMIO window above
4GB, which is particularly useful for systems with large amounts of PCI
memory requirements.
The feature is exposed through the domain XML as a new PCI feature:
<features>
<pci>
<highmem-mmio-size unit='G'>512</highmem-mmio-size>
</pci>
</features>
When enabled, this configures the size of the PCI high memory MMIO window
via QEMU's highmem-mmio-size machine property. The feature is only
available for aarch64 virt machine types and requires QEMU support.
This series depends on [2] and should be applied on top of those patches.
For your convenience, this series is also available on Github [3].
[1] https://lore.kernel.org/qemu-devel/20250221145419.1281890-1-mochs@nvidia.co…
[2] https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/Z4NQ…
[3] git fetch https://github.com/nvmochs/libvirt.git pci_highmem_mmio_size
Signed-off-by: Matthew R. Ochs <mochs(a)nvidia.com>
Matthew R. Ochs (6):
domain: Add PCI configuration feature infrastructure
schema: Add PCI configuration feature schema
conf: Add PCI configuration XML parsing and formatting
qemu: Add capability for PCI high memory MMIO size
qemu: Add command line support for PCI high memory MMIO size
tests: Add tests for machine PCI features
src/conf/domain_conf.c | 103 ++++++++++++++++++
src/conf/domain_conf.h | 6 +
src/conf/schemas/domaincommon.rng | 9 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 6 +
src/qemu/qemu_validate.c | 15 +++
.../caps_10.0.0_aarch64.replies | 10 ++
.../caps_10.0.0_aarch64.xml | 1 +
...rch64-virt-machine-pci.aarch64-latest.args | 31 ++++++
...arch64-virt-machine-pci.aarch64-latest.xml | 30 +++++
.../aarch64-virt-machine-pci.xml | 20 ++++
tests/qemuxmlconftest.c | 2 +
13 files changed, 236 insertions(+)
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.args
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.xml
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.xml
--
2.46.0
1
6
[PATCH] virDomainHostdevDefNew: update users not to check return value
by Roman Bogorodskiy 28 Feb '25
by Roman Bogorodskiy 28 Feb '25
28 Feb '25
virDomainHostdevDefNew() has been using g_new0() for a while now. As it
calls abort() on OOM, it's not necessary to check whether
the return value is NULL.
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
src/conf/domain_conf.c | 3 +--
src/libxl/xen_common.c | 4 +---
src/libxl/xen_xl.c | 4 +---
src/lxc/lxc_native.c | 4 ----
src/vbox/vbox_common.c | 12 +-----------
5 files changed, 4 insertions(+), 23 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5630a469be..d4ce85b3a1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -13316,8 +13316,7 @@ virDomainHostdevDefParseXML(virDomainXMLOption *xmlopt,
ctxt->node = node;
- if (!(def = virDomainHostdevDefNew()))
- goto error;
+ def = virDomainHostdevDefNew();
if (virXMLPropEnumDefault(node, "mode", virDomainHostdevModeTypeFromString,
VIR_XML_PROP_NONE,
diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
index b7ec552631..cbcdbf5a00 100644
--- a/src/libxl/xen_common.c
+++ b/src/libxl/xen_common.c
@@ -445,9 +445,7 @@ xenParsePCI(char *entry)
}
}
- if (!(hostdev = virDomainHostdevDefNew()))
- return NULL;
-
+ hostdev = virDomainHostdevDefNew();
hostdev->managed = false;
hostdev->writeFiltering = filtered;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c
index 53f6871efc..482b151666 100644
--- a/src/libxl/xen_xl.c
+++ b/src/libxl/xen_xl.c
@@ -924,9 +924,7 @@ xenParseXLUSB(virConf *conf, virDomainDef *def)
key = nextkey;
}
- if (!(hostdev = virDomainHostdevDefNew()))
- return -1;
-
+ hostdev = virDomainHostdevDefNew();
hostdev->managed = false;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB;
hostdev->source.subsys.u.usb.bus = busNum;
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index c0011e0600..7700804429 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -377,10 +377,6 @@ static virDomainHostdevDef *
lxcCreateHostdevDef(const char *data)
{
virDomainHostdevDef *hostdev = virDomainHostdevDefNew();
-
- if (!hostdev)
- return NULL;
-
hostdev->mode = VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES;
hostdev->source.caps.type = VIR_DOMAIN_HOSTDEV_CAPS_TYPE_NET;
hostdev->source.caps.u.net.ifname = g_strdup(data);
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index de3c9989a5..2121d7e2d1 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -3087,11 +3087,8 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
/* Alloc mem needed for the filters now */
def->hostdevs = g_new0(virDomainHostdevDef *, def->nhostdevs);
- for (i = 0; i < def->nhostdevs; i++) {
+ for (i = 0; i < def->nhostdevs; i++)
def->hostdevs[i] = virDomainHostdevDefNew();
- if (!def->hostdevs[i])
- goto release_hostdevs;
- }
for (i = 0; i < deviceFilters.count; i++) {
PRBool active = PR_FALSE;
@@ -3138,13 +3135,6 @@ vboxHostDeviceGetXMLDesc(struct _vboxDriver *data, virDomainDef *def, IMachine *
gVBoxAPI.UArray.vboxArrayRelease(&deviceFilters);
VBOX_RELEASE(USBCommon);
return;
-
- release_hostdevs:
- for (i = 0; i < def->nhostdevs; i++)
- virDomainHostdevDefFree(def->hostdevs[i]);
- VIR_FREE(def->hostdevs);
-
- goto release_filters;
}
--
2.47.1
2
1
- This test was added to check the xml used to launch the VM
for Arm CCA support.
This test was created using the method described in the
documentation.
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
.../launch-security-cca.aarch64-latest.args | 30 +++++++++++++++++++
.../launch-security-cca.aarch64-latest.xml | 24 +++++++++++++++
tests/qemuxmlconfdata/launch-security-cca.xml | 16 ++++++++++
tests/qemuxmlconftest.c | 2 ++
4 files changed, 72 insertions(+)
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.args
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.xml
diff --git a/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.args b/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.args
new file mode 100644
index 0000000000..ea8c46735b
--- /dev/null
+++ b/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.args
@@ -0,0 +1,30 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-cca_test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-cca_test/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-cca_test/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-cca_test/.config \
+/usr/bin/qemu-system-aarch64 \
+-name guest=cca_test,debug-threads=on \
+-S \
+-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-cca_test/master-key.aes"}' \
+-machine virt,usb=off,gic-version=3,dump-guest-core=off,memory-backend=mach-virt.ram,confidential-guest-support=rme0,acpi=off \
+-accel kvm \
+-m size=219136k \
+-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":224395264}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 00010203-0405-4607-8809-0a0b0c0d0e0f \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-object '{"qom-type":"rme-guest","id":"rme0","measurement-algorithm":"sha256"}' \
+-msg timestamp=on
diff --git a/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.xml b/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.xml
new file mode 100644
index 0000000000..382313472b
--- /dev/null
+++ b/tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.xml
@@ -0,0 +1,24 @@
+<domain type='kvm'>
+ <name>cca_test</name>
+ <uuid>00010203-0405-4607-8809-0a0b0c0d0e0f</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='aarch64' machine='virt'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <gic version='3'/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-aarch64</emulator>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <audio id='1' type='none'/>
+ </devices>
+ <launchSecurity type='cca'/>
+</domain>
diff --git a/tests/qemuxmlconfdata/launch-security-cca.xml b/tests/qemuxmlconfdata/launch-security-cca.xml
new file mode 100644
index 0000000000..dccd67f8a5
--- /dev/null
+++ b/tests/qemuxmlconfdata/launch-security-cca.xml
@@ -0,0 +1,16 @@
+<domain type='kvm'>
+ <name>cca_test</name>
+ <uuid>00010203-0405-4607-8809-0a0b0c0d0e0f</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='aarch64' machine='virt'>hvm</type>
+ </os>
+ <devices>
+ <emulator>/usr/bin/qemu-system-aarch64</emulator>
+ </devices>
+ <launchSecurity type='cca'>
+ <measurement-algo>sha256</measurement-algo>
+ </launchSecurity>
+</domain>
diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c
index 6a46bfc7a3..babe658359 100644
--- a/tests/qemuxmlconftest.c
+++ b/tests/qemuxmlconftest.c
@@ -2877,6 +2877,8 @@ mymain(void)
DO_TEST_CAPS_ARCH_LATEST("launch-security-s390-pv", "s390x");
+ DO_TEST_CAPS_ARCH_LATEST("launch-security-cca", "aarch64");
+
DO_TEST_CAPS_LATEST("vhost-user-fs-fd-memory");
DO_TEST_CAPS_LATEST("vhost-user-fs-fd-openfiles");
DO_TEST_CAPS_LATEST("vhost-user-fs-hugepages");
--
2.34.1
1
0
- This test was added to check domain capabilities for Arm
CCA support.
This test was created using the method described in the
documentation.
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
.../qemu_9.1.0-virt.aarch64.xml | 243 ++++++++++++++++++
tests/domaincapsdata/qemu_9.1.0.aarch64.xml | 243 ++++++++++++++++++
2 files changed, 486 insertions(+)
create mode 100644 tests/domaincapsdata/qemu_9.1.0-virt.aarch64.xml
create mode 100644 tests/domaincapsdata/qemu_9.1.0.aarch64.xml
diff --git a/tests/domaincapsdata/qemu_9.1.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_9.1.0-virt.aarch64.xml
new file mode 100644
index 0000000000..6c1ec1734a
--- /dev/null
+++ b/tests/domaincapsdata/qemu_9.1.0-virt.aarch64.xml
@@ -0,0 +1,243 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-aarch64</path>
+ <domain>kvm</domain>
+ <machine>virt-9.2</machine>
+ <arch>aarch64</arch>
+ <vcpu max='512'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/obviously/fake/firmware1.fd</value>
+ <value>/obviously/fake/firmware2.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>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='no'/>
+ <mode name='custom' supported='yes'>
+ <model usable='unknown' vendor='unknown'>a64fx</model>
+ <model usable='unknown' vendor='unknown'>arm1026</model>
+ <model usable='unknown' vendor='unknown'>arm1136</model>
+ <model usable='unknown' vendor='unknown'>arm1136-r2</model>
+ <model usable='unknown' vendor='unknown'>arm1176</model>
+ <model usable='unknown' vendor='unknown'>arm11mpcore</model>
+ <model usable='unknown' vendor='unknown'>arm926</model>
+ <model usable='unknown' vendor='unknown'>arm946</model>
+ <model usable='unknown' vendor='unknown'>cortex-a15</model>
+ <model usable='unknown' vendor='unknown'>cortex-a35</model>
+ <model usable='unknown' vendor='unknown'>cortex-a53</model>
+ <model usable='unknown' vendor='unknown'>cortex-a55</model>
+ <model usable='unknown' vendor='unknown'>cortex-a57</model>
+ <model usable='unknown' vendor='unknown'>cortex-a7</model>
+ <model usable='unknown' vendor='unknown'>cortex-a710</model>
+ <model usable='unknown' vendor='unknown'>cortex-a72</model>
+ <model usable='unknown' vendor='unknown'>cortex-a76</model>
+ <model usable='unknown' vendor='unknown'>cortex-a8</model>
+ <model usable='unknown' vendor='unknown'>cortex-a9</model>
+ <model usable='unknown' vendor='unknown'>cortex-m0</model>
+ <model usable='unknown' vendor='unknown'>cortex-m3</model>
+ <model usable='unknown' vendor='unknown'>cortex-m33</model>
+ <model usable='unknown' vendor='unknown'>cortex-m4</model>
+ <model usable='unknown' vendor='unknown'>cortex-m55</model>
+ <model usable='unknown' vendor='unknown'>cortex-m7</model>
+ <model usable='unknown' vendor='unknown'>cortex-r5</model>
+ <model usable='unknown' vendor='unknown'>cortex-r52</model>
+ <model usable='unknown' vendor='unknown'>cortex-r5f</model>
+ <model usable='unknown' vendor='unknown'>max</model>
+ <model usable='unknown' vendor='unknown'>neoverse-n1</model>
+ <model usable='unknown' vendor='unknown'>neoverse-n2</model>
+ <model usable='unknown' vendor='unknown'>neoverse-v1</model>
+ <model usable='unknown' vendor='unknown'>pxa250</model>
+ <model usable='unknown' vendor='unknown'>pxa255</model>
+ <model usable='unknown' vendor='unknown'>pxa260</model>
+ <model usable='unknown' vendor='unknown'>pxa261</model>
+ <model usable='unknown' vendor='unknown'>pxa262</model>
+ <model usable='unknown' vendor='unknown'>pxa270</model>
+ <model usable='unknown' vendor='unknown'>pxa270-a0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-a1</model>
+ <model usable='unknown' vendor='unknown'>pxa270-b0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-b1</model>
+ <model usable='unknown' vendor='unknown'>pxa270-c0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-c5</model>
+ <model usable='unknown' vendor='unknown'>sa1100</model>
+ <model usable='unknown' vendor='unknown'>sa1110</model>
+ <model usable='unknown' vendor='unknown'>ti925t</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>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</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>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ <value>external</value>
+ </enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
+ </tpm>
+ <redirdev supported='no'/>
+ <channel supported='yes'>
+ <enum name='type'>
+ <value>pty</value>
+ <value>unix</value>
+ </enum>
+ </channel>
+ <crypto supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ </enum>
+ <enum name='type'>
+ <value>qemu</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>builtin</value>
+ </enum>
+ </crypto>
+ <interface supported='yes'>
+ <enum name='backendType'>
+ <value>default</value>
+ <value>passt</value>
+ </enum>
+ </interface>
+ <panic supported='yes'>
+ <enum name='model'>
+ <value>pvpanic</value>
+ </enum>
+ </panic>
+ </devices>
+ <features>
+ <gic supported='yes'>
+ <enum name='version'>
+ <value>3</value>
+ </enum>
+ </gic>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='no'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <async-teardown supported='yes'/>
+ <ps2 supported='no'/>
+ <sev supported='no'/>
+ <sgx supported='no'/>
+ <cca supported='yes'>
+ <enum name='measurement-algo'>
+ <value>sha256</value>
+ <value>sha512</value>
+ </enum>
+ </cca>
+ <launchSecurity supported='yes'>
+ <enum name='sectype'>
+ <value>cca</value>
+ </enum>
+ </launchSecurity>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_9.1.0.aarch64.xml b/tests/domaincapsdata/qemu_9.1.0.aarch64.xml
new file mode 100644
index 0000000000..6c1ec1734a
--- /dev/null
+++ b/tests/domaincapsdata/qemu_9.1.0.aarch64.xml
@@ -0,0 +1,243 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-aarch64</path>
+ <domain>kvm</domain>
+ <machine>virt-9.2</machine>
+ <arch>aarch64</arch>
+ <vcpu max='512'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/obviously/fake/firmware1.fd</value>
+ <value>/obviously/fake/firmware2.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>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='no'/>
+ <mode name='custom' supported='yes'>
+ <model usable='unknown' vendor='unknown'>a64fx</model>
+ <model usable='unknown' vendor='unknown'>arm1026</model>
+ <model usable='unknown' vendor='unknown'>arm1136</model>
+ <model usable='unknown' vendor='unknown'>arm1136-r2</model>
+ <model usable='unknown' vendor='unknown'>arm1176</model>
+ <model usable='unknown' vendor='unknown'>arm11mpcore</model>
+ <model usable='unknown' vendor='unknown'>arm926</model>
+ <model usable='unknown' vendor='unknown'>arm946</model>
+ <model usable='unknown' vendor='unknown'>cortex-a15</model>
+ <model usable='unknown' vendor='unknown'>cortex-a35</model>
+ <model usable='unknown' vendor='unknown'>cortex-a53</model>
+ <model usable='unknown' vendor='unknown'>cortex-a55</model>
+ <model usable='unknown' vendor='unknown'>cortex-a57</model>
+ <model usable='unknown' vendor='unknown'>cortex-a7</model>
+ <model usable='unknown' vendor='unknown'>cortex-a710</model>
+ <model usable='unknown' vendor='unknown'>cortex-a72</model>
+ <model usable='unknown' vendor='unknown'>cortex-a76</model>
+ <model usable='unknown' vendor='unknown'>cortex-a8</model>
+ <model usable='unknown' vendor='unknown'>cortex-a9</model>
+ <model usable='unknown' vendor='unknown'>cortex-m0</model>
+ <model usable='unknown' vendor='unknown'>cortex-m3</model>
+ <model usable='unknown' vendor='unknown'>cortex-m33</model>
+ <model usable='unknown' vendor='unknown'>cortex-m4</model>
+ <model usable='unknown' vendor='unknown'>cortex-m55</model>
+ <model usable='unknown' vendor='unknown'>cortex-m7</model>
+ <model usable='unknown' vendor='unknown'>cortex-r5</model>
+ <model usable='unknown' vendor='unknown'>cortex-r52</model>
+ <model usable='unknown' vendor='unknown'>cortex-r5f</model>
+ <model usable='unknown' vendor='unknown'>max</model>
+ <model usable='unknown' vendor='unknown'>neoverse-n1</model>
+ <model usable='unknown' vendor='unknown'>neoverse-n2</model>
+ <model usable='unknown' vendor='unknown'>neoverse-v1</model>
+ <model usable='unknown' vendor='unknown'>pxa250</model>
+ <model usable='unknown' vendor='unknown'>pxa255</model>
+ <model usable='unknown' vendor='unknown'>pxa260</model>
+ <model usable='unknown' vendor='unknown'>pxa261</model>
+ <model usable='unknown' vendor='unknown'>pxa262</model>
+ <model usable='unknown' vendor='unknown'>pxa270</model>
+ <model usable='unknown' vendor='unknown'>pxa270-a0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-a1</model>
+ <model usable='unknown' vendor='unknown'>pxa270-b0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-b1</model>
+ <model usable='unknown' vendor='unknown'>pxa270-c0</model>
+ <model usable='unknown' vendor='unknown'>pxa270-c5</model>
+ <model usable='unknown' vendor='unknown'>sa1100</model>
+ <model usable='unknown' vendor='unknown'>sa1110</model>
+ <model usable='unknown' vendor='unknown'>ti925t</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>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</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>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ <value>external</value>
+ </enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
+ </tpm>
+ <redirdev supported='no'/>
+ <channel supported='yes'>
+ <enum name='type'>
+ <value>pty</value>
+ <value>unix</value>
+ </enum>
+ </channel>
+ <crypto supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ </enum>
+ <enum name='type'>
+ <value>qemu</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>builtin</value>
+ </enum>
+ </crypto>
+ <interface supported='yes'>
+ <enum name='backendType'>
+ <value>default</value>
+ <value>passt</value>
+ </enum>
+ </interface>
+ <panic supported='yes'>
+ <enum name='model'>
+ <value>pvpanic</value>
+ </enum>
+ </panic>
+ </devices>
+ <features>
+ <gic supported='yes'>
+ <enum name='version'>
+ <value>3</value>
+ </enum>
+ </gic>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='no'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <async-teardown supported='yes'/>
+ <ps2 supported='no'/>
+ <sev supported='no'/>
+ <sgx supported='no'/>
+ <cca supported='yes'>
+ <enum name='measurement-algo'>
+ <value>sha256</value>
+ <value>sha512</value>
+ </enum>
+ </cca>
+ <launchSecurity supported='yes'>
+ <enum name='sectype'>
+ <value>cca</value>
+ </enum>
+ </launchSecurity>
+ </features>
+</domainCapabilities>
--
2.34.1
1
0
- This test was added to check qemu capabilities for Arm
CCA support.
This test was created using the method described in the
documentation.
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
.../caps_9.1.0_aarch64.replies | 36222 ++++++++++++++++
.../caps_9.1.0_aarch64.xml | 540 +
2 files changed, 36762 insertions(+)
create mode 100644 tests/qemucapabilitiesdata/caps_9.1.0_aarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.1.0_aarch64.xml
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.replies b/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.replies
new file mode 100644
index 0000000000..906a21f0c6
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.replies
@@ -0,0 +1,36222 @@
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {},
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-version",
+ "id": "libvirt-2"
+}
+
+{
+ "return": {
+ "qemu": {
+ "micro": 91,
+ "minor": 1,
+ "major": 9
+ },
+ "package": ""
+ },
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-target",
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "arch": "aarch64"
+ },
+ "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": "GUEST_PVSHUTDOWN",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "MEMORY_FAILURE",
+ "meta-type": "event",
+ "arg-type": "9"
+ },
+ {
+ "name": "JOB_STATUS_CHANGE",
+ "meta-type": "event",
+ "arg-type": "10"
+ },
+ {
+ "name": "job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "11"
+ },
+ {
+ "name": "job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "12"
+ },
+ {
+ "name": "job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "13"
+ },
+ {
+ "name": "job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "14"
+ },
+ {
+ "name": "job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "15"
+ },
+ {
+ "name": "job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "16"
+ },
+ {
+ "name": "query-jobs",
+ "ret-type": "[17]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-pr-managers",
+ "ret-type": "[18]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "eject",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "19"
+ },
+ {
+ "name": "blockdev-open-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "20"
+ },
+ {
+ "name": "blockdev-close-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "21"
+ },
+ {
+ "name": "blockdev-remove-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "22"
+ },
+ {
+ "name": "blockdev-insert-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "23"
+ },
+ {
+ "name": "blockdev-change-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "24"
+ },
+ {
+ "name": "DEVICE_TRAY_MOVED",
+ "meta-type": "event",
+ "arg-type": "25"
+ },
+ {
+ "name": "PR_MANAGER_STATUS_CHANGED",
+ "meta-type": "event",
+ "arg-type": "26"
+ },
+ {
+ "name": "block_set_io_throttle",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "27"
+ },
+ {
+ "name": "block-latency-histogram-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "28"
+ },
+ {
+ "name": "query-block",
+ "ret-type": "[29]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-blockstats",
+ "ret-type": "[31]",
+ "meta-type": "command",
+ "arg-type": "30"
+ },
+ {
+ "name": "query-block-jobs",
+ "ret-type": "[32]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "block_resize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "33"
+ },
+ {
+ "name": "blockdev-snapshot-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "34"
+ },
+ {
+ "name": "blockdev-snapshot",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "35",
+ "features": [
+ "allow-write-only-overlay"
+ ]
+ },
+ {
+ "name": "change-backing-file",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "36"
+ },
+ {
+ "name": "block-commit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "drive-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "38",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "blockdev-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "39"
+ },
+ {
+ "name": "query-named-block-nodes",
+ "ret-type": "[41]",
+ "meta-type": "command",
+ "arg-type": "40"
+ },
+ {
+ "name": "x-debug-query-block-graph",
+ "ret-type": "42",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "drive-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "43"
+ },
+ {
+ "name": "block-dirty-bitmap-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "44"
+ },
+ {
+ "name": "block-dirty-bitmap-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-dirty-bitmap-clear",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-dirty-bitmap-enable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-dirty-bitmap-disable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-dirty-bitmap-merge",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "46"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256",
+ "ret-type": "47",
+ "meta-type": "command",
+ "arg-type": "45",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "blockdev-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "48"
+ },
+ {
+ "name": "block-stream",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "49"
+ },
+ {
+ "name": "block-job-set-speed",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "50"
+ },
+ {
+ "name": "block-job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "51"
+ },
+ {
+ "name": "block-job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "52"
+ },
+ {
+ "name": "block-job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "53"
+ },
+ {
+ "name": "block-job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "54"
+ },
+ {
+ "name": "block-job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "55"
+ },
+ {
+ "name": "block-job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "56"
+ },
+ {
+ "name": "block-job-change",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "57"
+ },
+ {
+ "name": "blockdev-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "58"
+ },
+ {
+ "name": "blockdev-reopen",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "59"
+ },
+ {
+ "name": "blockdev-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "60"
+ },
+ {
+ "name": "blockdev-create",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "61"
+ },
+ {
+ "name": "x-blockdev-amend",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "62",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "BLOCK_IMAGE_CORRUPTED",
+ "meta-type": "event",
+ "arg-type": "63"
+ },
+ {
+ "name": "BLOCK_IO_ERROR",
+ "meta-type": "event",
+ "arg-type": "64"
+ },
+ {
+ "name": "BLOCK_JOB_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "65"
+ },
+ {
+ "name": "BLOCK_JOB_CANCELLED",
+ "meta-type": "event",
+ "arg-type": "66"
+ },
+ {
+ "name": "BLOCK_JOB_ERROR",
+ "meta-type": "event",
+ "arg-type": "67"
+ },
+ {
+ "name": "BLOCK_JOB_READY",
+ "meta-type": "event",
+ "arg-type": "68"
+ },
+ {
+ "name": "BLOCK_JOB_PENDING",
+ "meta-type": "event",
+ "arg-type": "69"
+ },
+ {
+ "name": "BLOCK_WRITE_THRESHOLD",
+ "meta-type": "event",
+ "arg-type": "70"
+ },
+ {
+ "name": "block-set-write-threshold",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "71"
+ },
+ {
+ "name": "x-blockdev-change",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "72",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-blockdev-set-iothread",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "73",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "QUORUM_FAILURE",
+ "meta-type": "event",
+ "arg-type": "74"
+ },
+ {
+ "name": "QUORUM_REPORT_BAD",
+ "meta-type": "event",
+ "arg-type": "75"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "76"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync",
+ "ret-type": "78",
+ "meta-type": "command",
+ "arg-type": "77"
+ },
+ {
+ "name": "nbd-server-start",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "79"
+ },
+ {
+ "name": "nbd-server-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "80",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "nbd-server-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "81",
+ "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": "82"
+ },
+ {
+ "name": "block-export-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "83"
+ },
+ {
+ "name": "BLOCK_EXPORT_DELETED",
+ "meta-type": "event",
+ "arg-type": "84"
+ },
+ {
+ "name": "query-block-exports",
+ "ret-type": "[85]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev",
+ "ret-type": "[86]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev-backends",
+ "ret-type": "[87]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ringbuf-write",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "88"
+ },
+ {
+ "name": "ringbuf-read",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "89"
+ },
+ {
+ "name": "chardev-add",
+ "ret-type": "91",
+ "meta-type": "command",
+ "arg-type": "90"
+ },
+ {
+ "name": "chardev-change",
+ "ret-type": "91",
+ "meta-type": "command",
+ "arg-type": "92"
+ },
+ {
+ "name": "chardev-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "93"
+ },
+ {
+ "name": "chardev-send-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "94"
+ },
+ {
+ "name": "VSERPORT_CHANGE",
+ "meta-type": "event",
+ "arg-type": "95"
+ },
+ {
+ "name": "dump-guest-memory",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "96"
+ },
+ {
+ "name": "query-dump",
+ "ret-type": "97",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "DUMP_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "98"
+ },
+ {
+ "name": "query-dump-guest-memory-capability",
+ "ret-type": "99",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_link",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "100"
+ },
+ {
+ "name": "netdev_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "101"
+ },
+ {
+ "name": "netdev_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "102"
+ },
+ {
+ "name": "query-rx-filter",
+ "ret-type": "[104]",
+ "meta-type": "command",
+ "arg-type": "103"
+ },
+ {
+ "name": "NIC_RX_FILTER_CHANGED",
+ "meta-type": "event",
+ "arg-type": "105"
+ },
+ {
+ "name": "announce-self",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "106"
+ },
+ {
+ "name": "FAILOVER_NEGOTIATED",
+ "meta-type": "event",
+ "arg-type": "107"
+ },
+ {
+ "name": "NETDEV_STREAM_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "108"
+ },
+ {
+ "name": "NETDEV_STREAM_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "109"
+ },
+ {
+ "name": "query-rocker",
+ "ret-type": "113",
+ "meta-type": "command",
+ "arg-type": "112"
+ },
+ {
+ "name": "query-rocker-ports",
+ "ret-type": "[115]",
+ "meta-type": "command",
+ "arg-type": "114"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows",
+ "ret-type": "[117]",
+ "meta-type": "command",
+ "arg-type": "116"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups",
+ "ret-type": "[119]",
+ "meta-type": "command",
+ "arg-type": "118"
+ },
+ {
+ "name": "query-tpm-models",
+ "ret-type": "[120]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm-types",
+ "ret-type": "[121]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm",
+ "ret-type": "[122]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "123"
+ },
+ {
+ "name": "expire_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "124"
+ },
+ {
+ "name": "query-mice",
+ "ret-type": "[136]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "send-key",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "137"
+ },
+ {
+ "name": "input-send-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "138"
+ },
+ {
+ "name": "query-display-options",
+ "ret-type": "139",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "display-reload",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "140"
+ },
+ {
+ "name": "display-update",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "141"
+ },
+ {
+ "name": "client_migrate_info",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "142"
+ },
+ {
+ "name": "query-migrate",
+ "ret-type": "143",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "144"
+ },
+ {
+ "name": "query-migrate-capabilities",
+ "ret-type": "[145]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-parameters",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "146"
+ },
+ {
+ "name": "query-migrate-parameters",
+ "ret-type": "147",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-start-postcopy",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MIGRATION",
+ "meta-type": "event",
+ "arg-type": "148"
+ },
+ {
+ "name": "MIGRATION_PASS",
+ "meta-type": "event",
+ "arg-type": "149"
+ },
+ {
+ "name": "COLO_EXIT",
+ "meta-type": "event",
+ "arg-type": "150"
+ },
+ {
+ "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": "151"
+ },
+ {
+ "name": "migrate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "152"
+ },
+ {
+ "name": "migrate-incoming",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "153"
+ },
+ {
+ "name": "xen-save-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "154"
+ },
+ {
+ "name": "xen-set-global-dirty-log",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "155"
+ },
+ {
+ "name": "xen-load-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "156"
+ },
+ {
+ "name": "xen-set-replication",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "157"
+ },
+ {
+ "name": "query-xen-replication-status",
+ "ret-type": "158",
+ "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": "159",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-recover",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "160"
+ },
+ {
+ "name": "migrate-pause",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "UNPLUG_PRIMARY",
+ "meta-type": "event",
+ "arg-type": "161"
+ },
+ {
+ "name": "calc-dirty-rate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "162"
+ },
+ {
+ "name": "query-dirty-rate",
+ "ret-type": "164",
+ "meta-type": "command",
+ "arg-type": "163"
+ },
+ {
+ "name": "set-vcpu-dirty-limit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "165"
+ },
+ {
+ "name": "cancel-vcpu-dirty-limit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "166"
+ },
+ {
+ "name": "query-vcpu-dirty-limit",
+ "ret-type": "[167]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-migrationthreads",
+ "ret-type": "[168]",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "snapshot-save",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "169"
+ },
+ {
+ "name": "snapshot-load",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "170"
+ },
+ {
+ "name": "snapshot-delete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "171"
+ },
+ {
+ "name": "transaction",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "172"
+ },
+ {
+ "name": "trace-event-get-state",
+ "ret-type": "[174]",
+ "meta-type": "command",
+ "arg-type": "173"
+ },
+ {
+ "name": "trace-event-set-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "175"
+ },
+ {
+ "name": "qmp_capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "176"
+ },
+ {
+ "name": "query-version",
+ "ret-type": "177",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-commands",
+ "ret-type": "[178]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "quit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-qmp-schema",
+ "ret-type": "[179]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "qom-list",
+ "ret-type": "[181]",
+ "meta-type": "command",
+ "arg-type": "180"
+ },
+ {
+ "name": "qom-get",
+ "ret-type": "any",
+ "meta-type": "command",
+ "arg-type": "182"
+ },
+ {
+ "name": "qom-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "183"
+ },
+ {
+ "name": "qom-list-types",
+ "ret-type": "[185]",
+ "meta-type": "command",
+ "arg-type": "184"
+ },
+ {
+ "name": "qom-list-properties",
+ "ret-type": "[181]",
+ "meta-type": "command",
+ "arg-type": "186"
+ },
+ {
+ "name": "object-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "187"
+ },
+ {
+ "name": "object-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "188"
+ },
+ {
+ "name": "device-list-properties",
+ "ret-type": "[181]",
+ "meta-type": "command",
+ "arg-type": "189"
+ },
+ {
+ "name": "device_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "190",
+ "features": [
+ "json-cli",
+ "json-cli-hotplug"
+ ]
+ },
+ {
+ "name": "device_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "191"
+ },
+ {
+ "name": "DEVICE_DELETED",
+ "meta-type": "event",
+ "arg-type": "192"
+ },
+ {
+ "name": "DEVICE_UNPLUG_GUEST_ERROR",
+ "meta-type": "event",
+ "arg-type": "193"
+ },
+ {
+ "name": "device-sync-config",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "194",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "query-cpus-fast",
+ "ret-type": "[195]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-machines",
+ "ret-type": "[197]",
+ "meta-type": "command",
+ "arg-type": "196"
+ },
+ {
+ "name": "query-current-machine",
+ "ret-type": "198",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-target",
+ "ret-type": "199",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-uuid",
+ "ret-type": "200",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vm-generation-id",
+ "ret-type": "201",
+ "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": "202",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "memsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "203"
+ },
+ {
+ "name": "pmemsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "204"
+ },
+ {
+ "name": "query-memdev",
+ "ret-type": "[205]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-hotpluggable-cpus",
+ "ret-type": "[206]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set-numa-node",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "207"
+ },
+ {
+ "name": "balloon",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "208"
+ },
+ {
+ "name": "query-balloon",
+ "ret-type": "209",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "BALLOON_CHANGE",
+ "meta-type": "event",
+ "arg-type": "210"
+ },
+ {
+ "name": "query-hv-balloon-status-report",
+ "ret-type": "211",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "HV_BALLOON_STATUS_REPORT",
+ "meta-type": "event",
+ "arg-type": "211"
+ },
+ {
+ "name": "query-memory-size-summary",
+ "ret-type": "212",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-memory-devices",
+ "ret-type": "[213]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MEMORY_DEVICE_SIZE_CHANGE",
+ "meta-type": "event",
+ "arg-type": "214"
+ },
+ {
+ "name": "x-query-irq",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-jit",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-numa",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-opcount",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-ramblock",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-roms",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-usb",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "dumpdtb",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "216"
+ },
+ {
+ "name": "x-query-interrupt-controllers",
+ "ret-type": "215",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "query-cpu-model-expansion",
+ "ret-type": "222",
+ "meta-type": "command",
+ "arg-type": "221"
+ },
+ {
+ "name": "query-cpu-definitions",
+ "ret-type": "[223]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-replay",
+ "ret-type": "227",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "228"
+ },
+ {
+ "name": "replay-delete-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-seek",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "229"
+ },
+ {
+ "name": "yank",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "230"
+ },
+ {
+ "name": "query-yank",
+ "ret-type": "[231]",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "add_client",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "232"
+ },
+ {
+ "name": "query-name",
+ "ret-type": "233",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-iothreads",
+ "ret-type": "[234]",
+ "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": "235",
+ "features": [
+ "savevm-monitor-nodes"
+ ]
+ },
+ {
+ "name": "getfd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "236"
+ },
+ {
+ "name": "closefd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "238"
+ },
+ {
+ "name": "add-fd",
+ "ret-type": "240",
+ "meta-type": "command",
+ "arg-type": "239"
+ },
+ {
+ "name": "remove-fd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "241"
+ },
+ {
+ "name": "query-fdsets",
+ "ret-type": "[242]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-command-line-options",
+ "ret-type": "[244]",
+ "meta-type": "command",
+ "arg-type": "243"
+ },
+ {
+ "name": "RTC_CHANGE",
+ "meta-type": "event",
+ "arg-type": "245"
+ },
+ {
+ "name": "VFU_CLIENT_HANGUP",
+ "meta-type": "event",
+ "arg-type": "246"
+ },
+ {
+ "name": "query-cca-capabilities",
+ "ret-type": "250",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-gic-capabilities",
+ "ret-type": "[255]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-audiodevs",
+ "ret-type": "[259]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-acpi-ospm-status",
+ "ret-type": "[260]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ACPI_DEVICE_OST",
+ "meta-type": "event",
+ "arg-type": "261"
+ },
+ {
+ "name": "query-pci",
+ "ret-type": "[262]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-stats",
+ "ret-type": "[264]",
+ "meta-type": "command",
+ "arg-type": "263"
+ },
+ {
+ "name": "query-stats-schemas",
+ "ret-type": "[266]",
+ "meta-type": "command",
+ "arg-type": "265"
+ },
+ {
+ "name": "x-query-virtio",
+ "ret-type": "[267]",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-status",
+ "ret-type": "269",
+ "meta-type": "command",
+ "arg-type": "268",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-queue-status",
+ "ret-type": "271",
+ "meta-type": "command",
+ "arg-type": "270",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-vhost-queue-status",
+ "ret-type": "273",
+ "meta-type": "command",
+ "arg-type": "272",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-virtio-queue-element",
+ "ret-type": "275",
+ "meta-type": "command",
+ "arg-type": "274",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "VFIO_MIGRATION",
+ "meta-type": "event",
+ "arg-type": "276"
+ },
+ {
+ "name": "query-cryptodev",
+ "ret-type": "[277]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "cxl-inject-general-media-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "278"
+ },
+ {
+ "name": "cxl-inject-dram-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "279"
+ },
+ {
+ "name": "cxl-inject-memory-module-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "280"
+ },
+ {
+ "name": "cxl-inject-poison",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "281"
+ },
+ {
+ "name": "cxl-inject-uncorrectable-errors",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "282"
+ },
+ {
+ "name": "cxl-inject-correctable-error",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "283"
+ },
+ {
+ "name": "cxl-add-dynamic-capacity",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "284",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "cxl-release-dynamic-capacity",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "285",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "0",
+ "members": [],
+ "meta-type": "object"
+ },
+ {
+ "name": "1",
+ "members": [
+ {
+ "name": "running",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "286"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "2",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "287"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "3",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "287"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "4",
+ "members": [
+ {
+ "name": "action",
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "5",
+ "members": [
+ {
+ "name": "action",
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "6",
+ "members": [
+ {
+ "name": "reboot",
+ "default": null,
+ "type": "289"
+ },
+ {
+ "name": "shutdown",
+ "default": null,
+ "type": "290"
+ },
+ {
+ "name": "panic",
+ "default": null,
+ "type": "291"
+ },
+ {
+ "name": "watchdog",
+ "default": null,
+ "type": "288"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "7",
+ "members": [
+ {
+ "name": "action",
+ "type": "292"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "293"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "8",
+ "members": [
+ {
+ "name": "action",
+ "type": "292"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "293"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "9",
+ "members": [
+ {
+ "name": "recipient",
+ "type": "294"
+ },
+ {
+ "name": "action",
+ "type": "295"
+ },
+ {
+ "name": "flags",
+ "type": "296"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "10",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "status",
+ "type": "297"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "11",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "12",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "13",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "14",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "15",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "16",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[17]",
+ "element-type": "17",
+ "meta-type": "array"
+ },
+ {
+ "name": "17",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "name": "status",
+ "type": "297"
+ },
+ {
+ "name": "current-progress",
+ "type": "int"
+ },
+ {
+ "name": "total-progress",
+ "type": "int"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[18]",
+ "element-type": "18",
+ "meta-type": "array"
+ },
+ {
+ "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": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "20",
+ "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": "21",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "22",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "23",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "24",
+ "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": "299"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "25",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "tray-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "26",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "27",
+ "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": "28",
+ "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-zap",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-flush",
+ "default": null,
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[29]",
+ "element-type": "29",
+ "meta-type": "array"
+ },
+ {
+ "name": "29",
+ "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": "41"
+ },
+ {
+ "name": "tray_open",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "io-status",
+ "default": null,
+ "type": "300"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "30",
+ "members": [
+ {
+ "name": "query-nodes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[31]",
+ "element-type": "31",
+ "meta-type": "array"
+ },
+ {
+ "name": "31",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "qdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "301"
+ },
+ {
+ "name": "driver-specific",
+ "default": null,
+ "type": "302"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "31"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "31"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[32]",
+ "element-type": "32",
+ "meta-type": "array"
+ },
+ {
+ "name": "32",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "mirror",
+ "type": "303"
+ },
+ {
+ "case": "commit",
+ "type": "0"
+ },
+ {
+ "case": "stream",
+ "type": "0"
+ },
+ {
+ "case": "backup",
+ "type": "0"
+ },
+ {
+ "case": "create",
+ "type": "0"
+ },
+ {
+ "case": "amend",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-load",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-save",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-delete",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "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": "300"
+ },
+ {
+ "name": "ready",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "297"
+ },
+ {
+ "name": "auto-finalize",
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "type": "bool"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "33",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "34",
+ "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": "304"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "35",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "overlay",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "36",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "image-node-name",
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "37",
+ "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": "backing-mask-protocol",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "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": "38",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "306"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "307"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard-source",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "308",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "304"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "39",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "306"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "307"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard-source",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "308",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "40",
+ "members": [
+ {
+ "name": "flat",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[41]",
+ "element-type": "41",
+ "meta-type": "array"
+ },
+ {
+ "name": "41",
+ "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": "309"
+ },
+ {
+ "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": "310"
+ },
+ {
+ "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": "311"
+ },
+ {
+ "name": "write_threshold",
+ "type": "int"
+ },
+ {
+ "name": "dirty-bitmaps",
+ "default": null,
+ "type": "[312]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "42",
+ "members": [
+ {
+ "name": "nodes",
+ "type": "[313]"
+ },
+ {
+ "name": "edges",
+ "type": "[314]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "43",
+ "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": "306"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "304"
+ },
+ {
+ "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": "305"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "unmap",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "315"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "44",
+ "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": "45",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "46",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[316]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "47",
+ "members": [
+ {
+ "name": "sha256",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "48",
+ "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": "306"
+ },
+ {
+ "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": "305"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "315"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "49",
+ "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": "backing-mask-protocol",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "bottom",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "305"
+ },
+ {
+ "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": "50",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "51",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "52",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "53",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "54",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "55",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "56",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "57",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "mirror",
+ "type": "317"
+ },
+ {
+ "case": "commit",
+ "type": "0"
+ },
+ {
+ "case": "stream",
+ "type": "0"
+ },
+ {
+ "case": "backup",
+ "type": "0"
+ },
+ {
+ "case": "create",
+ "type": "0"
+ },
+ {
+ "case": "amend",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-load",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-save",
+ "type": "0"
+ },
+ {
+ "case": "snapshot-delete",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "298"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "58",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "blkdebug",
+ "type": "321"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "322"
+ },
+ {
+ "case": "blkverify",
+ "type": "323"
+ },
+ {
+ "case": "blkreplay",
+ "type": "324"
+ },
+ {
+ "case": "bochs",
+ "type": "325"
+ },
+ {
+ "case": "cloop",
+ "type": "325"
+ },
+ {
+ "case": "compress",
+ "type": "325"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "326"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "327"
+ },
+ {
+ "case": "dmg",
+ "type": "325"
+ },
+ {
+ "case": "file",
+ "type": "328"
+ },
+ {
+ "case": "ftp",
+ "type": "329"
+ },
+ {
+ "case": "ftps",
+ "type": "330"
+ },
+ {
+ "case": "gluster",
+ "type": "331"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "328"
+ },
+ {
+ "case": "host_device",
+ "type": "328"
+ },
+ {
+ "case": "http",
+ "type": "332"
+ },
+ {
+ "case": "https",
+ "type": "333"
+ },
+ {
+ "case": "iscsi",
+ "type": "335"
+ },
+ {
+ "case": "luks",
+ "type": "336"
+ },
+ {
+ "case": "nbd",
+ "type": "337"
+ },
+ {
+ "case": "nfs",
+ "type": "338"
+ },
+ {
+ "case": "null-aio",
+ "type": "339"
+ },
+ {
+ "case": "null-co",
+ "type": "339"
+ },
+ {
+ "case": "nvme",
+ "type": "340"
+ },
+ {
+ "case": "parallels",
+ "type": "325"
+ },
+ {
+ "case": "preallocate",
+ "type": "342"
+ },
+ {
+ "case": "qcow2",
+ "type": "343"
+ },
+ {
+ "case": "qcow",
+ "type": "344"
+ },
+ {
+ "case": "qed",
+ "type": "345"
+ },
+ {
+ "case": "quorum",
+ "type": "346"
+ },
+ {
+ "case": "raw",
+ "type": "347"
+ },
+ {
+ "case": "rbd",
+ "type": "348"
+ },
+ {
+ "case": "replication",
+ "type": "349"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "325"
+ },
+ {
+ "case": "ssh",
+ "type": "350"
+ },
+ {
+ "case": "throttle",
+ "type": "351"
+ },
+ {
+ "case": "vdi",
+ "type": "325"
+ },
+ {
+ "case": "vhdx",
+ "type": "325"
+ },
+ {
+ "case": "vmdk",
+ "type": "345"
+ },
+ {
+ "case": "vpc",
+ "type": "325"
+ },
+ {
+ "case": "vvfat",
+ "type": "355"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "318"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard",
+ "default": null,
+ "type": "319"
+ },
+ {
+ "name": "cache",
+ "default": null,
+ "type": "320"
+ },
+ {
+ "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": "309"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "59",
+ "members": [
+ {
+ "name": "options",
+ "type": "[58]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "60",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "61",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "356"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "62",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "357"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "63",
+ "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": "64",
+ "members": [
+ {
+ "name": "qom-path",
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "358"
+ },
+ {
+ "name": "action",
+ "type": "359"
+ },
+ {
+ "name": "nospace",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "65",
+ "members": [
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "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": "66",
+ "members": [
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "67",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "358"
+ },
+ {
+ "name": "action",
+ "type": "359"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "68",
+ "members": [
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "69",
+ "members": [
+ {
+ "name": "type",
+ "type": "298"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "70",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "amount-exceeded",
+ "type": "int"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "71",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "72",
+ "members": [
+ {
+ "name": "parent",
+ "type": "str"
+ },
+ {
+ "name": "child",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "73",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "iothread",
+ "type": "360"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "74",
+ "members": [
+ {
+ "name": "reference",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "75",
+ "members": [
+ {
+ "name": "type",
+ "type": "361"
+ },
+ {
+ "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": "76",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "77",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "78",
+ "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": "79",
+ "members": [
+ {
+ "name": "addr",
+ "type": "362"
+ },
+ {
+ "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": "80",
+ "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": "81",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "363"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "82",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nbd",
+ "type": "365"
+ },
+ {
+ "case": "vhost-user-blk",
+ "type": "366"
+ },
+ {
+ "case": "vduse-blk",
+ "type": "368"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "364"
+ },
+ {
+ "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": "83",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "363"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "84",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[85]",
+ "element-type": "85",
+ "meta-type": "array"
+ },
+ {
+ "name": "85",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "364"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "shutting-down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[86]",
+ "element-type": "86",
+ "meta-type": "array"
+ },
+ {
+ "name": "86",
+ "members": [
+ {
+ "name": "label",
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "frontend-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[87]",
+ "element-type": "87",
+ "meta-type": "array"
+ },
+ {
+ "name": "87",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "88",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "data",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "369"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "89",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "369"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "str",
+ "json-type": "string",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "90",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "370"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "91",
+ "members": [
+ {
+ "name": "pty",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "92",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "370"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "93",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "94",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "95",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "96",
+ "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": "371"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "97",
+ "members": [
+ {
+ "name": "status",
+ "type": "372"
+ },
+ {
+ "name": "completed",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "98",
+ "members": [
+ {
+ "name": "result",
+ "type": "97"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "99",
+ "members": [
+ {
+ "name": "formats",
+ "type": "[371]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "100",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "up",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "101",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nic",
+ "type": "374"
+ },
+ {
+ "case": "user",
+ "type": "375"
+ },
+ {
+ "case": "tap",
+ "type": "376"
+ },
+ {
+ "case": "l2tpv3",
+ "type": "377"
+ },
+ {
+ "case": "socket",
+ "type": "378"
+ },
+ {
+ "case": "stream",
+ "type": "379"
+ },
+ {
+ "case": "dgram",
+ "type": "380"
+ },
+ {
+ "case": "vde",
+ "type": "381"
+ },
+ {
+ "case": "bridge",
+ "type": "382"
+ },
+ {
+ "case": "hubport",
+ "type": "383"
+ },
+ {
+ "case": "netmap",
+ "type": "384"
+ },
+ {
+ "case": "vhost-user",
+ "type": "386"
+ },
+ {
+ "case": "vhost-vdpa",
+ "type": "387"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "373"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "102",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "103",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[104]",
+ "element-type": "104",
+ "meta-type": "array"
+ },
+ {
+ "name": "104",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "promiscuous",
+ "type": "bool"
+ },
+ {
+ "name": "multicast",
+ "type": "391"
+ },
+ {
+ "name": "unicast",
+ "type": "391"
+ },
+ {
+ "name": "vlan",
+ "type": "391"
+ },
+ {
+ "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": "105",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "106",
+ "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": "107",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "108",
+ "members": [
+ {
+ "name": "netdev-id",
+ "type": "str"
+ },
+ {
+ "name": "addr",
+ "type": "392"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "109",
+ "members": [
+ {
+ "name": "netdev-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "112",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "113",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "ports",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "114",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[115]",
+ "element-type": "115",
+ "meta-type": "array"
+ },
+ {
+ "name": "115",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "link-up",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "duplex",
+ "type": "394"
+ },
+ {
+ "name": "autoneg",
+ "type": "395"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "116",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "tbl-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[117]",
+ "element-type": "117",
+ "meta-type": "array"
+ },
+ {
+ "name": "117",
+ "members": [
+ {
+ "name": "cookie",
+ "type": "int"
+ },
+ {
+ "name": "hits",
+ "type": "int"
+ },
+ {
+ "name": "key",
+ "type": "396"
+ },
+ {
+ "name": "mask",
+ "type": "397"
+ },
+ {
+ "name": "action",
+ "type": "398"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "118",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[119]",
+ "element-type": "119",
+ "meta-type": "array"
+ },
+ {
+ "name": "119",
+ "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": "[120]",
+ "element-type": "120",
+ "meta-type": "array"
+ },
+ {
+ "name": "120",
+ "members": [
+ {
+ "name": "tpm-tis"
+ },
+ {
+ "name": "tpm-crb"
+ },
+ {
+ "name": "tpm-spapr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tpm-tis",
+ "tpm-crb",
+ "tpm-spapr"
+ ]
+ },
+ {
+ "name": "[121]",
+ "element-type": "121",
+ "meta-type": "array"
+ },
+ {
+ "name": "121",
+ "members": [
+ {
+ "name": "passthrough"
+ },
+ {
+ "name": "emulator"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "passthrough",
+ "emulator"
+ ]
+ },
+ {
+ "name": "[122]",
+ "element-type": "122",
+ "meta-type": "array"
+ },
+ {
+ "name": "122",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "model",
+ "type": "120"
+ },
+ {
+ "name": "options",
+ "type": "399"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "123",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "402"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "400"
+ },
+ {
+ "name": "password",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "default": null,
+ "type": "401"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "124",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "403"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "400"
+ },
+ {
+ "name": "time",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[136]",
+ "element-type": "136",
+ "meta-type": "array"
+ },
+ {
+ "name": "136",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "current",
+ "type": "bool"
+ },
+ {
+ "name": "absolute",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "137",
+ "members": [
+ {
+ "name": "keys",
+ "type": "[416]"
+ },
+ {
+ "name": "hold-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "138",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "events",
+ "type": "[417]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "139",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "dbus",
+ "type": "424"
+ },
+ {
+ "case": "default",
+ "type": "0"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "418"
+ },
+ {
+ "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": "419"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "140",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "427"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "426"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "141",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "429"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "428"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "142",
+ "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": "143",
+ "members": [
+ {
+ "name": "status",
+ "default": null,
+ "type": "430"
+ },
+ {
+ "name": "ram",
+ "default": null,
+ "type": "431"
+ },
+ {
+ "name": "vfio",
+ "default": null,
+ "type": "432"
+ },
+ {
+ "name": "xbzrle-cache",
+ "default": null,
+ "type": "433"
+ },
+ {
+ "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": "socket-address",
+ "default": null,
+ "type": "[392]"
+ },
+ {
+ "name": "dirty-limit-throttle-time-per-round",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dirty-limit-ring-full-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "144",
+ "members": [
+ {
+ "name": "capabilities",
+ "type": "[145]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[145]",
+ "element-type": "145",
+ "meta-type": "array"
+ },
+ {
+ "name": "145",
+ "members": [
+ {
+ "name": "capability",
+ "type": "434"
+ },
+ {
+ "name": "state",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "146",
+ "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": "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": "360"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "360"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "360"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "avail-switchover-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "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": "435"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-qatzip-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[436]"
+ },
+ {
+ "name": "x-vcpu-dirty-limit-period",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "vcpu-dirty-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "437"
+ },
+ {
+ "name": "zero-page-detection",
+ "default": null,
+ "type": "438"
+ },
+ {
+ "name": "direct-io",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "147",
+ "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": "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": "avail-switchover-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "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": "435"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-qatzip-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[436]"
+ },
+ {
+ "name": "x-vcpu-dirty-limit-period",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "vcpu-dirty-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "437"
+ },
+ {
+ "name": "zero-page-detection",
+ "default": null,
+ "type": "438"
+ },
+ {
+ "name": "direct-io",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "148",
+ "members": [
+ {
+ "name": "status",
+ "type": "430"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "149",
+ "members": [
+ {
+ "name": "pass",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "150",
+ "members": [
+ {
+ "name": "mode",
+ "type": "439"
+ },
+ {
+ "name": "reason",
+ "type": "440"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "151",
+ "members": [
+ {
+ "name": "state",
+ "type": "430"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "152",
+ "members": [
+ {
+ "name": "uri",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "[441]"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "resume",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "153",
+ "members": [
+ {
+ "name": "uri",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "[441]"
+ },
+ {
+ "name": "exit-on-error",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "154",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "live",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "155",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "156",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "157",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "primary",
+ "type": "bool"
+ },
+ {
+ "name": "failover",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "158",
+ "members": [
+ {
+ "name": "error",
+ "type": "bool"
+ },
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "159",
+ "members": [
+ {
+ "name": "mode",
+ "type": "439"
+ },
+ {
+ "name": "last-mode",
+ "type": "439"
+ },
+ {
+ "name": "reason",
+ "type": "440"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "160",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "161",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "162",
+ "members": [
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "calc-time-unit",
+ "default": null,
+ "type": "442"
+ },
+ {
+ "name": "sample-pages",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "443"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "163",
+ "members": [
+ {
+ "name": "calc-time-unit",
+ "default": null,
+ "type": "442"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "164",
+ "members": [
+ {
+ "name": "dirty-rate",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "444"
+ },
+ {
+ "name": "start-time",
+ "type": "int"
+ },
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "calc-time-unit",
+ "type": "442"
+ },
+ {
+ "name": "sample-pages",
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "type": "443"
+ },
+ {
+ "name": "vcpu-dirty-rate",
+ "default": null,
+ "type": "[445]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "165",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "166",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[167]",
+ "element-type": "167",
+ "meta-type": "array"
+ },
+ {
+ "name": "167",
+ "members": [
+ {
+ "name": "cpu-index",
+ "type": "int"
+ },
+ {
+ "name": "limit-rate",
+ "type": "int"
+ },
+ {
+ "name": "current-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[168]",
+ "element-type": "168",
+ "meta-type": "array"
+ },
+ {
+ "name": "168",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "thread-id",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "169",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "170",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "171",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "172",
+ "members": [
+ {
+ "name": "actions",
+ "type": "[446]"
+ },
+ {
+ "name": "properties",
+ "default": null,
+ "type": "447"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "173",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[174]",
+ "element-type": "174",
+ "meta-type": "array"
+ },
+ {
+ "name": "174",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "state",
+ "type": "448"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "175",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "ignore-unavailable",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "176",
+ "members": [
+ {
+ "name": "enable",
+ "default": null,
+ "type": "[449]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "177",
+ "members": [
+ {
+ "name": "qemu",
+ "type": "450"
+ },
+ {
+ "name": "package",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[178]",
+ "element-type": "178",
+ "meta-type": "array"
+ },
+ {
+ "name": "178",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[179]",
+ "element-type": "179",
+ "meta-type": "array"
+ },
+ {
+ "name": "179",
+ "tag": "meta-type",
+ "variants": [
+ {
+ "case": "builtin",
+ "type": "452"
+ },
+ {
+ "case": "enum",
+ "type": "453"
+ },
+ {
+ "case": "array",
+ "type": "454"
+ },
+ {
+ "case": "object",
+ "type": "455"
+ },
+ {
+ "case": "alternate",
+ "type": "456"
+ },
+ {
+ "case": "command",
+ "type": "457"
+ },
+ {
+ "case": "event",
+ "type": "458"
+ }
+ ],
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "meta-type",
+ "type": "451"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "180",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[181]",
+ "element-type": "181",
+ "meta-type": "array"
+ },
+ {
+ "name": "181",
+ "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": "182",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "any",
+ "json-type": "value",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "183",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "184",
+ "members": [
+ {
+ "name": "implements",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[185]",
+ "element-type": "185",
+ "meta-type": "array"
+ },
+ {
+ "name": "185",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "186",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "187",
+ "tag": "qom-type",
+ "variants": [
+ {
+ "case": "acpi-generic-initiator",
+ "type": "460"
+ },
+ {
+ "case": "acpi-generic-port",
+ "type": "461"
+ },
+ {
+ "case": "authz-list",
+ "type": "462"
+ },
+ {
+ "case": "authz-listfile",
+ "type": "463"
+ },
+ {
+ "case": "authz-pam",
+ "type": "464"
+ },
+ {
+ "case": "authz-simple",
+ "type": "465"
+ },
+ {
+ "case": "can-host-socketcan",
+ "type": "466"
+ },
+ {
+ "case": "colo-compare",
+ "type": "467"
+ },
+ {
+ "case": "cryptodev-backend",
+ "type": "468"
+ },
+ {
+ "case": "cryptodev-backend-builtin",
+ "type": "468"
+ },
+ {
+ "case": "cryptodev-backend-lkcf",
+ "type": "468"
+ },
+ {
+ "case": "cryptodev-vhost-user",
+ "type": "469"
+ },
+ {
+ "case": "dbus-vmstate",
+ "type": "470"
+ },
+ {
+ "case": "filter-buffer",
+ "type": "471"
+ },
+ {
+ "case": "filter-dump",
+ "type": "472"
+ },
+ {
+ "case": "filter-mirror",
+ "type": "473"
+ },
+ {
+ "case": "filter-redirector",
+ "type": "474"
+ },
+ {
+ "case": "filter-replay",
+ "type": "475"
+ },
+ {
+ "case": "filter-rewriter",
+ "type": "476"
+ },
+ {
+ "case": "input-barrier",
+ "type": "477"
+ },
+ {
+ "case": "input-linux",
+ "type": "478"
+ },
+ {
+ "case": "iommufd",
+ "type": "479"
+ },
+ {
+ "case": "iothread",
+ "type": "480"
+ },
+ {
+ "case": "main-loop",
+ "type": "481"
+ },
+ {
+ "case": "memory-backend-epc",
+ "type": "482"
+ },
+ {
+ "case": "memory-backend-file",
+ "type": "483"
+ },
+ {
+ "case": "memory-backend-memfd",
+ "type": "484"
+ },
+ {
+ "case": "memory-backend-ram",
+ "type": "485"
+ },
+ {
+ "case": "memory-backend-shm",
+ "type": "486"
+ },
+ {
+ "case": "pr-manager-helper",
+ "type": "487"
+ },
+ {
+ "case": "qtest",
+ "type": "488"
+ },
+ {
+ "case": "rme-guest",
+ "type": "489"
+ },
+ {
+ "case": "rng-builtin",
+ "type": "490"
+ },
+ {
+ "case": "rng-egd",
+ "type": "491"
+ },
+ {
+ "case": "rng-random",
+ "type": "492"
+ },
+ {
+ "case": "secret",
+ "type": "493"
+ },
+ {
+ "case": "secret_keyring",
+ "type": "494"
+ },
+ {
+ "case": "sev-guest",
+ "type": "495"
+ },
+ {
+ "case": "sev-snp-guest",
+ "type": "496"
+ },
+ {
+ "case": "thread-context",
+ "type": "497"
+ },
+ {
+ "case": "throttle-group",
+ "type": "498"
+ },
+ {
+ "case": "tls-creds-anon",
+ "type": "499"
+ },
+ {
+ "case": "tls-creds-psk",
+ "type": "500"
+ },
+ {
+ "case": "tls-creds-x509",
+ "type": "501"
+ },
+ {
+ "case": "tls-cipher-suites",
+ "type": "502"
+ },
+ {
+ "case": "x-remote-object",
+ "type": "503"
+ },
+ {
+ "case": "x-vfio-user-server",
+ "type": "504"
+ },
+ {
+ "case": "can-bus",
+ "type": "0"
+ },
+ {
+ "case": "pef-guest",
+ "type": "0"
+ },
+ {
+ "case": "s390-pv-guest",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "qom-type",
+ "type": "459"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "188",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "189",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "190",
+ "members": [
+ {
+ "name": "driver",
+ "type": "str"
+ },
+ {
+ "name": "bus",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "191",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "192",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "193",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "194",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[195]",
+ "element-type": "195",
+ "meta-type": "array"
+ },
+ {
+ "name": "195",
+ "tag": "target",
+ "variants": [
+ {
+ "case": "s390x",
+ "type": "507"
+ },
+ {
+ "case": "aarch64",
+ "type": "0"
+ },
+ {
+ "case": "alpha",
+ "type": "0"
+ },
+ {
+ "case": "arm",
+ "type": "0"
+ },
+ {
+ "case": "avr",
+ "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": "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": "505"
+ },
+ {
+ "name": "target",
+ "type": "506"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "196",
+ "members": [
+ {
+ "name": "compat-props",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[197]",
+ "element-type": "197",
+ "meta-type": "array"
+ },
+ {
+ "name": "197",
+ "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"
+ },
+ {
+ "name": "acpi",
+ "type": "bool"
+ },
+ {
+ "name": "compat-props",
+ "default": null,
+ "type": "[508]",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "198",
+ "members": [
+ {
+ "name": "wakeup-suspend-support",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "199",
+ "members": [
+ {
+ "name": "arch",
+ "type": "506"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "200",
+ "members": [
+ {
+ "name": "UUID",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "201",
+ "members": [
+ {
+ "name": "guid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "202",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "present",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "203",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "204",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[205]",
+ "element-type": "205",
+ "meta-type": "array"
+ },
+ {
+ "name": "205",
+ "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": "509"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[206]",
+ "element-type": "206",
+ "meta-type": "array"
+ },
+ {
+ "name": "206",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "vcpus-count",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "type": "505"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "207",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "node",
+ "type": "511"
+ },
+ {
+ "case": "dist",
+ "type": "512"
+ },
+ {
+ "case": "cpu",
+ "type": "513"
+ },
+ {
+ "case": "hmat-lb",
+ "type": "514"
+ },
+ {
+ "case": "hmat-cache",
+ "type": "515"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "510"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "208",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "209",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "210",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "211",
+ "members": [
+ {
+ "name": "committed",
+ "type": "int"
+ },
+ {
+ "name": "available",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "212",
+ "members": [
+ {
+ "name": "base-memory",
+ "type": "int"
+ },
+ {
+ "name": "plugged-memory",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[213]",
+ "element-type": "213",
+ "meta-type": "array"
+ },
+ {
+ "name": "213",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "dimm",
+ "type": "517"
+ },
+ {
+ "case": "nvdimm",
+ "type": "517"
+ },
+ {
+ "case": "virtio-pmem",
+ "type": "518"
+ },
+ {
+ "case": "virtio-mem",
+ "type": "519"
+ },
+ {
+ "case": "sgx-epc",
+ "type": "520"
+ },
+ {
+ "case": "hv-balloon",
+ "type": "521"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "516"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "214",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "215",
+ "members": [
+ {
+ "name": "human-readable-text",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "216",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "221",
+ "members": [
+ {
+ "name": "type",
+ "type": "524"
+ },
+ {
+ "name": "model",
+ "type": "522"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "222",
+ "members": [
+ {
+ "name": "model",
+ "type": "522"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[223]",
+ "element-type": "223",
+ "meta-type": "array"
+ },
+ {
+ "name": "223",
+ "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": "227",
+ "members": [
+ {
+ "name": "mode",
+ "type": "527"
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "228",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "229",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "230",
+ "members": [
+ {
+ "name": "instances",
+ "type": "[231]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[231]",
+ "element-type": "231",
+ "meta-type": "array"
+ },
+ {
+ "name": "231",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "block-node",
+ "type": "529"
+ },
+ {
+ "case": "chardev",
+ "type": "530"
+ },
+ {
+ "case": "migration",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "528"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "232",
+ "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": "233",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[234]",
+ "element-type": "234",
+ "meta-type": "array"
+ },
+ {
+ "name": "234",
+ "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": "235",
+ "members": [
+ {
+ "name": "command-line",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "236",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "238",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "239",
+ "members": [
+ {
+ "name": "fdset-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "240",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "241",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[242]",
+ "element-type": "242",
+ "meta-type": "array"
+ },
+ {
+ "name": "242",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fds",
+ "type": "[531]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "243",
+ "members": [
+ {
+ "name": "option",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[244]",
+ "element-type": "244",
+ "meta-type": "array"
+ },
+ {
+ "name": "244",
+ "members": [
+ {
+ "name": "option",
+ "type": "str"
+ },
+ {
+ "name": "parameters",
+ "type": "[532]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "245",
+ "members": [
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "246",
+ "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": "250",
+ "members": [
+ {
+ "name": "sections",
+ "type": "[537]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[255]",
+ "element-type": "255",
+ "meta-type": "array"
+ },
+ {
+ "name": "255",
+ "members": [
+ {
+ "name": "version",
+ "type": "int"
+ },
+ {
+ "name": "emulated",
+ "type": "bool"
+ },
+ {
+ "name": "kernel",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[259]",
+ "element-type": "259",
+ "meta-type": "array"
+ },
+ {
+ "name": "259",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "none",
+ "type": "541"
+ },
+ {
+ "case": "dbus",
+ "type": "541"
+ },
+ {
+ "case": "oss",
+ "type": "546"
+ },
+ {
+ "case": "wav",
+ "type": "551"
+ }
+ ],
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "driver",
+ "type": "540"
+ },
+ {
+ "name": "timer-period",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[260]",
+ "element-type": "260",
+ "meta-type": "array"
+ },
+ {
+ "name": "260",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "slot",
+ "type": "str"
+ },
+ {
+ "name": "slot-type",
+ "type": "552"
+ },
+ {
+ "name": "source",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "261",
+ "members": [
+ {
+ "name": "info",
+ "type": "260"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[262]",
+ "element-type": "262",
+ "meta-type": "array"
+ },
+ {
+ "name": "262",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "devices",
+ "type": "[553]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "263",
+ "tag": "target",
+ "variants": [
+ {
+ "case": "vcpu",
+ "type": "556"
+ },
+ {
+ "case": "vm",
+ "type": "0"
+ },
+ {
+ "case": "cryptodev",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "target",
+ "type": "554"
+ },
+ {
+ "name": "providers",
+ "default": null,
+ "type": "[555]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[264]",
+ "element-type": "264",
+ "meta-type": "array"
+ },
+ {
+ "name": "264",
+ "members": [
+ {
+ "name": "provider",
+ "type": "557"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "[558]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "265",
+ "members": [
+ {
+ "name": "provider",
+ "default": null,
+ "type": "557"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[266]",
+ "element-type": "266",
+ "meta-type": "array"
+ },
+ {
+ "name": "266",
+ "members": [
+ {
+ "name": "provider",
+ "type": "557"
+ },
+ {
+ "name": "target",
+ "type": "554"
+ },
+ {
+ "name": "stats",
+ "type": "[559]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[267]",
+ "element-type": "267",
+ "meta-type": "array"
+ },
+ {
+ "name": "267",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "268",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "269",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "device-id",
+ "type": "int"
+ },
+ {
+ "name": "vhost-started",
+ "type": "bool"
+ },
+ {
+ "name": "device-endian",
+ "type": "str"
+ },
+ {
+ "name": "guest-features",
+ "type": "560"
+ },
+ {
+ "name": "host-features",
+ "type": "560"
+ },
+ {
+ "name": "backend-features",
+ "type": "560"
+ },
+ {
+ "name": "num-vqs",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "561"
+ },
+ {
+ "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": "562"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "270",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "271",
+ "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": "272",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "273",
+ "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": "274",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "type": "int"
+ },
+ {
+ "name": "index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "275",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "descs",
+ "type": "[563]"
+ },
+ {
+ "name": "avail",
+ "type": "564"
+ },
+ {
+ "name": "used",
+ "type": "565"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "276",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ },
+ {
+ "name": "device-state",
+ "type": "566"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[277]",
+ "element-type": "277",
+ "meta-type": "array"
+ },
+ {
+ "name": "277",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "[567]"
+ },
+ {
+ "name": "client",
+ "type": "[568]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "278",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "type": "569"
+ },
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "dpa",
+ "type": "int"
+ },
+ {
+ "name": "descriptor",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "int"
+ },
+ {
+ "name": "transaction-type",
+ "type": "int"
+ },
+ {
+ "name": "channel",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "rank",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "device",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "component-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "279",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "type": "569"
+ },
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "dpa",
+ "type": "int"
+ },
+ {
+ "name": "descriptor",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "int"
+ },
+ {
+ "name": "transaction-type",
+ "type": "int"
+ },
+ {
+ "name": "channel",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "rank",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "nibble-mask",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bank-group",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bank",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "row",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "column",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "correction-mask",
+ "default": null,
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "280",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "type": "569"
+ },
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "int"
+ },
+ {
+ "name": "health-status",
+ "type": "int"
+ },
+ {
+ "name": "media-status",
+ "type": "int"
+ },
+ {
+ "name": "additional-status",
+ "type": "int"
+ },
+ {
+ "name": "life-used",
+ "type": "int"
+ },
+ {
+ "name": "temperature",
+ "type": "int"
+ },
+ {
+ "name": "dirty-shutdown-count",
+ "type": "int"
+ },
+ {
+ "name": "corrected-volatile-error-count",
+ "type": "int"
+ },
+ {
+ "name": "corrected-persistent-error-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "281",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "start",
+ "type": "int"
+ },
+ {
+ "name": "length",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "282",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "errors",
+ "type": "[570]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "283",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "571"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "284",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "host-id",
+ "type": "int"
+ },
+ {
+ "name": "selection-policy",
+ "type": "572"
+ },
+ {
+ "name": "region",
+ "type": "int"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "extents",
+ "type": "[573]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "285",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "host-id",
+ "type": "int"
+ },
+ {
+ "name": "removal-policy",
+ "type": "574"
+ },
+ {
+ "name": "forced-removal",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "sanitize-on-release",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "region",
+ "type": "int"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "extents",
+ "type": "[573]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "bool",
+ "json-type": "boolean",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "286",
+ "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": "287",
+ "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"
+ },
+ {
+ "name": "snapshot-load"
+ }
+ ],
+ "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",
+ "snapshot-load"
+ ]
+ },
+ {
+ "name": "288",
+ "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": "289",
+ "members": [
+ {
+ "name": "reset"
+ },
+ {
+ "name": "shutdown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "reset",
+ "shutdown"
+ ]
+ },
+ {
+ "name": "290",
+ "members": [
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "pause"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "poweroff",
+ "pause"
+ ]
+ },
+ {
+ "name": "291",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "shutdown"
+ },
+ {
+ "name": "exit-failure"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "shutdown",
+ "exit-failure",
+ "none"
+ ]
+ },
+ {
+ "name": "292",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "run"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "poweroff",
+ "run"
+ ]
+ },
+ {
+ "name": "293",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "hyper-v",
+ "type": "576"
+ },
+ {
+ "case": "s390",
+ "type": "577"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "575"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "294",
+ "members": [
+ {
+ "name": "hypervisor"
+ },
+ {
+ "name": "guest"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hypervisor",
+ "guest"
+ ]
+ },
+ {
+ "name": "295",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "inject"
+ },
+ {
+ "name": "fatal"
+ },
+ {
+ "name": "reset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "inject",
+ "fatal",
+ "reset"
+ ]
+ },
+ {
+ "name": "296",
+ "members": [
+ {
+ "name": "action-required",
+ "type": "bool"
+ },
+ {
+ "name": "recursive",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "297",
+ "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": "298",
+ "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": "int",
+ "json-type": "int",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "299",
+ "members": [
+ {
+ "name": "retain"
+ },
+ {
+ "name": "read-only"
+ },
+ {
+ "name": "read-write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "retain",
+ "read-only",
+ "read-write"
+ ]
+ },
+ {
+ "name": "[int]",
+ "element-type": "int",
+ "meta-type": "array"
+ },
+ {
+ "name": "300",
+ "members": [
+ {
+ "name": "ok"
+ },
+ {
+ "name": "failed"
+ },
+ {
+ "name": "nospace"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ok",
+ "failed",
+ "nospace"
+ ]
+ },
+ {
+ "name": "301",
+ "members": [
+ {
+ "name": "rd_bytes",
+ "type": "int"
+ },
+ {
+ "name": "wr_bytes",
+ "type": "int"
+ },
+ {
+ "name": "zone_append_bytes",
+ "type": "int"
+ },
+ {
+ "name": "unmap_bytes",
+ "type": "int"
+ },
+ {
+ "name": "rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "zone_append_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": "zone_append_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": "zone_append_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_zone_append_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_zone_append_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": "[578]"
+ },
+ {
+ "name": "rd_latency_histogram",
+ "default": null,
+ "type": "579"
+ },
+ {
+ "name": "wr_latency_histogram",
+ "default": null,
+ "type": "579"
+ },
+ {
+ "name": "zone_append_latency_histogram",
+ "default": null,
+ "type": "579"
+ },
+ {
+ "name": "flush_latency_histogram",
+ "default": null,
+ "type": "579"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "302",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "580"
+ },
+ {
+ "case": "host_device",
+ "type": "580"
+ },
+ {
+ "case": "nvme",
+ "type": "581"
+ },
+ {
+ "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": "318"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "303",
+ "members": [
+ {
+ "name": "actively-synced",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "304",
+ "members": [
+ {
+ "name": "existing"
+ },
+ {
+ "name": "absolute-paths"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "existing",
+ "absolute-paths"
+ ]
+ },
+ {
+ "name": "305",
+ "members": [
+ {
+ "name": "report"
+ },
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "enospc"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "report",
+ "ignore",
+ "enospc",
+ "stop",
+ "auto"
+ ]
+ },
+ {
+ "name": "306",
+ "members": [
+ {
+ "name": "top"
+ },
+ {
+ "name": "full"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "incremental"
+ },
+ {
+ "name": "bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "top",
+ "full",
+ "none",
+ "incremental",
+ "bitmap"
+ ]
+ },
+ {
+ "name": "307",
+ "members": [
+ {
+ "name": "on-success"
+ },
+ {
+ "name": "never"
+ },
+ {
+ "name": "always"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "on-success",
+ "never",
+ "always"
+ ]
+ },
+ {
+ "name": "308",
+ "members": [
+ {
+ "name": "use-copy-range",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "max-workers",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-chunk",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "min-cluster-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "309",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "unmap"
+ ]
+ },
+ {
+ "name": "310",
+ "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": "[78]"
+ },
+ {
+ "name": "format-specific",
+ "default": null,
+ "type": "582"
+ },
+ {
+ "name": "backing-image",
+ "default": null,
+ "type": "310"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "311",
+ "members": [
+ {
+ "name": "writeback",
+ "type": "bool"
+ },
+ {
+ "name": "direct",
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[312]",
+ "element-type": "312",
+ "meta-type": "array"
+ },
+ {
+ "name": "312",
+ "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": "[313]",
+ "element-type": "313",
+ "meta-type": "array"
+ },
+ {
+ "name": "313",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "583"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[314]",
+ "element-type": "314",
+ "meta-type": "array"
+ },
+ {
+ "name": "314",
+ "members": [
+ {
+ "name": "parent",
+ "type": "int"
+ },
+ {
+ "name": "child",
+ "type": "int"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "perm",
+ "type": "[584]"
+ },
+ {
+ "name": "shared-perm",
+ "type": "[584]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "315",
+ "members": [
+ {
+ "name": "background"
+ },
+ {
+ "name": "write-blocking"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "background",
+ "write-blocking"
+ ]
+ },
+ {
+ "name": "[316]",
+ "element-type": "316",
+ "meta-type": "array"
+ },
+ {
+ "name": "316",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "45"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "317",
+ "members": [
+ {
+ "name": "copy-mode",
+ "type": "315"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "318",
+ "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",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "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": "319",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "unmap"
+ ]
+ },
+ {
+ "name": "320",
+ "members": [
+ {
+ "name": "direct",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "321",
+ "members": [
+ {
+ "name": "image",
+ "type": "585"
+ },
+ {
+ "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": "[586]"
+ },
+ {
+ "name": "set-state",
+ "default": null,
+ "type": "[587]"
+ },
+ {
+ "name": "take-child-perms",
+ "default": null,
+ "type": "[584]"
+ },
+ {
+ "name": "unshare-child-perms",
+ "default": null,
+ "type": "[584]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "322",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "log",
+ "type": "585"
+ },
+ {
+ "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": "323",
+ "members": [
+ {
+ "name": "test",
+ "type": "585"
+ },
+ {
+ "name": "raw",
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "324",
+ "members": [
+ {
+ "name": "image",
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "325",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "326",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "target",
+ "type": "585"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "45"
+ },
+ {
+ "name": "on-cbw-error",
+ "default": null,
+ "type": "588"
+ },
+ {
+ "name": "cbw-timeout",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "min-cluster-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "327",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "bottom",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "328",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "pr-manager",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "locking",
+ "default": null,
+ "type": "589"
+ },
+ {
+ "name": "aio",
+ "default": null,
+ "type": "590"
+ },
+ {
+ "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": "329",
+ "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": "330",
+ "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": "331",
+ "members": [
+ {
+ "name": "volume",
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[392]"
+ },
+ {
+ "name": "debug",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "332",
+ "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": "333",
+ "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": "335",
+ "members": [
+ {
+ "name": "transport",
+ "type": "591"
+ },
+ {
+ "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": "592"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "336",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "header",
+ "default": null,
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "337",
+ "members": [
+ {
+ "name": "server",
+ "type": "392"
+ },
+ {
+ "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": "338",
+ "members": [
+ {
+ "name": "server",
+ "type": "593"
+ },
+ {
+ "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": "339",
+ "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": "340",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "namespace",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "342",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "prealloc-align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "343",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "594"
+ },
+ {
+ "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": "discard-no-unref",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "overlap-check",
+ "default": null,
+ "type": "595"
+ },
+ {
+ "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": "596"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "344",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "594"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "597"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "345",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "594"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "346",
+ "members": [
+ {
+ "name": "blkverify",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "children",
+ "type": "[585]"
+ },
+ {
+ "name": "vote-threshold",
+ "type": "int"
+ },
+ {
+ "name": "rewrite-corrupted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-pattern",
+ "default": null,
+ "type": "598"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "347",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "348",
+ "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": "599"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth-client-required",
+ "default": null,
+ "type": "[600]"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "[601]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "349",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "mode",
+ "type": "602"
+ },
+ {
+ "name": "top-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "350",
+ "members": [
+ {
+ "name": "server",
+ "type": "603"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "host-key-check",
+ "default": null,
+ "type": "604"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "351",
+ "members": [
+ {
+ "name": "throttle-group",
+ "type": "str"
+ },
+ {
+ "name": "file",
+ "type": "585"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "355",
+ "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": "[58]",
+ "element-type": "58",
+ "meta-type": "array"
+ },
+ {
+ "name": "356",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "605"
+ },
+ {
+ "case": "gluster",
+ "type": "606"
+ },
+ {
+ "case": "luks",
+ "type": "607"
+ },
+ {
+ "case": "nfs",
+ "type": "608"
+ },
+ {
+ "case": "parallels",
+ "type": "609"
+ },
+ {
+ "case": "qcow",
+ "type": "610"
+ },
+ {
+ "case": "qcow2",
+ "type": "611"
+ },
+ {
+ "case": "qed",
+ "type": "612"
+ },
+ {
+ "case": "rbd",
+ "type": "613"
+ },
+ {
+ "case": "ssh",
+ "type": "614"
+ },
+ {
+ "case": "vdi",
+ "type": "615"
+ },
+ {
+ "case": "vhdx",
+ "type": "616"
+ },
+ {
+ "case": "vmdk",
+ "type": "617"
+ },
+ {
+ "case": "vpc",
+ "type": "618"
+ },
+ {
+ "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": "318"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "357",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "619"
+ },
+ {
+ "case": "qcow2",
+ "type": "620"
+ },
+ {
+ "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": "318"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "358",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "name": "359",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "report"
+ },
+ {
+ "name": "stop"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "report",
+ "stop"
+ ]
+ },
+ {
+ "name": "360",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "361",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "flush"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write",
+ "flush"
+ ]
+ },
+ {
+ "name": "362",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "622"
+ },
+ {
+ "case": "unix",
+ "type": "623"
+ },
+ {
+ "case": "vsock",
+ "type": "624"
+ },
+ {
+ "case": "fd",
+ "type": "625"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "621"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "363",
+ "members": [
+ {
+ "name": "safe"
+ },
+ {
+ "name": "hard"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "safe",
+ "hard"
+ ]
+ },
+ {
+ "name": "364",
+ "members": [
+ {
+ "name": "nbd"
+ },
+ {
+ "name": "vhost-user-blk"
+ },
+ {
+ "name": "vduse-blk"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "nbd",
+ "vhost-user-blk",
+ "vduse-blk"
+ ]
+ },
+ {
+ "name": "365",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[316]"
+ },
+ {
+ "name": "allocation-depth",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "366",
+ "members": [
+ {
+ "name": "addr",
+ "type": "392"
+ },
+ {
+ "name": "logical-block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "num-queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "368",
+ "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": "369",
+ "members": [
+ {
+ "name": "utf8"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "utf8",
+ "base64"
+ ]
+ },
+ {
+ "name": "370",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "file",
+ "type": "628"
+ },
+ {
+ "case": "serial",
+ "type": "629"
+ },
+ {
+ "case": "parallel",
+ "type": "629"
+ },
+ {
+ "case": "pipe",
+ "type": "629"
+ },
+ {
+ "case": "socket",
+ "type": "630"
+ },
+ {
+ "case": "udp",
+ "type": "631"
+ },
+ {
+ "case": "pty",
+ "type": "632"
+ },
+ {
+ "case": "null",
+ "type": "633"
+ },
+ {
+ "case": "mux",
+ "type": "634"
+ },
+ {
+ "case": "msmouse",
+ "type": "633"
+ },
+ {
+ "case": "wctablet",
+ "type": "633"
+ },
+ {
+ "case": "testdev",
+ "type": "633"
+ },
+ {
+ "case": "stdio",
+ "type": "635"
+ },
+ {
+ "case": "dbus",
+ "type": "639"
+ },
+ {
+ "case": "vc",
+ "type": "640"
+ },
+ {
+ "case": "ringbuf",
+ "type": "641"
+ },
+ {
+ "case": "memory",
+ "type": "641"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "627"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "371",
+ "members": [
+ {
+ "name": "elf"
+ },
+ {
+ "name": "kdump-zlib"
+ },
+ {
+ "name": "kdump-lzo"
+ },
+ {
+ "name": "kdump-snappy"
+ },
+ {
+ "name": "kdump-raw-zlib"
+ },
+ {
+ "name": "kdump-raw-lzo"
+ },
+ {
+ "name": "kdump-raw-snappy"
+ },
+ {
+ "name": "win-dmp"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "elf",
+ "kdump-zlib",
+ "kdump-lzo",
+ "kdump-snappy",
+ "kdump-raw-zlib",
+ "kdump-raw-lzo",
+ "kdump-raw-snappy",
+ "win-dmp"
+ ]
+ },
+ {
+ "name": "372",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "completed"
+ },
+ {
+ "name": "failed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "active",
+ "completed",
+ "failed"
+ ]
+ },
+ {
+ "name": "[371]",
+ "element-type": "371",
+ "meta-type": "array"
+ },
+ {
+ "name": "373",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "nic"
+ },
+ {
+ "name": "user"
+ },
+ {
+ "name": "tap"
+ },
+ {
+ "name": "l2tpv3"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "stream"
+ },
+ {
+ "name": "dgram"
+ },
+ {
+ "name": "vde"
+ },
+ {
+ "name": "bridge"
+ },
+ {
+ "name": "hubport"
+ },
+ {
+ "name": "netmap"
+ },
+ {
+ "name": "vhost-user"
+ },
+ {
+ "name": "vhost-vdpa"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "nic",
+ "user",
+ "tap",
+ "l2tpv3",
+ "socket",
+ "stream",
+ "dgram",
+ "vde",
+ "bridge",
+ "hubport",
+ "netmap",
+ "vhost-user",
+ "vhost-vdpa"
+ ]
+ },
+ {
+ "name": "374",
+ "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": "375",
+ "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": "[642]"
+ },
+ {
+ "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": "[642]"
+ },
+ {
+ "name": "guestfwd",
+ "default": null,
+ "type": "[642]"
+ },
+ {
+ "name": "tftp-server-name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "376",
+ "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": "377",
+ "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": "378",
+ "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": "379",
+ "members": [
+ {
+ "name": "addr",
+ "type": "392"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reconnect",
+ "default": null,
+ "type": "int",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "reconnect-ms",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "380",
+ "members": [
+ {
+ "name": "local",
+ "default": null,
+ "type": "392"
+ },
+ {
+ "name": "remote",
+ "default": null,
+ "type": "392"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "381",
+ "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": "382",
+ "members": [
+ {
+ "name": "br",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "helper",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "383",
+ "members": [
+ {
+ "name": "hubid",
+ "type": "int"
+ },
+ {
+ "name": "netdev",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "384",
+ "members": [
+ {
+ "name": "ifname",
+ "type": "str"
+ },
+ {
+ "name": "devname",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "386",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "vhostforce",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "387",
+ "members": [
+ {
+ "name": "vhostdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vhostfd",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-svq",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "391",
+ "members": [
+ {
+ "name": "normal"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "normal",
+ "none",
+ "all"
+ ]
+ },
+ {
+ "name": "[str]",
+ "element-type": "str",
+ "meta-type": "array"
+ },
+ {
+ "name": "392",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "603"
+ },
+ {
+ "case": "unix",
+ "type": "644"
+ },
+ {
+ "case": "vsock",
+ "type": "645"
+ },
+ {
+ "case": "fd",
+ "type": "646"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "621"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "394",
+ "members": [
+ {
+ "name": "half"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "half",
+ "full"
+ ]
+ },
+ {
+ "name": "395",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on"
+ ]
+ },
+ {
+ "name": "396",
+ "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": "397",
+ "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": "398",
+ "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": "399",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "passthrough",
+ "type": "647"
+ },
+ {
+ "case": "emulator",
+ "type": "648"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "121"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "400",
+ "members": [
+ {
+ "name": "vnc"
+ },
+ {
+ "name": "spice"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc",
+ "spice"
+ ]
+ },
+ {
+ "name": "401",
+ "members": [
+ {
+ "name": "keep"
+ },
+ {
+ "name": "fail"
+ },
+ {
+ "name": "disconnect"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "keep",
+ "fail",
+ "disconnect"
+ ]
+ },
+ {
+ "name": "402",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "403",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "404",
+ "members": [
+ {
+ "name": "ppm"
+ },
+ {
+ "name": "png"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ppm",
+ "png"
+ ]
+ },
+ {
+ "name": "409",
+ "members": [
+ {
+ "name": "ipv4"
+ },
+ {
+ "name": "ipv6"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "unknown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ipv4",
+ "ipv6",
+ "unix",
+ "vsock",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[416]",
+ "element-type": "416",
+ "meta-type": "array"
+ },
+ {
+ "name": "416",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "number",
+ "type": "650"
+ },
+ {
+ "case": "qcode",
+ "type": "651"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "649"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[417]",
+ "element-type": "417",
+ "meta-type": "array"
+ },
+ {
+ "name": "417",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "key",
+ "type": "653"
+ },
+ {
+ "case": "btn",
+ "type": "654"
+ },
+ {
+ "case": "rel",
+ "type": "655"
+ },
+ {
+ "case": "abs",
+ "type": "655"
+ },
+ {
+ "case": "mtt",
+ "type": "656"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "652"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "418",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "dbus"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "none",
+ "dbus"
+ ]
+ },
+ {
+ "name": "419",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "core"
+ },
+ {
+ "name": "es"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "core",
+ "es"
+ ]
+ },
+ {
+ "name": "420",
+ "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": "421",
+ "members": [
+ {
+ "name": "left-command-key",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "full-grab",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "swap-opt-cmd",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "zoom-to-fit",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "zoom-interpolation",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "422",
+ "members": [
+ {
+ "name": "charset",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "423",
+ "members": [
+ {
+ "name": "rendernode",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "424",
+ "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": "425",
+ "members": [
+ {
+ "name": "grab-mod",
+ "default": null,
+ "type": "657"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "426",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "427",
+ "members": [
+ {
+ "name": "tls-certs",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "428",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "429",
+ "members": [
+ {
+ "name": "addresses",
+ "default": null,
+ "type": "[392]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "430",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "setup"
+ },
+ {
+ "name": "cancelling"
+ },
+ {
+ "name": "cancelled"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "postcopy-active"
+ },
+ {
+ "name": "postcopy-paused"
+ },
+ {
+ "name": "postcopy-recover-setup"
+ },
+ {
+ "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-setup",
+ "postcopy-recover",
+ "completed",
+ "failed",
+ "colo",
+ "pre-switchover",
+ "device",
+ "wait-unplug"
+ ]
+ },
+ {
+ "name": "431",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ },
+ {
+ "name": "remaining",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ },
+ {
+ "name": "duplicate",
+ "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": "432",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "433",
+ "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": "[392]",
+ "element-type": "392",
+ "meta-type": "array"
+ },
+ {
+ "name": "434",
+ "members": [
+ {
+ "name": "xbzrle"
+ },
+ {
+ "name": "rdma-pin-all"
+ },
+ {
+ "name": "auto-converge"
+ },
+ {
+ "name": "zero-blocks",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "events"
+ },
+ {
+ "name": "postcopy-ram"
+ },
+ {
+ "name": "x-colo",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "release-ram"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "switchover-ack"
+ },
+ {
+ "name": "dirty-limit"
+ },
+ {
+ "name": "mapped-ram"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "xbzrle",
+ "rdma-pin-all",
+ "auto-converge",
+ "zero-blocks",
+ "events",
+ "postcopy-ram",
+ "x-colo",
+ "release-ram",
+ "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",
+ "switchover-ack",
+ "dirty-limit",
+ "mapped-ram"
+ ]
+ },
+ {
+ "name": "435",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "zlib"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "zlib"
+ ]
+ },
+ {
+ "name": "[436]",
+ "element-type": "436",
+ "meta-type": "array"
+ },
+ {
+ "name": "436",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[658]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "437",
+ "members": [
+ {
+ "name": "normal"
+ },
+ {
+ "name": "cpr-reboot"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "normal",
+ "cpr-reboot"
+ ]
+ },
+ {
+ "name": "438",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "legacy"
+ },
+ {
+ "name": "multifd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "legacy",
+ "multifd"
+ ]
+ },
+ {
+ "name": "439",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "440",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "request"
+ },
+ {
+ "name": "error"
+ },
+ {
+ "name": "processing"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "request",
+ "error",
+ "processing"
+ ]
+ },
+ {
+ "name": "[441]",
+ "element-type": "441",
+ "meta-type": "array"
+ },
+ {
+ "name": "441",
+ "members": [
+ {
+ "name": "channel-type",
+ "type": "659"
+ },
+ {
+ "name": "addr",
+ "type": "660"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "442",
+ "members": [
+ {
+ "name": "second"
+ },
+ {
+ "name": "millisecond"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "second",
+ "millisecond"
+ ]
+ },
+ {
+ "name": "443",
+ "members": [
+ {
+ "name": "page-sampling"
+ },
+ {
+ "name": "dirty-ring"
+ },
+ {
+ "name": "dirty-bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "page-sampling",
+ "dirty-ring",
+ "dirty-bitmap"
+ ]
+ },
+ {
+ "name": "444",
+ "members": [
+ {
+ "name": "unstarted"
+ },
+ {
+ "name": "measuring"
+ },
+ {
+ "name": "measured"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unstarted",
+ "measuring",
+ "measured"
+ ]
+ },
+ {
+ "name": "[445]",
+ "element-type": "445",
+ "meta-type": "array"
+ },
+ {
+ "name": "445",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[446]",
+ "element-type": "446",
+ "meta-type": "array"
+ },
+ {
+ "name": "446",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "abort",
+ "type": "662"
+ },
+ {
+ "case": "block-dirty-bitmap-add",
+ "type": "663"
+ },
+ {
+ "case": "block-dirty-bitmap-remove",
+ "type": "664"
+ },
+ {
+ "case": "block-dirty-bitmap-clear",
+ "type": "664"
+ },
+ {
+ "case": "block-dirty-bitmap-enable",
+ "type": "664"
+ },
+ {
+ "case": "block-dirty-bitmap-disable",
+ "type": "664"
+ },
+ {
+ "case": "block-dirty-bitmap-merge",
+ "type": "665"
+ },
+ {
+ "case": "blockdev-backup",
+ "type": "666"
+ },
+ {
+ "case": "blockdev-snapshot",
+ "type": "667"
+ },
+ {
+ "case": "blockdev-snapshot-internal-sync",
+ "type": "668"
+ },
+ {
+ "case": "blockdev-snapshot-sync",
+ "type": "669"
+ },
+ {
+ "case": "drive-backup",
+ "type": "670"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "661"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "447",
+ "members": [
+ {
+ "name": "completion-mode",
+ "default": null,
+ "type": "671"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "448",
+ "members": [
+ {
+ "name": "unavailable"
+ },
+ {
+ "name": "disabled"
+ },
+ {
+ "name": "enabled"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unavailable",
+ "disabled",
+ "enabled"
+ ]
+ },
+ {
+ "name": "[449]",
+ "element-type": "449",
+ "meta-type": "array"
+ },
+ {
+ "name": "449",
+ "members": [
+ {
+ "name": "oob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "oob"
+ ]
+ },
+ {
+ "name": "450",
+ "members": [
+ {
+ "name": "major",
+ "type": "int"
+ },
+ {
+ "name": "minor",
+ "type": "int"
+ },
+ {
+ "name": "micro",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "451",
+ "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": "452",
+ "members": [
+ {
+ "name": "json-type",
+ "type": "672"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "453",
+ "members": [
+ {
+ "name": "members",
+ "type": "[673]"
+ },
+ {
+ "name": "values",
+ "type": "[str]",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "454",
+ "members": [
+ {
+ "name": "element-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "455",
+ "members": [
+ {
+ "name": "members",
+ "type": "[674]"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "variants",
+ "default": null,
+ "type": "[675]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "456",
+ "members": [
+ {
+ "name": "members",
+ "type": "[676]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "457",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ },
+ {
+ "name": "ret-type",
+ "type": "str"
+ },
+ {
+ "name": "allow-oob",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "458",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "459",
+ "members": [
+ {
+ "name": "acpi-generic-initiator"
+ },
+ {
+ "name": "acpi-generic-port"
+ },
+ {
+ "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-backend-lkcf"
+ },
+ {
+ "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": "iommufd"
+ },
+ {
+ "name": "iothread"
+ },
+ {
+ "name": "main-loop"
+ },
+ {
+ "name": "memory-backend-epc"
+ },
+ {
+ "name": "memory-backend-file"
+ },
+ {
+ "name": "memory-backend-memfd"
+ },
+ {
+ "name": "memory-backend-ram"
+ },
+ {
+ "name": "memory-backend-shm"
+ },
+ {
+ "name": "pef-guest"
+ },
+ {
+ "name": "pr-manager-helper"
+ },
+ {
+ "name": "qtest"
+ },
+ {
+ "name": "rme-guest"
+ },
+ {
+ "name": "rng-builtin"
+ },
+ {
+ "name": "rng-egd"
+ },
+ {
+ "name": "rng-random"
+ },
+ {
+ "name": "secret"
+ },
+ {
+ "name": "secret_keyring"
+ },
+ {
+ "name": "sev-guest"
+ },
+ {
+ "name": "sev-snp-guest"
+ },
+ {
+ "name": "thread-context"
+ },
+ {
+ "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": [
+ "acpi-generic-initiator",
+ "acpi-generic-port",
+ "authz-list",
+ "authz-listfile",
+ "authz-pam",
+ "authz-simple",
+ "can-bus",
+ "can-host-socketcan",
+ "colo-compare",
+ "cryptodev-backend",
+ "cryptodev-backend-builtin",
+ "cryptodev-backend-lkcf",
+ "cryptodev-vhost-user",
+ "dbus-vmstate",
+ "filter-buffer",
+ "filter-dump",
+ "filter-mirror",
+ "filter-redirector",
+ "filter-replay",
+ "filter-rewriter",
+ "input-barrier",
+ "input-linux",
+ "iommufd",
+ "iothread",
+ "main-loop",
+ "memory-backend-epc",
+ "memory-backend-file",
+ "memory-backend-memfd",
+ "memory-backend-ram",
+ "memory-backend-shm",
+ "pef-guest",
+ "pr-manager-helper",
+ "qtest",
+ "rme-guest",
+ "rng-builtin",
+ "rng-egd",
+ "rng-random",
+ "secret",
+ "secret_keyring",
+ "sev-guest",
+ "sev-snp-guest",
+ "thread-context",
+ "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": "460",
+ "members": [
+ {
+ "name": "pci-dev",
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "461",
+ "members": [
+ {
+ "name": "pci-bus",
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "462",
+ "members": [
+ {
+ "name": "policy",
+ "default": null,
+ "type": "677"
+ },
+ {
+ "name": "rules",
+ "default": null,
+ "type": "[678]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "463",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "refresh",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "464",
+ "members": [
+ {
+ "name": "service",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "465",
+ "members": [
+ {
+ "name": "identity",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "466",
+ "members": [
+ {
+ "name": "if",
+ "type": "str"
+ },
+ {
+ "name": "canbus",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "467",
+ "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": "468",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-bps",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-ops",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "469",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-bps",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-ops",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "470",
+ "members": [
+ {
+ "name": "addr",
+ "type": "str"
+ },
+ {
+ "name": "id-list",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "471",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ },
+ {
+ "name": "interval",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "472",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ },
+ {
+ "name": "file",
+ "type": "str"
+ },
+ {
+ "name": "maxlen",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "473",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ },
+ {
+ "name": "outdev",
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "474",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ },
+ {
+ "name": "indev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "outdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "475",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "476",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "679"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "680"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "477",
+ "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": "478",
+ "members": [
+ {
+ "name": "evdev",
+ "type": "str"
+ },
+ {
+ "name": "grab_all",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "repeat",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "grab-toggle",
+ "default": null,
+ "type": "681"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "479",
+ "members": [
+ {
+ "name": "fd",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "480",
+ "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": "481",
+ "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": "482",
+ "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": "509"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-context",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "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": "483",
+ "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": "509"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-context",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "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": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "discard-data",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mem-path",
+ "type": "str"
+ },
+ {
+ "name": "readonly",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "rom",
+ "default": null,
+ "type": "589"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "484",
+ "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": "509"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-context",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "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": "485",
+ "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": "509"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-context",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "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": "486",
+ "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": "509"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-context",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "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": "487",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "488",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "489",
+ "members": [
+ {
+ "name": "personalization-value",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "measurement-algorithm",
+ "default": null,
+ "type": "682"
+ },
+ {
+ "name": "measurement-log",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "490",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "491",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "492",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "493",
+ "members": [
+ {
+ "name": "format",
+ "default": null,
+ "type": "683"
+ },
+ {
+ "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": "494",
+ "members": [
+ {
+ "name": "format",
+ "default": null,
+ "type": "683"
+ },
+ {
+ "name": "keyid",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "iv",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "serial",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "495",
+ "members": [
+ {
+ "name": "sev-device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cbitpos",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ },
+ {
+ "name": "kernel-hashes",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "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": "legacy-vm-type",
+ "default": null,
+ "type": "589"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "496",
+ "members": [
+ {
+ "name": "sev-device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cbitpos",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ },
+ {
+ "name": "kernel-hashes",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "guest-visible-workarounds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id-block",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id-auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "author-key-enabled",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "host-data",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vcek-disabled",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "497",
+ "members": [
+ {
+ "name": "cpu-affinity",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "node-affinity",
+ "default": null,
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "498",
+ "members": [
+ {
+ "name": "limits",
+ "default": null,
+ "type": "684"
+ },
+ {
+ "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": "499",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "685"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "500",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "685"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "501",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "685"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sanity-check",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "passwordid",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "502",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "685"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "503",
+ "members": [
+ {
+ "name": "fd",
+ "type": "str"
+ },
+ {
+ "name": "devid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "504",
+ "members": [
+ {
+ "name": "socket",
+ "type": "392"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "505",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "drawer-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "book-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": "module-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "506",
+ "members": [
+ {
+ "name": "aarch64"
+ },
+ {
+ "name": "alpha"
+ },
+ {
+ "name": "arm"
+ },
+ {
+ "name": "avr"
+ },
+ {
+ "name": "hppa"
+ },
+ {
+ "name": "i386"
+ },
+ {
+ "name": "loongarch64"
+ },
+ {
+ "name": "m68k"
+ },
+ {
+ "name": "microblaze"
+ },
+ {
+ "name": "microblazeel"
+ },
+ {
+ "name": "mips"
+ },
+ {
+ "name": "mips64"
+ },
+ {
+ "name": "mips64el"
+ },
+ {
+ "name": "mipsel"
+ },
+ {
+ "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",
+ "hppa",
+ "i386",
+ "loongarch64",
+ "m68k",
+ "microblaze",
+ "microblazeel",
+ "mips",
+ "mips64",
+ "mips64el",
+ "mipsel",
+ "or1k",
+ "ppc",
+ "ppc64",
+ "riscv32",
+ "riscv64",
+ "rx",
+ "s390x",
+ "sh4",
+ "sh4eb",
+ "sparc",
+ "sparc64",
+ "tricore",
+ "x86_64",
+ "xtensa",
+ "xtensaeb"
+ ]
+ },
+ {
+ "name": "507",
+ "members": [
+ {
+ "name": "cpu-state",
+ "type": "686"
+ },
+ {
+ "name": "dedicated",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "entitlement",
+ "default": null,
+ "type": "525"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[508]",
+ "element-type": "508",
+ "meta-type": "array"
+ },
+ {
+ "name": "508",
+ "members": [
+ {
+ "name": "qom-type",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "509",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "preferred"
+ },
+ {
+ "name": "bind"
+ },
+ {
+ "name": "interleave"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "preferred",
+ "bind",
+ "interleave"
+ ]
+ },
+ {
+ "name": "510",
+ "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": "511",
+ "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": "512",
+ "members": [
+ {
+ "name": "src",
+ "type": "int"
+ },
+ {
+ "name": "dst",
+ "type": "int"
+ },
+ {
+ "name": "val",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "513",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "drawer-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "book-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": "module-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "514",
+ "members": [
+ {
+ "name": "initiator",
+ "type": "int"
+ },
+ {
+ "name": "target",
+ "type": "int"
+ },
+ {
+ "name": "hierarchy",
+ "type": "687"
+ },
+ {
+ "name": "data-type",
+ "type": "688"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bandwidth",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "515",
+ "members": [
+ {
+ "name": "node-id",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "level",
+ "type": "int"
+ },
+ {
+ "name": "associativity",
+ "type": "689"
+ },
+ {
+ "name": "policy",
+ "type": "690"
+ },
+ {
+ "name": "line",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "516",
+ "members": [
+ {
+ "name": "dimm"
+ },
+ {
+ "name": "nvdimm"
+ },
+ {
+ "name": "virtio-pmem"
+ },
+ {
+ "name": "virtio-mem"
+ },
+ {
+ "name": "sgx-epc"
+ },
+ {
+ "name": "hv-balloon"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dimm",
+ "nvdimm",
+ "virtio-pmem",
+ "virtio-mem",
+ "sgx-epc",
+ "hv-balloon"
+ ]
+ },
+ {
+ "name": "517",
+ "members": [
+ {
+ "name": "data",
+ "type": "691"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "518",
+ "members": [
+ {
+ "name": "data",
+ "type": "692"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "519",
+ "members": [
+ {
+ "name": "data",
+ "type": "693"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "520",
+ "members": [
+ {
+ "name": "data",
+ "type": "694"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "521",
+ "members": [
+ {
+ "name": "data",
+ "type": "695"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "522",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "523",
+ "members": [
+ {
+ "name": "incompatible"
+ },
+ {
+ "name": "identical"
+ },
+ {
+ "name": "superset"
+ },
+ {
+ "name": "subset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "incompatible",
+ "identical",
+ "superset",
+ "subset"
+ ]
+ },
+ {
+ "name": "524",
+ "members": [
+ {
+ "name": "static"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "static",
+ "full"
+ ]
+ },
+ {
+ "name": "525",
+ "members": [
+ {
+ "name": "auto"
+ },
+ {
+ "name": "low"
+ },
+ {
+ "name": "medium"
+ },
+ {
+ "name": "high"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "auto",
+ "low",
+ "medium",
+ "high"
+ ]
+ },
+ {
+ "name": "527",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "record"
+ },
+ {
+ "name": "play"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "record",
+ "play"
+ ]
+ },
+ {
+ "name": "528",
+ "members": [
+ {
+ "name": "block-node"
+ },
+ {
+ "name": "chardev"
+ },
+ {
+ "name": "migration"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-node",
+ "chardev",
+ "migration"
+ ]
+ },
+ {
+ "name": "529",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "530",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[531]",
+ "element-type": "531",
+ "meta-type": "array"
+ },
+ {
+ "name": "531",
+ "members": [
+ {
+ "name": "fd",
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[532]",
+ "element-type": "532",
+ "meta-type": "array"
+ },
+ {
+ "name": "532",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "696"
+ },
+ {
+ "name": "help",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[537]",
+ "element-type": "537",
+ "meta-type": "array"
+ },
+ {
+ "name": "537",
+ "members": [
+ {
+ "name": "measurement-algo",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[538]",
+ "element-type": "538",
+ "meta-type": "array"
+ },
+ {
+ "name": "538",
+ "members": [
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "540",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "dbus"
+ },
+ {
+ "name": "oss"
+ },
+ {
+ "name": "wav"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "dbus",
+ "oss",
+ "wav"
+ ]
+ },
+ {
+ "name": "541",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "697"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "542",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "698"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "698"
+ },
+ {
+ "name": "threshold",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "543",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "699"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "699"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "544",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "545",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "700"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "700"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "546",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "701"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "701"
+ },
+ {
+ "name": "try-mmap",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "exclusive",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dsp-policy",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "547",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "702"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "702"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "548",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "703"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "703"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "549",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "704"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "704"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "550",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "dev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "551",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "552",
+ "members": [
+ {
+ "name": "DIMM"
+ },
+ {
+ "name": "CPU"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "DIMM",
+ "CPU"
+ ]
+ },
+ {
+ "name": "[553]",
+ "element-type": "553",
+ "meta-type": "array"
+ },
+ {
+ "name": "553",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "function",
+ "type": "int"
+ },
+ {
+ "name": "class_info",
+ "type": "705"
+ },
+ {
+ "name": "id",
+ "type": "706"
+ },
+ {
+ "name": "irq",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "irq_pin",
+ "type": "int"
+ },
+ {
+ "name": "qdev_id",
+ "type": "str"
+ },
+ {
+ "name": "pci_bridge",
+ "default": null,
+ "type": "707"
+ },
+ {
+ "name": "regions",
+ "type": "[708]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "554",
+ "members": [
+ {
+ "name": "vm"
+ },
+ {
+ "name": "vcpu"
+ },
+ {
+ "name": "cryptodev"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vm",
+ "vcpu",
+ "cryptodev"
+ ]
+ },
+ {
+ "name": "[555]",
+ "element-type": "555",
+ "meta-type": "array"
+ },
+ {
+ "name": "555",
+ "members": [
+ {
+ "name": "provider",
+ "type": "557"
+ },
+ {
+ "name": "names",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "556",
+ "members": [
+ {
+ "name": "vcpus",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "557",
+ "members": [
+ {
+ "name": "kvm"
+ },
+ {
+ "name": "cryptodev"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "kvm",
+ "cryptodev"
+ ]
+ },
+ {
+ "name": "[558]",
+ "element-type": "558",
+ "meta-type": "array"
+ },
+ {
+ "name": "558",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "709"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[559]",
+ "element-type": "559",
+ "meta-type": "array"
+ },
+ {
+ "name": "559",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "710"
+ },
+ {
+ "name": "unit",
+ "default": null,
+ "type": "711"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "exponent",
+ "type": "int"
+ },
+ {
+ "name": "bucket-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "560",
+ "members": [
+ {
+ "name": "transports",
+ "type": "[str]"
+ },
+ {
+ "name": "dev-features",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-dev-features",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "561",
+ "members": [
+ {
+ "name": "statuses",
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-statuses",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "562",
+ "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": "560"
+ },
+ {
+ "name": "acked-features",
+ "type": "560"
+ },
+ {
+ "name": "backend-features",
+ "type": "560"
+ },
+ {
+ "name": "protocol-features",
+ "type": "712"
+ },
+ {
+ "name": "max-queues",
+ "type": "int"
+ },
+ {
+ "name": "backend-cap",
+ "type": "int"
+ },
+ {
+ "name": "log-enabled",
+ "type": "bool"
+ },
+ {
+ "name": "log-size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[563]",
+ "element-type": "563",
+ "meta-type": "array"
+ },
+ {
+ "name": "563",
+ "members": [
+ {
+ "name": "addr",
+ "type": "int"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "flags",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "564",
+ "members": [
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "idx",
+ "type": "int"
+ },
+ {
+ "name": "ring",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "565",
+ "members": [
+ {
+ "name": "flags",
+ "type": "int"
+ },
+ {
+ "name": "idx",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "566",
+ "members": [
+ {
+ "name": "stop"
+ },
+ {
+ "name": "running"
+ },
+ {
+ "name": "stop-copy"
+ },
+ {
+ "name": "resuming"
+ },
+ {
+ "name": "running-p2p"
+ },
+ {
+ "name": "pre-copy"
+ },
+ {
+ "name": "pre-copy-p2p"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "stop",
+ "running",
+ "stop-copy",
+ "resuming",
+ "running-p2p",
+ "pre-copy",
+ "pre-copy-p2p"
+ ]
+ },
+ {
+ "name": "[567]",
+ "element-type": "567",
+ "meta-type": "array"
+ },
+ {
+ "name": "567",
+ "members": [
+ {
+ "name": "cipher"
+ },
+ {
+ "name": "hash"
+ },
+ {
+ "name": "mac"
+ },
+ {
+ "name": "aead"
+ },
+ {
+ "name": "akcipher"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cipher",
+ "hash",
+ "mac",
+ "aead",
+ "akcipher"
+ ]
+ },
+ {
+ "name": "[568]",
+ "element-type": "568",
+ "meta-type": "array"
+ },
+ {
+ "name": "568",
+ "members": [
+ {
+ "name": "queue",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "713"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "569",
+ "members": [
+ {
+ "name": "informational"
+ },
+ {
+ "name": "warning"
+ },
+ {
+ "name": "failure"
+ },
+ {
+ "name": "fatal"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "informational",
+ "warning",
+ "failure",
+ "fatal"
+ ]
+ },
+ {
+ "name": "[570]",
+ "element-type": "570",
+ "meta-type": "array"
+ },
+ {
+ "name": "570",
+ "members": [
+ {
+ "name": "type",
+ "type": "714"
+ },
+ {
+ "name": "header",
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "571",
+ "members": [
+ {
+ "name": "cache-data-ecc"
+ },
+ {
+ "name": "mem-data-ecc"
+ },
+ {
+ "name": "crc-threshold"
+ },
+ {
+ "name": "retry-threshold"
+ },
+ {
+ "name": "cache-poison-received"
+ },
+ {
+ "name": "mem-poison-received"
+ },
+ {
+ "name": "physical"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cache-data-ecc",
+ "mem-data-ecc",
+ "crc-threshold",
+ "retry-threshold",
+ "cache-poison-received",
+ "mem-poison-received",
+ "physical"
+ ]
+ },
+ {
+ "name": "572",
+ "members": [
+ {
+ "name": "free"
+ },
+ {
+ "name": "contiguous"
+ },
+ {
+ "name": "prescriptive"
+ },
+ {
+ "name": "enable-shared-access"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "free",
+ "contiguous",
+ "prescriptive",
+ "enable-shared-access"
+ ]
+ },
+ {
+ "name": "[573]",
+ "element-type": "573",
+ "meta-type": "array"
+ },
+ {
+ "name": "573",
+ "members": [
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "574",
+ "members": [
+ {
+ "name": "tag-based"
+ },
+ {
+ "name": "prescriptive"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tag-based",
+ "prescriptive"
+ ]
+ },
+ {
+ "name": "575",
+ "members": [
+ {
+ "name": "hyper-v"
+ },
+ {
+ "name": "s390"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hyper-v",
+ "s390"
+ ]
+ },
+ {
+ "name": "576",
+ "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": "577",
+ "members": [
+ {
+ "name": "core",
+ "type": "int"
+ },
+ {
+ "name": "psw-mask",
+ "type": "int"
+ },
+ {
+ "name": "psw-addr",
+ "type": "int"
+ },
+ {
+ "name": "reason",
+ "type": "715"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[578]",
+ "element-type": "578",
+ "meta-type": "array"
+ },
+ {
+ "name": "578",
+ "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_zone_append_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_zone_append_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_zone_append_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"
+ },
+ {
+ "name": "avg_zone_append_queue_depth",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "579",
+ "members": [
+ {
+ "name": "boundaries",
+ "type": "[int]"
+ },
+ {
+ "name": "bins",
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "580",
+ "members": [
+ {
+ "name": "discard-nb-ok",
+ "type": "int"
+ },
+ {
+ "name": "discard-nb-failed",
+ "type": "int"
+ },
+ {
+ "name": "discard-bytes-ok",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "581",
+ "members": [
+ {
+ "name": "completion-errors",
+ "type": "int"
+ },
+ {
+ "name": "aligned-accesses",
+ "type": "int"
+ },
+ {
+ "name": "unaligned-accesses",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[78]",
+ "element-type": "78",
+ "meta-type": "array"
+ },
+ {
+ "name": "582",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "qcow2",
+ "type": "717"
+ },
+ {
+ "case": "vmdk",
+ "type": "718"
+ },
+ {
+ "case": "luks",
+ "type": "719"
+ },
+ {
+ "case": "rbd",
+ "type": "720"
+ },
+ {
+ "case": "file",
+ "type": "721"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "716"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "583",
+ "members": [
+ {
+ "name": "block-backend"
+ },
+ {
+ "name": "block-job"
+ },
+ {
+ "name": "block-driver"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-backend",
+ "block-job",
+ "block-driver"
+ ]
+ },
+ {
+ "name": "[584]",
+ "element-type": "584",
+ "meta-type": "array"
+ },
+ {
+ "name": "584",
+ "members": [
+ {
+ "name": "consistent-read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "write-unchanged"
+ },
+ {
+ "name": "resize"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "consistent-read",
+ "write",
+ "write-unchanged",
+ "resize"
+ ]
+ },
+ {
+ "name": "585",
+ "members": [
+ {
+ "type": "58"
+ },
+ {
+ "type": "str"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "[586]",
+ "element-type": "586",
+ "meta-type": "array"
+ },
+ {
+ "name": "586",
+ "members": [
+ {
+ "name": "event",
+ "type": "722"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iotype",
+ "default": null,
+ "type": "723"
+ },
+ {
+ "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": "[587]",
+ "element-type": "587",
+ "meta-type": "array"
+ },
+ {
+ "name": "587",
+ "members": [
+ {
+ "name": "event",
+ "type": "722"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "new_state",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "588",
+ "members": [
+ {
+ "name": "break-guest-write"
+ },
+ {
+ "name": "break-snapshot"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "break-guest-write",
+ "break-snapshot"
+ ]
+ },
+ {
+ "name": "589",
+ "members": [
+ {
+ "name": "auto"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "off"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "auto",
+ "on",
+ "off"
+ ]
+ },
+ {
+ "name": "590",
+ "members": [
+ {
+ "name": "threads"
+ },
+ {
+ "name": "native"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "threads",
+ "native"
+ ]
+ },
+ {
+ "name": "591",
+ "members": [
+ {
+ "name": "tcp"
+ },
+ {
+ "name": "iser"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tcp",
+ "iser"
+ ]
+ },
+ {
+ "name": "592",
+ "members": [
+ {
+ "name": "crc32c"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "crc32c-none"
+ },
+ {
+ "name": "none-crc32c"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "crc32c",
+ "none",
+ "crc32c-none",
+ "none-crc32c"
+ ]
+ },
+ {
+ "name": "593",
+ "members": [
+ {
+ "name": "type",
+ "type": "724"
+ },
+ {
+ "name": "host",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "594",
+ "members": [
+ {
+ "type": "58"
+ },
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "595",
+ "members": [
+ {
+ "type": "725"
+ },
+ {
+ "type": "726"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "596",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "728"
+ },
+ {
+ "case": "luks",
+ "type": "729"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "727"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "597",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "728"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "730"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[585]",
+ "element-type": "585",
+ "meta-type": "array"
+ },
+ {
+ "name": "598",
+ "members": [
+ {
+ "name": "quorum"
+ },
+ {
+ "name": "fifo"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "quorum",
+ "fifo"
+ ]
+ },
+ {
+ "name": "599",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "732"
+ },
+ {
+ "case": "luks2",
+ "type": "733"
+ },
+ {
+ "case": "luks-any",
+ "type": "734"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "731"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "599"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[600]",
+ "element-type": "600",
+ "meta-type": "array"
+ },
+ {
+ "name": "600",
+ "members": [
+ {
+ "name": "cephx"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cephx",
+ "none"
+ ]
+ },
+ {
+ "name": "[601]",
+ "element-type": "601",
+ "meta-type": "array"
+ },
+ {
+ "name": "601",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "602",
+ "members": [
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "603",
+ "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": "604",
+ "tag": "mode",
+ "variants": [
+ {
+ "case": "hash",
+ "type": "736"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ },
+ {
+ "case": "known_hosts",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "mode",
+ "type": "735"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "605",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "737"
+ },
+ {
+ "name": "nocow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extent-size-hint",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "606",
+ "members": [
+ {
+ "name": "location",
+ "type": "331"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "737"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "607",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "738"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "739"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "740"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "741"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "741"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "file",
+ "default": null,
+ "type": "585"
+ },
+ {
+ "name": "header",
+ "default": null,
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "737"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "608",
+ "members": [
+ {
+ "name": "location",
+ "type": "338"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "609",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "610",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "742"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "611",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "585"
+ },
+ {
+ "name": "data-file-raw",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extended-l2",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "version",
+ "default": null,
+ "type": "743"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "318"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "742"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "737"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-bits",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compression-type",
+ "default": null,
+ "type": "744"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "612",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "318"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "table-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "613",
+ "members": [
+ {
+ "name": "location",
+ "type": "348"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "745"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "614",
+ "members": [
+ {
+ "name": "location",
+ "type": "350"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "615",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "737"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "616",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "log-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "746"
+ },
+ {
+ "name": "block-state-zero",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "617",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "default": null,
+ "type": "[585]"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "747"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "adapter-type",
+ "default": null,
+ "type": "748"
+ },
+ {
+ "name": "hwversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "toolsversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "zeroed-grain",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "618",
+ "members": [
+ {
+ "name": "file",
+ "type": "585"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "749"
+ },
+ {
+ "name": "force-size",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "619",
+ "members": [
+ {
+ "name": "state",
+ "type": "750"
+ },
+ {
+ "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": "620",
+ "members": [
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "751"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "null",
+ "json-type": "null",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "621",
+ "members": [
+ {
+ "name": "inet"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "fd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet",
+ "unix",
+ "vsock",
+ "fd"
+ ]
+ },
+ {
+ "name": "622",
+ "members": [
+ {
+ "name": "data",
+ "type": "603"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "623",
+ "members": [
+ {
+ "name": "data",
+ "type": "644"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "624",
+ "members": [
+ {
+ "name": "data",
+ "type": "645"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "625",
+ "members": [
+ {
+ "name": "data",
+ "type": "646"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "626",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "auto"
+ ]
+ },
+ {
+ "name": "627",
+ "members": [
+ {
+ "name": "file"
+ },
+ {
+ "name": "serial"
+ },
+ {
+ "name": "parallel"
+ },
+ {
+ "name": "pipe"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "udp"
+ },
+ {
+ "name": "pty"
+ },
+ {
+ "name": "null"
+ },
+ {
+ "name": "mux"
+ },
+ {
+ "name": "msmouse"
+ },
+ {
+ "name": "wctablet"
+ },
+ {
+ "name": "testdev"
+ },
+ {
+ "name": "stdio"
+ },
+ {
+ "name": "dbus"
+ },
+ {
+ "name": "vc"
+ },
+ {
+ "name": "ringbuf"
+ },
+ {
+ "name": "memory",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "file",
+ "serial",
+ "parallel",
+ "pipe",
+ "socket",
+ "udp",
+ "pty",
+ "null",
+ "mux",
+ "msmouse",
+ "wctablet",
+ "testdev",
+ "stdio",
+ "dbus",
+ "vc",
+ "ringbuf",
+ "memory"
+ ]
+ },
+ {
+ "name": "628",
+ "members": [
+ {
+ "name": "data",
+ "type": "752"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "629",
+ "members": [
+ {
+ "name": "data",
+ "type": "753"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "630",
+ "members": [
+ {
+ "name": "data",
+ "type": "754"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "631",
+ "members": [
+ {
+ "name": "data",
+ "type": "755"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "632",
+ "members": [
+ {
+ "name": "data",
+ "type": "756"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "633",
+ "members": [
+ {
+ "name": "data",
+ "type": "757"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "634",
+ "members": [
+ {
+ "name": "data",
+ "type": "758"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "635",
+ "members": [
+ {
+ "name": "data",
+ "type": "759"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "639",
+ "members": [
+ {
+ "name": "data",
+ "type": "763"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "640",
+ "members": [
+ {
+ "name": "data",
+ "type": "764"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "641",
+ "members": [
+ {
+ "name": "data",
+ "type": "765"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[642]",
+ "element-type": "642",
+ "meta-type": "array"
+ },
+ {
+ "name": "642",
+ "members": [
+ {
+ "name": "str",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "644",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tight",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "645",
+ "members": [
+ {
+ "name": "cid",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "646",
+ "members": [
+ {
+ "name": "str",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "647",
+ "members": [
+ {
+ "name": "data",
+ "type": "766"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "648",
+ "members": [
+ {
+ "name": "data",
+ "type": "767"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "649",
+ "members": [
+ {
+ "name": "number"
+ },
+ {
+ "name": "qcode"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "number",
+ "qcode"
+ ]
+ },
+ {
+ "name": "650",
+ "members": [
+ {
+ "name": "data",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "651",
+ "members": [
+ {
+ "name": "data",
+ "type": "768"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "652",
+ "members": [
+ {
+ "name": "key"
+ },
+ {
+ "name": "btn"
+ },
+ {
+ "name": "rel"
+ },
+ {
+ "name": "abs"
+ },
+ {
+ "name": "mtt"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "key",
+ "btn",
+ "rel",
+ "abs",
+ "mtt"
+ ]
+ },
+ {
+ "name": "653",
+ "members": [
+ {
+ "name": "data",
+ "type": "769"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "654",
+ "members": [
+ {
+ "name": "data",
+ "type": "770"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "655",
+ "members": [
+ {
+ "name": "data",
+ "type": "771"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "656",
+ "members": [
+ {
+ "name": "data",
+ "type": "772"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "657",
+ "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": "[658]",
+ "element-type": "658",
+ "meta-type": "array"
+ },
+ {
+ "name": "658",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "transform",
+ "default": null,
+ "type": "773"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "659",
+ "members": [
+ {
+ "name": "main"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "main"
+ ]
+ },
+ {
+ "name": "660",
+ "tag": "transport",
+ "variants": [
+ {
+ "case": "socket",
+ "type": "392"
+ },
+ {
+ "case": "exec",
+ "type": "775"
+ },
+ {
+ "case": "rdma",
+ "type": "603"
+ },
+ {
+ "case": "file",
+ "type": "776"
+ }
+ ],
+ "members": [
+ {
+ "name": "transport",
+ "type": "774"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "661",
+ "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": "662",
+ "members": [
+ {
+ "name": "data",
+ "type": "777"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "663",
+ "members": [
+ {
+ "name": "data",
+ "type": "44"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "664",
+ "members": [
+ {
+ "name": "data",
+ "type": "45"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "665",
+ "members": [
+ {
+ "name": "data",
+ "type": "46"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "666",
+ "members": [
+ {
+ "name": "data",
+ "type": "39"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "667",
+ "members": [
+ {
+ "name": "data",
+ "type": "35"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "668",
+ "members": [
+ {
+ "name": "data",
+ "type": "76"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "669",
+ "members": [
+ {
+ "name": "data",
+ "type": "34"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "670",
+ "members": [
+ {
+ "name": "data",
+ "type": "38"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "671",
+ "members": [
+ {
+ "name": "individual"
+ },
+ {
+ "name": "grouped"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "individual",
+ "grouped"
+ ]
+ },
+ {
+ "name": "672",
+ "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": "[673]",
+ "element-type": "673",
+ "meta-type": "array"
+ },
+ {
+ "name": "673",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[674]",
+ "element-type": "674",
+ "meta-type": "array"
+ },
+ {
+ "name": "674",
+ "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": "[675]",
+ "element-type": "675",
+ "meta-type": "array"
+ },
+ {
+ "name": "675",
+ "members": [
+ {
+ "name": "case",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[676]",
+ "element-type": "676",
+ "meta-type": "array"
+ },
+ {
+ "name": "676",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "677",
+ "members": [
+ {
+ "name": "deny"
+ },
+ {
+ "name": "allow"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "deny",
+ "allow"
+ ]
+ },
+ {
+ "name": "[678]",
+ "element-type": "678",
+ "meta-type": "array"
+ },
+ {
+ "name": "678",
+ "members": [
+ {
+ "name": "match",
+ "type": "str"
+ },
+ {
+ "name": "policy",
+ "type": "677"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "778"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "679",
+ "members": [
+ {
+ "name": "all"
+ },
+ {
+ "name": "rx"
+ },
+ {
+ "name": "tx"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "all",
+ "rx",
+ "tx"
+ ]
+ },
+ {
+ "name": "680",
+ "members": [
+ {
+ "name": "before"
+ },
+ {
+ "name": "behind"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "before",
+ "behind"
+ ]
+ },
+ {
+ "name": "681",
+ "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": "682",
+ "members": [
+ {
+ "name": "sha256"
+ },
+ {
+ "name": "sha512"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "sha256",
+ "sha512"
+ ]
+ },
+ {
+ "name": "683",
+ "members": [
+ {
+ "name": "raw"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "raw",
+ "base64"
+ ]
+ },
+ {
+ "name": "684",
+ "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": "685",
+ "members": [
+ {
+ "name": "client"
+ },
+ {
+ "name": "server"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server"
+ ]
+ },
+ {
+ "name": "686",
+ "members": [
+ {
+ "name": "uninitialized"
+ },
+ {
+ "name": "stopped"
+ },
+ {
+ "name": "check-stop"
+ },
+ {
+ "name": "operating"
+ },
+ {
+ "name": "load"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "uninitialized",
+ "stopped",
+ "check-stop",
+ "operating",
+ "load"
+ ]
+ },
+ {
+ "name": "687",
+ "members": [
+ {
+ "name": "memory"
+ },
+ {
+ "name": "first-level"
+ },
+ {
+ "name": "second-level"
+ },
+ {
+ "name": "third-level"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "memory",
+ "first-level",
+ "second-level",
+ "third-level"
+ ]
+ },
+ {
+ "name": "688",
+ "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": "689",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "direct"
+ },
+ {
+ "name": "complex"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "direct",
+ "complex"
+ ]
+ },
+ {
+ "name": "690",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "write-back"
+ },
+ {
+ "name": "write-through"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "write-back",
+ "write-through"
+ ]
+ },
+ {
+ "name": "691",
+ "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": "692",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "693",
+ "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": "694",
+ "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": "695",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-size",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "696",
+ "members": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "boolean"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "size"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "boolean",
+ "number",
+ "size"
+ ]
+ },
+ {
+ "name": "697",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "698",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "period-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "try-poll",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "699",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "buffer-count",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "700",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "server-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "client-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "connect-ports",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "start-server",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "exact-name",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "701",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "buffer-count",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "try-poll",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "702",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stream-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "703",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stream-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "704",
+ "members": [
+ {
+ "name": "mixing-engine",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fixed-settings",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "frequency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "voices",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "779"
+ },
+ {
+ "name": "buffer-length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "buffer-count",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "705",
+ "members": [
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "class",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "706",
+ "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": "707",
+ "members": [
+ {
+ "name": "bus",
+ "type": "780"
+ },
+ {
+ "name": "devices",
+ "default": null,
+ "type": "[553]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[708]",
+ "element-type": "708",
+ "meta-type": "array"
+ },
+ {
+ "name": "708",
+ "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": "709",
+ "members": [
+ {
+ "type": "int"
+ },
+ {
+ "type": "bool"
+ },
+ {
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "710",
+ "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": "711",
+ "members": [
+ {
+ "name": "bytes"
+ },
+ {
+ "name": "seconds"
+ },
+ {
+ "name": "cycles"
+ },
+ {
+ "name": "boolean"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "bytes",
+ "seconds",
+ "cycles",
+ "boolean"
+ ]
+ },
+ {
+ "name": "712",
+ "members": [
+ {
+ "name": "protocols",
+ "type": "[str]"
+ },
+ {
+ "name": "unknown-protocols",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "713",
+ "members": [
+ {
+ "name": "builtin"
+ },
+ {
+ "name": "vhost-user"
+ },
+ {
+ "name": "lkcf"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "builtin",
+ "vhost-user",
+ "lkcf"
+ ]
+ },
+ {
+ "name": "714",
+ "members": [
+ {
+ "name": "cache-data-parity"
+ },
+ {
+ "name": "cache-address-parity"
+ },
+ {
+ "name": "cache-be-parity"
+ },
+ {
+ "name": "cache-data-ecc"
+ },
+ {
+ "name": "mem-data-parity"
+ },
+ {
+ "name": "mem-address-parity"
+ },
+ {
+ "name": "mem-be-parity"
+ },
+ {
+ "name": "mem-data-ecc"
+ },
+ {
+ "name": "reinit-threshold"
+ },
+ {
+ "name": "rsvd-encoding"
+ },
+ {
+ "name": "poison-received"
+ },
+ {
+ "name": "receiver-overflow"
+ },
+ {
+ "name": "internal"
+ },
+ {
+ "name": "cxl-ide-tx"
+ },
+ {
+ "name": "cxl-ide-rx"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cache-data-parity",
+ "cache-address-parity",
+ "cache-be-parity",
+ "cache-data-ecc",
+ "mem-data-parity",
+ "mem-address-parity",
+ "mem-be-parity",
+ "mem-data-ecc",
+ "reinit-threshold",
+ "rsvd-encoding",
+ "poison-received",
+ "receiver-overflow",
+ "internal",
+ "cxl-ide-tx",
+ "cxl-ide-rx"
+ ]
+ },
+ {
+ "name": "715",
+ "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": "716",
+ "members": [
+ {
+ "name": "qcow2"
+ },
+ {
+ "name": "vmdk"
+ },
+ {
+ "name": "luks"
+ },
+ {
+ "name": "rbd"
+ },
+ {
+ "name": "file"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow2",
+ "vmdk",
+ "luks",
+ "rbd",
+ "file"
+ ]
+ },
+ {
+ "name": "717",
+ "members": [
+ {
+ "name": "data",
+ "type": "781"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "718",
+ "members": [
+ {
+ "name": "data",
+ "type": "782"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "719",
+ "members": [
+ {
+ "name": "data",
+ "type": "783"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "720",
+ "members": [
+ {
+ "name": "data",
+ "type": "784"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "721",
+ "members": [
+ {
+ "name": "data",
+ "type": "785"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "722",
+ "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": "723",
+ "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": "724",
+ "members": [
+ {
+ "name": "inet"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet"
+ ]
+ },
+ {
+ "name": "725",
+ "members": [
+ {
+ "name": "template",
+ "default": null,
+ "type": "726"
+ },
+ {
+ "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": "726",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "constant"
+ },
+ {
+ "name": "cached"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "constant",
+ "cached",
+ "all"
+ ]
+ },
+ {
+ "name": "727",
+ "members": [
+ {
+ "name": "aes"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes",
+ "luks"
+ ]
+ },
+ {
+ "name": "728",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "729",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "730",
+ "members": [
+ {
+ "name": "aes"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes"
+ ]
+ },
+ {
+ "name": "731",
+ "members": [
+ {
+ "name": "luks"
+ },
+ {
+ "name": "luks2"
+ },
+ {
+ "name": "luks-any"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "luks",
+ "luks2",
+ "luks-any"
+ ]
+ },
+ {
+ "name": "732",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "733",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "734",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "735",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "hash"
+ },
+ {
+ "name": "known_hosts"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "hash",
+ "known_hosts"
+ ]
+ },
+ {
+ "name": "736",
+ "members": [
+ {
+ "name": "type",
+ "type": "786"
+ },
+ {
+ "name": "hash",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "737",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "metadata"
+ },
+ {
+ "name": "falloc"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "metadata",
+ "falloc",
+ "full"
+ ]
+ },
+ {
+ "name": "738",
+ "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"
+ },
+ {
+ "name": "sm4"
+ }
+ ],
+ "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",
+ "sm4"
+ ]
+ },
+ {
+ "name": "739",
+ "members": [
+ {
+ "name": "ecb"
+ },
+ {
+ "name": "cbc"
+ },
+ {
+ "name": "xts"
+ },
+ {
+ "name": "ctr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ecb",
+ "cbc",
+ "xts",
+ "ctr"
+ ]
+ },
+ {
+ "name": "740",
+ "members": [
+ {
+ "name": "plain"
+ },
+ {
+ "name": "plain64"
+ },
+ {
+ "name": "essiv"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "plain64",
+ "essiv"
+ ]
+ },
+ {
+ "name": "741",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha224"
+ },
+ {
+ "name": "sha256"
+ },
+ {
+ "name": "sha384"
+ },
+ {
+ "name": "sha512"
+ },
+ {
+ "name": "ripemd160"
+ },
+ {
+ "name": "sm3"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha224",
+ "sha256",
+ "sha384",
+ "sha512",
+ "ripemd160",
+ "sm3"
+ ]
+ },
+ {
+ "name": "742",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "qcow",
+ "type": "728"
+ },
+ {
+ "case": "luks",
+ "type": "788"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "787"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "743",
+ "members": [
+ {
+ "name": "v2"
+ },
+ {
+ "name": "v3"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "v2",
+ "v3"
+ ]
+ },
+ {
+ "name": "744",
+ "members": [
+ {
+ "name": "zlib"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "zlib"
+ ]
+ },
+ {
+ "name": "745",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "789"
+ },
+ {
+ "case": "luks2",
+ "type": "790"
+ },
+ {
+ "case": "luks-any",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "731"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "746",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "747",
+ "members": [
+ {
+ "name": "monolithicSparse"
+ },
+ {
+ "name": "monolithicFlat"
+ },
+ {
+ "name": "twoGbMaxExtentSparse"
+ },
+ {
+ "name": "twoGbMaxExtentFlat"
+ },
+ {
+ "name": "streamOptimized"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "monolithicSparse",
+ "monolithicFlat",
+ "twoGbMaxExtentSparse",
+ "twoGbMaxExtentFlat",
+ "streamOptimized"
+ ]
+ },
+ {
+ "name": "748",
+ "members": [
+ {
+ "name": "ide"
+ },
+ {
+ "name": "buslogic"
+ },
+ {
+ "name": "lsilogic"
+ },
+ {
+ "name": "legacyESX"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ide",
+ "buslogic",
+ "lsilogic",
+ "legacyESX"
+ ]
+ },
+ {
+ "name": "749",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "750",
+ "members": [
+ {
+ "name": "active"
+ },
+ {
+ "name": "inactive"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "active",
+ "inactive"
+ ]
+ },
+ {
+ "name": "751",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "791"
+ },
+ {
+ "case": "qcow",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "787"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "752",
+ "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": "753",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "754",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "type": "362"
+ },
+ {
+ "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",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "reconnect-ms",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "755",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "remote",
+ "type": "362"
+ },
+ {
+ "name": "local",
+ "default": null,
+ "type": "362"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "756",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "757",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "758",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "759",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "signal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "763",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "764",
+ "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": "765",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "766",
+ "members": [
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cancel-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "767",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "768",
+ "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"
+ },
+ {
+ "name": "f13"
+ },
+ {
+ "name": "f14"
+ },
+ {
+ "name": "f15"
+ },
+ {
+ "name": "f16"
+ },
+ {
+ "name": "f17"
+ },
+ {
+ "name": "f18"
+ },
+ {
+ "name": "f19"
+ },
+ {
+ "name": "f20"
+ },
+ {
+ "name": "f21"
+ },
+ {
+ "name": "f22"
+ },
+ {
+ "name": "f23"
+ },
+ {
+ "name": "f24"
+ }
+ ],
+ "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",
+ "f13",
+ "f14",
+ "f15",
+ "f16",
+ "f17",
+ "f18",
+ "f19",
+ "f20",
+ "f21",
+ "f22",
+ "f23",
+ "f24"
+ ]
+ },
+ {
+ "name": "769",
+ "members": [
+ {
+ "name": "key",
+ "type": "416"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "770",
+ "members": [
+ {
+ "name": "button",
+ "type": "792"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "771",
+ "members": [
+ {
+ "name": "axis",
+ "type": "793"
+ },
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "772",
+ "members": [
+ {
+ "name": "type",
+ "type": "794"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "tracking-id",
+ "type": "int"
+ },
+ {
+ "name": "axis",
+ "type": "793"
+ },
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "773",
+ "members": [
+ {
+ "name": "persistent",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "774",
+ "members": [
+ {
+ "name": "socket"
+ },
+ {
+ "name": "exec"
+ },
+ {
+ "name": "rdma"
+ },
+ {
+ "name": "file"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "socket",
+ "exec",
+ "rdma",
+ "file"
+ ]
+ },
+ {
+ "name": "775",
+ "members": [
+ {
+ "name": "args",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "776",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "777",
+ "members": [],
+ "meta-type": "object"
+ },
+ {
+ "name": "778",
+ "members": [
+ {
+ "name": "exact"
+ },
+ {
+ "name": "glob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "exact",
+ "glob"
+ ]
+ },
+ {
+ "name": "779",
+ "members": [
+ {
+ "name": "u8"
+ },
+ {
+ "name": "s8"
+ },
+ {
+ "name": "u16"
+ },
+ {
+ "name": "s16"
+ },
+ {
+ "name": "u32"
+ },
+ {
+ "name": "s32"
+ },
+ {
+ "name": "f32"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "u8",
+ "s8",
+ "u16",
+ "s16",
+ "u32",
+ "s32",
+ "f32"
+ ]
+ },
+ {
+ "name": "780",
+ "members": [
+ {
+ "name": "number",
+ "type": "int"
+ },
+ {
+ "name": "secondary",
+ "type": "int"
+ },
+ {
+ "name": "subordinate",
+ "type": "int"
+ },
+ {
+ "name": "io_range",
+ "type": "795"
+ },
+ {
+ "name": "memory_range",
+ "type": "795"
+ },
+ {
+ "name": "prefetchable_range",
+ "type": "795"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "781",
+ "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": "796"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[797]"
+ },
+ {
+ "name": "compression-type",
+ "type": "744"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "782",
+ "members": [
+ {
+ "name": "create-type",
+ "type": "str"
+ },
+ {
+ "name": "cid",
+ "type": "int"
+ },
+ {
+ "name": "parent-cid",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "type": "[798]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "783",
+ "members": [
+ {
+ "name": "cipher-alg",
+ "type": "738"
+ },
+ {
+ "name": "cipher-mode",
+ "type": "739"
+ },
+ {
+ "name": "ivgen-alg",
+ "type": "740"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "741"
+ },
+ {
+ "name": "hash-alg",
+ "type": "741"
+ },
+ {
+ "name": "detached-header",
+ "type": "bool"
+ },
+ {
+ "name": "payload-offset",
+ "type": "int"
+ },
+ {
+ "name": "master-key-iters",
+ "type": "int"
+ },
+ {
+ "name": "uuid",
+ "type": "str"
+ },
+ {
+ "name": "slots",
+ "type": "[799]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "784",
+ "members": [
+ {
+ "name": "encryption-format",
+ "default": null,
+ "type": "731"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "785",
+ "members": [
+ {
+ "name": "extent-size-hint",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "786",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha256"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha256"
+ ]
+ },
+ {
+ "name": "787",
+ "members": [
+ {
+ "name": "qcow"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow",
+ "luks"
+ ]
+ },
+ {
+ "name": "788",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "738"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "739"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "740"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "741"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "741"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "789",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "738"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "790",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "738"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "791",
+ "members": [
+ {
+ "name": "state",
+ "type": "750"
+ },
+ {
+ "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": "792",
+ "members": [
+ {
+ "name": "left"
+ },
+ {
+ "name": "middle"
+ },
+ {
+ "name": "right"
+ },
+ {
+ "name": "wheel-up"
+ },
+ {
+ "name": "wheel-down"
+ },
+ {
+ "name": "side"
+ },
+ {
+ "name": "extra"
+ },
+ {
+ "name": "wheel-left"
+ },
+ {
+ "name": "wheel-right"
+ },
+ {
+ "name": "touch"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "left",
+ "middle",
+ "right",
+ "wheel-up",
+ "wheel-down",
+ "side",
+ "extra",
+ "wheel-left",
+ "wheel-right",
+ "touch"
+ ]
+ },
+ {
+ "name": "793",
+ "members": [
+ {
+ "name": "x"
+ },
+ {
+ "name": "y"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "x",
+ "y"
+ ]
+ },
+ {
+ "name": "794",
+ "members": [
+ {
+ "name": "begin"
+ },
+ {
+ "name": "update"
+ },
+ {
+ "name": "end"
+ },
+ {
+ "name": "cancel"
+ },
+ {
+ "name": "data"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "begin",
+ "update",
+ "end",
+ "cancel",
+ "data"
+ ]
+ },
+ {
+ "name": "795",
+ "members": [
+ {
+ "name": "base",
+ "type": "int"
+ },
+ {
+ "name": "limit",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "796",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "783"
+ },
+ {
+ "case": "aes",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "727"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[797]",
+ "element-type": "797",
+ "meta-type": "array"
+ },
+ {
+ "name": "797",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "granularity",
+ "type": "int"
+ },
+ {
+ "name": "flags",
+ "type": "[800]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[798]",
+ "element-type": "798",
+ "meta-type": "array"
+ },
+ {
+ "name": "798",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "type": "str"
+ },
+ {
+ "name": "virtual-size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compressed",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[799]",
+ "element-type": "799",
+ "meta-type": "array"
+ },
+ {
+ "name": "799",
+ "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": "[800]",
+ "element-type": "800",
+ "meta-type": "array"
+ },
+ {
+ "name": "800",
+ "members": [
+ {
+ "name": "in-use"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "in-use",
+ "auto"
+ ]
+ }
+ ],
+ "id": "libvirt-4"
+}
+
+{
+ "execute": "query-kvm",
+ "id": "libvirt-5"
+}
+
+{
+ "return": {
+ "enabled": true,
+ "present": true
+ },
+ "id": "libvirt-5"
+}
+
+{
+ "execute": "qom-list-types",
+ "id": "libvirt-6"
+}
+
+{
+ "return": [
+ {
+ "name": "fp5280g2-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "virtio-keyboard-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "omap_i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "raspi0-machine",
+ "parent": "raspi-common-machine"
+ },
+ {
+ "name": "highbank-regs",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "collie-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "gd25q32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "cryptodev-backend-builtin",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "aspeed.scu-ast2500",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "imx6.src",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-file",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "ppc4xx-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "cortex-m3-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "ps2-kbd",
+ "parent": "ps2-device"
+ },
+ {
+ "name": "m25px32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "en25q64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "xlnx.ps7-spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cryptodev-backend",
+ "parent": "object"
+ },
+ {
+ "name": "cadence_gem",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "filter-mirror",
+ "parent": "netfilter"
+ },
+ {
+ "name": "pcie-root-port",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "realview_pci",
+ "parent": "versatile_pci"
+ },
+ {
+ "name": "a9mpcore_priv",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "armv7m-ras",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "allwinner-emac",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm1136-r2-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "cortex-a35-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "chardev-memory",
+ "parent": "chardev-ringbuf"
+ },
+ {
+ "name": "virtio-serial-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "netduinoplus2-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "allwinner-h3-sysctrl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx7.analog",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cadence_ttc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "armsse-cpu-pwrctrl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.adc-ast2500",
+ "parent": "aspeed.adc"
+ },
+ {
+ "name": "smmuv3-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "xlnx-zynqmp-efuse",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "m25p80",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "strongarm-ssp",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "stm32.rcc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "e1000e",
+ "parent": "pci-device"
+ },
+ {
+ "name": "aspeed.sli-ast2700",
+ "parent": "aspeed.sli"
+ },
+ {
+ "name": "highbank-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "exynos4210.mct",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ati-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "aspeed.i2c-ast1030",
+ "parent": "aspeed.i2c"
+ },
+ {
+ "name": "arm1136-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "chardev-parallel",
+ "parent": "chardev"
+ },
+ {
+ "name": "arm926-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "aspeed.fmc-ast2500",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "ast2500-evb-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "aspeed.i2c.slave",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "xlnx-zynmp.rtc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.wdt-ast2700",
+ "parent": "aspeed.wdt"
+ },
+ {
+ "name": "is25lp080d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "axp209_pmu",
+ "parent": "axp2xx_pmu"
+ },
+ {
+ "name": "pl041",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-9p-pci-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "aspeed.xdma-ast2400",
+ "parent": "aspeed.xdma"
+ },
+ {
+ "name": "ast2700-a0",
+ "parent": "aspeed27x0-soc"
+ },
+ {
+ "name": "aspeed.scuio-ast2700",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "armv7m_nvic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx-versal-cfu-sfr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm-gicv3-its",
+ "parent": "arm-gicv3-its-common"
+ },
+ {
+ "name": "virt-2.6-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "mx66u51235f",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "ssd0323",
+ "parent": "ssi-peripheral"
+ },
+ {
+ "name": "sbsa_gwdt",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx.enet",
+ "parent": "imx.fec"
+ },
+ {
+ "name": "is25lp256",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "w25x20",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "HDA",
+ "parent": "bus"
+ },
+ {
+ "name": "sonorapass-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "esp",
+ "parent": "device"
+ },
+ {
+ "name": "ast2400-a1",
+ "parent": "aspeed2400-soc"
+ },
+ {
+ "name": "x-remote-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "aspeed.apb2opb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "stm32f2xx-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virt-8.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "cxl-upstream",
+ "parent": "pcie-port"
+ },
+ {
+ "name": "neoverse-n1-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "can-host-socketcan",
+ "parent": "can-host"
+ },
+ {
+ "name": "chardev-mux",
+ "parent": "chardev"
+ },
+ {
+ "name": "l2x0",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tls-creds-anon",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "qio-channel-tls",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "ide-cf",
+ "parent": "ide-device"
+ },
+ {
+ "name": "virt-6.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "fuji-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "kvm-arm-gicv3",
+ "parent": "arm-gicv3-common"
+ },
+ {
+ "name": "authz-list",
+ "parent": "authz"
+ },
+ {
+ "name": "chardev-file",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "arm-gicv3",
+ "parent": "arm-gicv3-common"
+ },
+ {
+ "name": "stm32f100-soc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-mmio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "m45pe80",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "imx25.ccm",
+ "parent": "imx.ccm"
+ },
+ {
+ "name": "ide-cd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "cortex-m55-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "tz-mpc-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "vexpress-a15-machine",
+ "parent": "vexpress"
+ },
+ {
+ "name": "a9-scu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm11mpcore-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "integrator_debug",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "armsse-mhu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "wm8750",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "npcm-gmac",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-snd",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "sse-200",
+ "parent": "arm-sse"
+ },
+ {
+ "name": "host-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "vhost-user-input",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "dc390",
+ "parent": "am53c974"
+ },
+ {
+ "name": "xlnx-versal-crl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fsi.master",
+ "parent": "device"
+ },
+ {
+ "name": "pci-bridge-seat",
+ "parent": "pci-bridge"
+ },
+ {
+ "name": "virtio-balloon-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nrf51_soc.uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "m25p20",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-iommu-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "gpio-key",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "i82557c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "exynos4210.combiner",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cortex-a55-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "is25lp016d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "fw_cfg_io",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "i82557b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "cmsdk-apb-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pxa255-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "xlnx-versal-cfu-apb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.spi1-ast2400",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "acpi-generic-initiator",
+ "parent": "object"
+ },
+ {
+ "name": "i82557a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-crypto-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "npcm7xx-clk",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bochs-display",
+ "parent": "pci-device"
+ },
+ {
+ "name": "stm32l4x5-rcc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx-cframe-reg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-sound-pci",
+ "parent": "virtio-sound-pci-base-type"
+ },
+ {
+ "name": "w25q80",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "raspi2b-machine",
+ "parent": "raspi-common-machine"
+ },
+ {
+ "name": "ivshmem-doorbell",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "loader",
+ "parent": "device"
+ },
+ {
+ "name": "arm946-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "bcm2835-sdhost-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "usb-serial",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "throttle-group",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-serial-pci-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "rme-guest",
+ "parent": "confidential-guest-support"
+ },
+ {
+ "name": "cortex-a72-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "stellaris-gptm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-balloon-pci-non-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "lsi53c895a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "aspeed.scu-ast2600",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "n25q064",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sbsa-ec",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "stm32l4x5-syscfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "digic-uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "x-remote-iommu",
+ "parent": "object"
+ },
+ {
+ "name": "sst25wf512",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "chardev-udp",
+ "parent": "chardev"
+ },
+ {
+ "name": "xlnx.xps-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx2.wdt",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-gpu",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "aspeed.spi2-ast2500",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "allwinner-h3-dramc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pci-serial-4x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-9p-pci",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "aspeed.hace-ast2400",
+ "parent": "aspeed.hace"
+ },
+ {
+ "name": "aspeed.adc-ast2600",
+ "parent": "aspeed.adc"
+ },
+ {
+ "name": "s25fl256s1",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "fsl-imx6ul",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-input-host-device",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "raspi3b-machine",
+ "parent": "raspi-common-machine"
+ },
+ {
+ "name": "qemu-graphic-console",
+ "parent": "qemu-console"
+ },
+ {
+ "name": "vhost-scsi-pci-non-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "s25fl256s0",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "input-barrier",
+ "parent": "object"
+ },
+ {
+ "name": "isl69260",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "chardev-socket",
+ "parent": "chardev"
+ },
+ {
+ "name": "virt-8.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "vfio-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-vsock-pci-non-transitional",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "vhost-vdpa-device-pci-non-transitional",
+ "parent": "vhost-vdpa-device-pci-base"
+ },
+ {
+ "name": "e1000",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "IDE",
+ "parent": "bus"
+ },
+ {
+ "name": "aw-h3-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "vhost-user-fs-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "s25sl008a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "is25wp256",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virt-6.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "ARM-bitband-memory",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.fmc-ast2600",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "olimex-stm32-h405-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "axp221_pmu",
+ "parent": "axp2xx_pmu"
+ },
+ {
+ "name": "allwinner-r40-dramc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "secret",
+ "parent": "secret_common"
+ },
+ {
+ "name": "rng-random",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "ufs-lu",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-serial-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "pc-dimm",
+ "parent": "device"
+ },
+ {
+ "name": "dwc2-usb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-net-listener",
+ "parent": "object"
+ },
+ {
+ "name": "usb-storage",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "bcm2835-spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tz-mpc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "npcm7xx-gcr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "w25q80bl",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.xdma-ast2500",
+ "parent": "aspeed.xdma"
+ },
+ {
+ "name": "virtio-scsi-pci-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "mv88w8618_pit",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vfio-iommu-legacy",
+ "parent": "vfio-iommu"
+ },
+ {
+ "name": "virtio-serial-pci",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "en25f32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "mps2-an386-machine",
+ "parent": "mps2"
+ },
+ {
+ "name": "xlnx-versal-virt-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "is25lp032",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "acpi-ged",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-dns-resolver",
+ "parent": "object"
+ },
+ {
+ "name": "platform-bus-device",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cortex-m33-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "xlnx.versal-pmc-iou-slcr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xio3130-downstream",
+ "parent": "pcie-slot"
+ },
+ {
+ "name": "vhost-vsock-pci",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "tpm-tis-device",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "raspi4b-machine",
+ "parent": "raspi-base-machine"
+ },
+ {
+ "name": "x-remote-object",
+ "parent": "object"
+ },
+ {
+ "name": "usb-mtp",
+ "parent": "usb-device"
+ },
+ {
+ "name": "virtio-blk-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "PCI",
+ "parent": "bus"
+ },
+ {
+ "name": "bpim2u-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "luminary-watchdog",
+ "parent": "cmsdk-apb-watchdog"
+ },
+ {
+ "name": "netduino2-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "imx7.src",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx-versal-cfu-fdro",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ide-hd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "max34451",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "ich9-ahci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "cfam",
+ "parent": "fsi.slave"
+ },
+ {
+ "name": "aspeed.i2c-ast2400",
+ "parent": "aspeed.i2c"
+ },
+ {
+ "name": "memory-region",
+ "parent": "object"
+ },
+ {
+ "name": "w25x16",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vfio-amd-xgbe",
+ "parent": "vfio-platform"
+ },
+ {
+ "name": "allwinner-r40",
+ "parent": "device"
+ },
+ {
+ "name": "bcm2835-cprman-pll",
+ "parent": "device"
+ },
+ {
+ "name": "at25128a-nonjedec",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sysbus-ohci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "stm32l4x5-rcc-pll",
+ "parent": "device"
+ },
+ {
+ "name": "n25q256a13",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "usb-kbd",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "smc91c111",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l12855e",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2835-fb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm.cortex-a9-global-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "secondary-vga",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "pxb-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "ast1030-evb-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "xlnx.zdma",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cubieboard-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "n25q256a11",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "qemu-register",
+ "parent": "device"
+ },
+ {
+ "name": "pci-ohci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "designware-pcie-root",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "pl031",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-vdpa-device-pci",
+ "parent": "vhost-vdpa-device-pci-base"
+ },
+ {
+ "name": "npcm7xx-emc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "stm32l4x5-lpuart",
+ "parent": "stm32l4x5-usart-base"
+ },
+ {
+ "name": "arm-smmuv3",
+ "parent": "arm-smmu"
+ },
+ {
+ "name": "tpci200",
+ "parent": "pci-device"
+ },
+ {
+ "name": "raspi3ap-machine",
+ "parent": "raspi-common-machine"
+ },
+ {
+ "name": "exynos4210.clk",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.spi1-ast2500",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "imx25.gpt",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "allwinner-sdhost-sun5i",
+ "parent": "allwinner-sdhost"
+ },
+ {
+ "name": "w25x10",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.smc-ast2400",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "sse-300",
+ "parent": "arm-sse"
+ },
+ {
+ "name": "vhost-vsock-pci-non-transitional",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "mx66l51235f",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "musicpal_lcd",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "designware-pcie-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "m25p16",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "usb-chipidea",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "emmc",
+ "parent": "sdmmc-common"
+ },
+ {
+ "name": "allwinner-sramc-sun8i-r40",
+ "parent": "allwinner-sramc"
+ },
+ {
+ "name": "mx25l6405d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2835-thermal",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nrf51_soc.timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virt-8.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "allwinner-a10-ccm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q512a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "fsl-imx7",
+ "parent": "device"
+ },
+ {
+ "name": "at25fs040",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "legacy-reset",
+ "parent": "object"
+ },
+ {
+ "name": "allwinner-sdhost-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "vhost-user-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "aspeed.scu-ast2700",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "virt-6.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "arm_gic",
+ "parent": "arm_gic_common"
+ },
+ {
+ "name": "fsl-imx6",
+ "parent": "device"
+ },
+ {
+ "name": "strongarm-ppc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.ps7-dev-cfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mss-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mps2-an505-machine",
+ "parent": "mps2tz"
+ },
+ {
+ "name": "mps2-an385-machine",
+ "parent": "mps2"
+ },
+ {
+ "name": "tpm-log",
+ "parent": "object"
+ },
+ {
+ "name": "vhost-user-blk",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "pxb-bus",
+ "parent": "PCI"
+ },
+ {
+ "name": "allwinner-r40-ccu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-gpu-device",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "at24c-eeprom",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "stm32l4x5xe-soc",
+ "parent": "stm32l4x5-soc"
+ },
+ {
+ "name": "aspeed.spi2-ast2600",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "usb-tablet",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "aspeed.lpc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ccid-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "mv88w8618_pic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fw_cfg_mem",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "xlnx.axi-dma",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sst25wf080",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "at26df321",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.adc-ast2700",
+ "parent": "aspeed.adc"
+ },
+ {
+ "name": "aspeed.hace-ast2500",
+ "parent": "aspeed.hace"
+ },
+ {
+ "name": "VGA",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "at25256a-nonjedec",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "m25p10",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "fsi.slave",
+ "parent": "device"
+ },
+ {
+ "name": "sd-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "m25p128",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "ps2-mouse",
+ "parent": "ps2-device"
+ },
+ {
+ "name": "cortex-m0-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "ipoctal232",
+ "parent": "ipack-device"
+ },
+ {
+ "name": "chardev-dbus",
+ "parent": "chardev-socket"
+ },
+ {
+ "name": "npcm-pspi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q512ax3",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "cortex-a53-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "imx6ul.ccm",
+ "parent": "imx.ccm"
+ },
+ {
+ "name": "virtio-mem-pci",
+ "parent": "virtio-mem-pci-base"
+ },
+ {
+ "name": "isl69259",
+ "parent": "isl69260"
+ },
+ {
+ "name": "fby35-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "tpm-emulator",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "igbvf",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pl190",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.versal-canfd",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "npcm730",
+ "parent": "npcm7xx"
+ },
+ {
+ "name": "allwinner.i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "scsi-generic",
+ "parent": "scsi-device"
+ },
+ {
+ "name": "vhost-user-backend",
+ "parent": "object"
+ },
+ {
+ "name": "max-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "cryptodev-vhost-user",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "xgmac",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sst25vf040b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.fmc-ast2700",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "is25wp032",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "s25fs512s",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "allwinner-wdt-sun4i",
+ "parent": "allwinner-wdt"
+ },
+ {
+ "name": "aspeed.smc.flash",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "microbit-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "vhost-user-fs-pci",
+ "parent": "vhost-user-fs-pci-base"
+ },
+ {
+ "name": "allwinner-sramc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "pcie-pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "usb-wacom-tablet",
+ "parent": "usb-device"
+ },
+ {
+ "name": "aspeed.xdma-ast2600",
+ "parent": "aspeed.xdma"
+ },
+ {
+ "name": "npcm7xx-fuse-array",
+ "parent": "npcm7xx-otp"
+ },
+ {
+ "name": "mt25ql512ab",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "cadence_uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "m45pe16",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "xlnx.zynqmp-can",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-cprman-pll-channel",
+ "parent": "device"
+ },
+ {
+ "name": "qtest",
+ "parent": "object"
+ },
+ {
+ "name": "vfio-pci-nohotplug",
+ "parent": "vfio-pci"
+ },
+ {
+ "name": "pl181-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "aspeed.rtc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "exynos4210.gic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "authz-list-file",
+ "parent": "authz"
+ },
+ {
+ "name": "unimplemented-device",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "usb-ehci",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "sa1100-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "stm32l4x5-usart",
+ "parent": "stm32l4x5-usart-base"
+ },
+ {
+ "name": "mptsas1068",
+ "parent": "pci-device"
+ },
+ {
+ "name": "thread-context",
+ "parent": "object"
+ },
+ {
+ "name": "stm32f405-soc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "e1000-82545em",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "allwinner-rtc-sun4i",
+ "parent": "allwinner-rtc"
+ },
+ {
+ "name": "gpex-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "npcm7xx-key-storage",
+ "parent": "npcm7xx-otp"
+ },
+ {
+ "name": "w25x64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.i2c-ast2500",
+ "parent": "aspeed.i2c"
+ },
+ {
+ "name": "cmsdk-apb-watchdog",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s70fl01gs",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "at26df161a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "npcm7xx-adc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.adc.engine",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "i82559er",
+ "parent": "pci-device"
+ },
+ {
+ "name": "tmp105",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "megasas",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "supermicro-x11spi-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "pl081",
+ "parent": "pl080"
+ },
+ {
+ "name": "vhost-user-device-pci",
+ "parent": "vhost-user-device-pci-base"
+ },
+ {
+ "name": "i2c-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "m45pe10",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "realview_sysctl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "filter-replay",
+ "parent": "netfilter"
+ },
+ {
+ "name": "pl080",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pxb-pcie-bus",
+ "parent": "PCIE"
+ },
+ {
+ "name": "xlnx.usmp-gqspi",
+ "parent": "xlnx.ps7-qspi"
+ },
+ {
+ "name": "lm3s6965evb-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "lm3s811evb-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "aspeed.timer-ast1030",
+ "parent": "aspeed.timer"
+ },
+ {
+ "name": "sst25wf020",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sa1110-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "cortex-r52-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "lan9118",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l8005",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sysbus-xhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "exynos4210.i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx-gpcv2",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-mouse-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "stellaris-i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx.fec",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l1606e",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.spi1-ast2600",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "musicpal-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "stellaris-gamepad",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cfi.pflash02",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pr-manager-helper",
+ "parent": "pr-manager"
+ },
+ {
+ "name": "accel",
+ "parent": "object"
+ },
+ {
+ "name": "tmp423",
+ "parent": "tmp421-generic"
+ },
+ {
+ "name": "tmp422",
+ "parent": "tmp421-generic"
+ },
+ {
+ "name": "aspeed.gpio-ast1030",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "ufs",
+ "parent": "pci-device"
+ },
+ {
+ "name": "m25p64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "x-pci-proxy-dev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "mv88w8618_wlan",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cfi.pflash01",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pxb-cxl-bus",
+ "parent": "CXL"
+ },
+ {
+ "name": "integrator_core",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "midway-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "tls-creds-x509",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "xilinx-zynq_slcr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l4005a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vexpress-a9-machine",
+ "parent": "vexpress"
+ },
+ {
+ "name": "npcm7xx-clock-divider",
+ "parent": "device"
+ },
+ {
+ "name": "tmp421",
+ "parent": "tmp421-generic"
+ },
+ {
+ "name": "mps2-fpgaio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-device",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "icp-ctrl-regs",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "w25q32dw",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "kudo-bmc-machine",
+ "parent": "npcm7xx-machine"
+ },
+ {
+ "name": "at45db081d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "npcm7xx-mft",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pci-serial",
+ "parent": "pci-device"
+ },
+ {
+ "name": "chardev-msmouse",
+ "parent": "chardev"
+ },
+ {
+ "name": "or-irq",
+ "parent": "device"
+ },
+ {
+ "name": "usb-ccid",
+ "parent": "usb-device"
+ },
+ {
+ "name": "xlnx.versal-usb2-ctrl-regs",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.spi2-ast2700",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "mps3-an524-machine",
+ "parent": "mps2tz"
+ },
+ {
+ "name": "pl022",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ast2500-a1",
+ "parent": "aspeed2400-soc"
+ },
+ {
+ "name": "gpio_i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-property",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "armv7m",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.hace-ast2600",
+ "parent": "aspeed.hace"
+ },
+ {
+ "name": "qcom-firework-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "arm11mpcore_priv",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "witherspoon-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "virt-9.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "vhost-scsi-pci",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "m41t80",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "virt-4.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "supermicrox11-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "ich9-usb-ehci2",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "musicpal_gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "at25df041a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-scsi-pci",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "cortex-a710-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "ssd0303",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "virt-7.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "allwinner-sdhost-sun4i",
+ "parent": "allwinner-sdhost"
+ },
+ {
+ "name": "qemu-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "msf2-sysreg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ich9-usb-ehci1",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "virtio-scsi-device",
+ "parent": "virtio-scsi-common"
+ },
+ {
+ "name": "mx25l3205d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pxa262-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "integratorcp-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "realview-eb-mpcore-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "vhost-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "bcm2835-rng",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "usb-braille",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "fsi.bus",
+ "parent": "bus"
+ },
+ {
+ "name": "lsm303dlhc_mag",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "resettable-container",
+ "parent": "object"
+ },
+ {
+ "name": "input-linux",
+ "parent": "object"
+ },
+ {
+ "name": "m25p05",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "cxl-rp",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "sysbus-ahci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx6ul.gpt",
+ "parent": "imx25.gpt"
+ },
+ {
+ "name": "allwinner-sdhost-sun50i-a64-emmc",
+ "parent": "allwinner-sdhost"
+ },
+ {
+ "name": "en25p32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "i6300esb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "memory-backend-file",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "aspeed.hace",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-gpio-device",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "megasas-gen2",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "vhost-user-scsi-pci",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "bcm2835-cprman-clock-mux",
+ "parent": "device"
+ },
+ {
+ "name": "digic-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "at26f004",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "imx.rngc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm11-scu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xilinx-axienet-control-stream",
+ "parent": "object"
+ },
+ {
+ "name": "exynos4210.uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "remote-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "virtio-pci-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "w25q64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vhost-user-gpu-pci",
+ "parent": "vhost-user-gpu-pci-base-type"
+ },
+ {
+ "name": "aspeed.i2c-ast2600",
+ "parent": "aspeed.i2c"
+ },
+ {
+ "name": "acpi-generic-port",
+ "parent": "object"
+ },
+ {
+ "name": "stellaris-adc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "at26df081a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "i82562",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ich9-usb-uhci6",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "is25lp128",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "mt25ql02g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "versatile_i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "hda-duplex",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "gd25q64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "ich9-usb-uhci5",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pl181",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "filter-redirector",
+ "parent": "netfilter"
+ },
+ {
+ "name": "virtio-9p-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nrf51_soc.rng",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "iotkit-sysinfo",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "usb-hub",
+ "parent": "usb-device"
+ },
+ {
+ "name": "cpu-cluster",
+ "parent": "device"
+ },
+ {
+ "name": "usb-mouse",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "chardev-gdb",
+ "parent": "chardev"
+ },
+ {
+ "name": "ich9-usb-uhci4",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "m25px64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pca9552",
+ "parent": "pca955x"
+ },
+ {
+ "name": "aspeed.sdmc-ast2400",
+ "parent": "aspeed.sdmc"
+ },
+ {
+ "name": "allwinner.spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ich9-usb-uhci3",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "bcm2835-cprman-dsi0hsck-mux",
+ "parent": "device"
+ },
+ {
+ "name": "gpex-root",
+ "parent": "pci-device"
+ },
+ {
+ "name": "SCSI",
+ "parent": "bus"
+ },
+ {
+ "name": "ich9-usb-uhci2",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "vfio-platform",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cmsdk-apb-uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "xlnx.xps-spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ich9-usb-uhci1",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "versatilepb-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "allwinner-h3-ccu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vfio-iommu-iommufd",
+ "parent": "vfio-iommu"
+ },
+ {
+ "name": "aspeed.spi1-ast2700",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "virtio-mouse-pci",
+ "parent": "virtio-mouse-pci-base-type"
+ },
+ {
+ "name": "quanta-gsj-machine",
+ "parent": "npcm7xx-machine"
+ },
+ {
+ "name": "strongarm-gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s25fl129p1",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "qio-channel-null",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-net-pci",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "chardev-wctablet",
+ "parent": "chardev"
+ },
+ {
+ "name": "vmcoreinfo",
+ "parent": "device"
+ },
+ {
+ "name": "bcm2836-control",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-scsi-pci-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "s25fl129p0",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pvscsi",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virt-9.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "n25q064a13",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "arm-gicv2m",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vhost-user-blk-pci-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "led",
+ "parent": "device"
+ },
+ {
+ "name": "ramfb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "allwinner-ahci",
+ "parent": "sysbus-ahci"
+ },
+ {
+ "name": "virt-4.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "npcm7xx-clock-sel",
+ "parent": "device"
+ },
+ {
+ "name": "stm32l4x5-exti",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-rng-pci-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "virtio-keyboard-pci",
+ "parent": "virtio-keyboard-pci-base-type"
+ },
+ {
+ "name": "bletchley-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "virt-7.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "pci-serial-2x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "n25q064a11",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "nvme",
+ "parent": "pci-device"
+ },
+ {
+ "name": "nrf51_soc.nvm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.timer-ast2400",
+ "parent": "aspeed.timer"
+ },
+ {
+ "name": "realview_mpcore",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "migration",
+ "parent": "device"
+ },
+ {
+ "name": "pxa261-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "tacoma-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "aspeed.wdt-ast1030",
+ "parent": "aspeed.wdt"
+ },
+ {
+ "name": "mv88w8618_flashcfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fsl-imx31",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-multitouch-pci",
+ "parent": "virtio-multitouch-pci-base-type"
+ },
+ {
+ "name": "scoop",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "hda-micro",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "exynos4210.fimd",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-scsi-pci-non-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "pxa270-c5-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "sst25wf010",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.i3c.device",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.gpio-ast2400",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "usb-audio",
+ "parent": "usb-device"
+ },
+ {
+ "name": "s25sl032p",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "allwinner-sdhost-sun50i-a64",
+ "parent": "allwinner-sdhost"
+ },
+ {
+ "name": "chardev-ringbuf",
+ "parent": "chardev"
+ },
+ {
+ "name": "digic",
+ "parent": "device"
+ },
+ {
+ "name": "ich9-intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "base-xhci",
+ "parent": "device"
+ },
+ {
+ "name": "virtconsole",
+ "parent": "virtserialport"
+ },
+ {
+ "name": "at25df321a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "g220a-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "vhost-user-blk-pci",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "aspeed.gpio-ast2600-1_8v",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "allwinner-cpucfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s25sl064p",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "xlnx.versal-usb2",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tz-ppc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sx1-v1-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "pl050_keyboard",
+ "parent": "pl050"
+ },
+ {
+ "name": "allwinner-h3",
+ "parent": "device"
+ },
+ {
+ "name": "piix3-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "kvaser_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "u2f-passthru",
+ "parent": "u2f-key"
+ },
+ {
+ "name": "palmetto-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "gpio-pwr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pxa250-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "serial-mm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "usb-uas",
+ "parent": "usb-device"
+ },
+ {
+ "name": "ES1370",
+ "parent": "pci-device"
+ },
+ {
+ "name": "i2c-echo",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "raspi1ap-machine",
+ "parent": "raspi-common-machine"
+ },
+ {
+ "name": "n25q128a13",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vhost-vdpa-device-pci-transitional",
+ "parent": "vhost-vdpa-device-pci-base"
+ },
+ {
+ "name": "is25wp128",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "exynos4210",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "chardev-null",
+ "parent": "chardev"
+ },
+ {
+ "name": "mps2-scc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-rng-pci-non-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "integrator_pit",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "host-iommu-device-legacy-vfio",
+ "parent": "host-iommu-device"
+ },
+ {
+ "name": "raa228000",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "n25q128a11",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "ds1338",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "mx66u1g45g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-gpu-pci",
+ "parent": "virtio-gpu-pci-base-type"
+ },
+ {
+ "name": "pcnet",
+ "parent": "pci-device"
+ },
+ {
+ "name": "bcm2835_gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.spi0-ast2700",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "aspeed.i2c-ast2700",
+ "parent": "aspeed.i2c"
+ },
+ {
+ "name": "generic-sdhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "chardev-testdev",
+ "parent": "chardev"
+ },
+ {
+ "name": "versatile_pci",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "npcm7xx-gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pl011",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ctucan_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virt-9.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "ssi-sd",
+ "parent": "ssi-peripheral"
+ },
+ {
+ "name": "virt-4.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "stm32f4xx-syscfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virt-7.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "pxb-pcie",
+ "parent": "pxb"
+ },
+ {
+ "name": "piix4-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "mx25l12805d",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "imx.epit",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.sdmc-ast2500",
+ "parent": "aspeed.sdmc"
+ },
+ {
+ "name": "exynos4210-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "versatile_pci_host",
+ "parent": "pci-device"
+ },
+ {
+ "name": "iothread",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "pxa260-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "iommufd",
+ "parent": "object"
+ },
+ {
+ "name": "omap-gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mt25qu02g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "colo-compare",
+ "parent": "object"
+ },
+ {
+ "name": "armv7m_systick",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-net-pci-non-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "pl330",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l25635f",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vhost-user-input-pci",
+ "parent": "vhost-user-input-pci-base-type"
+ },
+ {
+ "name": "guest-loader",
+ "parent": "device"
+ },
+ {
+ "name": "rtl8139",
+ "parent": "pci-device"
+ },
+ {
+ "name": "xlnx.versal-xramc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "s25sl032a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vfio-calxeda-xgmac",
+ "parent": "vfio-platform"
+ },
+ {
+ "name": "mx25l25635e",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "vhost-user-snd-pci",
+ "parent": "vhost-user-snd-pci-base"
+ },
+ {
+ "name": "pl110_versatile",
+ "parent": "pl110"
+ },
+ {
+ "name": "pca9548",
+ "parent": "pca954x"
+ },
+ {
+ "name": "allwinner-a10",
+ "parent": "device"
+ },
+ {
+ "name": "allwinner-sid",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-buffer",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "aspeed.sdhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "chardev-pty",
+ "parent": "chardev"
+ },
+ {
+ "name": "rng-egd",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "vhost-user-blk-pci-non-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "usb-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "imx6.ccm",
+ "parent": "imx.ccm"
+ },
+ {
+ "name": "pca9546",
+ "parent": "pca954x"
+ },
+ {
+ "name": "cxl-type3",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pxb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "am53c974",
+ "parent": "pci-device"
+ },
+ {
+ "name": "exynos4210.pmu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "secret_keyring",
+ "parent": "secret_common"
+ },
+ {
+ "name": "s25sl064a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.timer-ast2500",
+ "parent": "aspeed.timer"
+ },
+ {
+ "name": "msf2-emac",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "yosemitev2-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "s25fl064k",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "dm163",
+ "parent": "device"
+ },
+ {
+ "name": "xlnx-zynq-xadc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-socket",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "imx.usbphy",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cxl-downstream",
+ "parent": "pcie-slot"
+ },
+ {
+ "name": "virtio-crypto-pci",
+ "parent": "virtio-crypto-pci-base-type"
+ },
+ {
+ "name": "mt25ql01g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pxa270-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "sbsa-ref-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "max31785",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "i82551",
+ "parent": "pci-device"
+ },
+ {
+ "name": "npcm7xx-mc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.sbc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-net-pci-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "is25lp064",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "realview-pb-a8-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "tz-msc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "i82550",
+ "parent": "pci-device"
+ },
+ {
+ "name": "chardev-pipe",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "npcm7xx-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "vhost-user-rng-pci",
+ "parent": "vhost-user-rng-pci-base"
+ },
+ {
+ "name": "imx31.ccm",
+ "parent": "imx.ccm"
+ },
+ {
+ "name": "s25sl016a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "musicpal_key",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.gpio-ast2500",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "s25fl016k",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "chardev-serial",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "cortex-m7-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "virtio-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "stm32l4x5xg-soc",
+ "parent": "stm32l4x5-soc"
+ },
+ {
+ "name": "npcm7xx-rng",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.intc-ast2700",
+ "parent": "aspeed.intc"
+ },
+ {
+ "name": "cortex-a9-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "sdhci-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "allwinner-sun8i-emac",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "emcraft-sf2-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "integrator_pic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q256a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "iotkit-sysctl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.xps-uartlite",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "quanta-gbs-bmc-machine",
+ "parent": "npcm7xx-machine"
+ },
+ {
+ "name": "n25q032a13",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sdhci-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "realview-eb-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "virtio-blk-pci",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "fsl-imx25",
+ "parent": "device"
+ },
+ {
+ "name": "arm1026-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "canon-a1100-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "aspeed.wdt-ast2400",
+ "parent": "aspeed.wdt"
+ },
+ {
+ "name": "s70fs01gs",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-multitouch-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "nec-usb-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "bcm2835-ic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q032a11",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "raa229004",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "virtio-input-host-pci",
+ "parent": "virtio-input-host-pci-base-type"
+ },
+ {
+ "name": "n25q032",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "mps2-an511-machine",
+ "parent": "mps2"
+ },
+ {
+ "name": "stm32l4x5-gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pvpanic-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "w25q256",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "adm1272",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "ioh3420",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "cortex-r5f-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "pcm3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "mioe3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ti925t-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "tulip",
+ "parent": "pci-device"
+ },
+ {
+ "name": "usb-bot",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "mss-spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "main-loop",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "sse-counter",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-powermgt",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.csu_dma",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pl061",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "host-iommu-device-iommufd-vfio",
+ "parent": "host-iommu-device-iommufd"
+ },
+ {
+ "name": "sabrelite-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "s25sl12801",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "xilinx-axi-dma-control-stream",
+ "parent": "object"
+ },
+ {
+ "name": "i2c-ddc",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "cortex-r5-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "memory-backend-shm",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "dbus-vmstate",
+ "parent": "object"
+ },
+ {
+ "name": "iotkit",
+ "parent": "arm-sse"
+ },
+ {
+ "name": "w25x40",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "memory-backend-memfd",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "virtio-balloon-pci",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "s25sl12800",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "stm32f2xx-usart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nand",
+ "parent": "device"
+ },
+ {
+ "name": "pl111",
+ "parent": "pl110"
+ },
+ {
+ "name": "serial",
+ "parent": "device"
+ },
+ {
+ "name": "vhost-user-vsock-pci",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "edu",
+ "parent": "pci-device"
+ },
+ {
+ "name": "aspeed.sbc-ast2600",
+ "parent": "aspeed.sbc"
+ },
+ {
+ "name": "omap-intc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "arm-its-kvm",
+ "parent": "arm-gicv3-its-common"
+ },
+ {
+ "name": "pl110",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "en25q32b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "chardev-stdio",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "ast2600-a3",
+ "parent": "aspeed2600-soc"
+ },
+ {
+ "name": "mps2-an521-machine",
+ "parent": "mps2tz"
+ },
+ {
+ "name": "aspeed.scu-ast1030",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "virt-2.12-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "aspeed.sdmc-ast2600",
+ "parent": "aspeed.sdmc"
+ },
+ {
+ "name": "SSI",
+ "parent": "bus"
+ },
+ {
+ "name": "can-bus",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "nvme-ns",
+ "parent": "device"
+ },
+ {
+ "name": "IndustryPack",
+ "parent": "bus"
+ },
+ {
+ "name": "virtio-tablet-pci",
+ "parent": "virtio-tablet-pci-base-type"
+ },
+ {
+ "name": "exynos4210.rtc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nvdimm",
+ "parent": "pc-dimm"
+ },
+ {
+ "name": "mps2-an500-machine",
+ "parent": "mps2"
+ },
+ {
+ "name": "qtest-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "ftgmac100",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "smbus-eeprom",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "neoverse-v1-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "irq",
+ "parent": "object"
+ },
+ {
+ "name": "aspeed.adc-ast1030",
+ "parent": "aspeed.adc"
+ },
+ {
+ "name": "vhost-user-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "xilinx-zynq-a9-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "lsi53c810",
+ "parent": "lsi53c895a"
+ },
+ {
+ "name": "m25p40",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virt-5.2-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "i82559c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "cortex-a8-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "x3130-upstream",
+ "parent": "pcie-port"
+ },
+ {
+ "name": "stm32l4x5-rcc-clock-mux",
+ "parent": "device"
+ },
+ {
+ "name": "is25lq040b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "i82559b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "is25wp064",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "a64fx-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "vhost-user-gpio-pci",
+ "parent": "vhost-user-gpio-pci-base"
+ },
+ {
+ "name": "msf2-soc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "clock",
+ "parent": "object"
+ },
+ {
+ "name": "i82559a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "aspeed.timer-ast2600",
+ "parent": "aspeed.timer"
+ },
+ {
+ "name": "aspeed.i3c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "m25pe80",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.fmc-ast1030",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "strongarm-uart",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.zynqmp_ipi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tpm-tis-i2c",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "i82801b11-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "arm_mptimer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx.serial",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cortex-a76-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "aspeed.vic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-rng-pci",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "npcm7xx-pwm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.ps7-qspi",
+ "parent": "xlnx.ps7-spi"
+ },
+ {
+ "name": "aspeed-mmi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx6.gpt",
+ "parent": "imx25.gpt"
+ },
+ {
+ "name": "stm32f4xx-exti",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx-usdhc",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "bcm2838",
+ "parent": "bcm283x-base"
+ },
+ {
+ "name": "platform-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "virtio-serial-pci-non-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "exynos4210.rng",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.gpio-ast2600",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "quanta-q71l-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "igb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "bcm2837",
+ "parent": "bcm283x"
+ },
+ {
+ "name": "mt25qu01g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "dps310",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "bcm2835",
+ "parent": "bcm283x"
+ },
+ {
+ "name": "microbit.i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2836",
+ "parent": "bcm283x"
+ },
+ {
+ "name": "filter-buffer",
+ "parent": "netfilter"
+ },
+ {
+ "name": "split-irq",
+ "parent": "device"
+ },
+ {
+ "name": "a15mpcore_priv",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "npcm7xx.sdhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "allwinner-rtc-sun7i",
+ "parent": "allwinner-rtc"
+ },
+ {
+ "name": "orangepi-pc-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "stm32vldiscovery-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "qio-channel-command",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "at25fs010",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virt-2.9-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "imx7.snvs",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nvme-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "vhost-user-scmi-pci",
+ "parent": "vhost-user-scmi-pci-base"
+ },
+ {
+ "name": "ast1030-a1",
+ "parent": "aspeed10x0-soc"
+ },
+ {
+ "name": "iotkit-secctl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "System",
+ "parent": "bus"
+ },
+ {
+ "name": "ne2k_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "allwinner-A10-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fsi.scratchpad",
+ "parent": "fsi.lbus.device"
+ },
+ {
+ "name": "sst25vf080b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "imx31.gpt",
+ "parent": "imx25.gpt"
+ },
+ {
+ "name": "mt35xu02gbba",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.wdt-ast2500",
+ "parent": "aspeed.wdt"
+ },
+ {
+ "name": "strongarm-rtc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.bbram-ctrl",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xilinx-axienet-data-stream",
+ "parent": "object"
+ },
+ {
+ "name": "scsi-block",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "xlnx.axi-ethernet",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sd-card",
+ "parent": "sdmmc-common"
+ },
+ {
+ "name": "pxa270-a1-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "mv88w8618_audio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx25-pdk-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "vhost-user-scmi",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virt-2.11-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "imx.i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sd-card-spi",
+ "parent": "sd-card"
+ },
+ {
+ "name": "sst25vf032b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "CXL",
+ "parent": "PCIE"
+ },
+ {
+ "name": "imx7.ccm",
+ "parent": "imx.ccm"
+ },
+ {
+ "name": "nrf51-soc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fusbh200-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "xilinx-axi-dma-data-stream",
+ "parent": "object"
+ },
+ {
+ "name": "tls-cipher-suites",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "vhost-scsi-pci-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "160s33b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "kvm-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "memory-backend-ram",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "m25pe20",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-rng-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nrf51_soc.gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sx1-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "npcm7xx-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pci-testdev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "scsi-cd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "sp804",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sii9022",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "filter-rewriter",
+ "parent": "netfilter"
+ },
+ {
+ "name": "smdkc210-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "allwinner-a10-dramc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "none-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "virt-5.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "stm32f2xx-syscfg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cortex-a7-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "emc1414",
+ "parent": "emc141x"
+ },
+ {
+ "name": "640s33b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "mcimx6ul-evk-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "adm1266",
+ "parent": "pmbus-device"
+ },
+ {
+ "name": "pxb-cxl-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "xlnx-efuse",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-blk-pci-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "emc1413",
+ "parent": "emc141x"
+ },
+ {
+ "name": "virt-3.1-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "rng-builtin",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "stm32f2xx-adc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "musca-a-machine",
+ "parent": "musca"
+ },
+ {
+ "name": "pxa270-b1-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "aspeed.sdmc-ast2700",
+ "parent": "aspeed.sdmc"
+ },
+ {
+ "name": "bcm2835-sys-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-blk-pci-non-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "stellaris_enet",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "fby35-bmc-machine",
+ "parent": "ast2600-evb-machine"
+ },
+ {
+ "name": "versatilepb_sic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "25csm04",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "sst25vf016b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "acpi-erst",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-vdpa-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "realview_gic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-mmio-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "strongarm_pic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.spi2-ast1030",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "container",
+ "parent": "object"
+ },
+ {
+ "name": "tls-creds-psk",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "virtio-sound-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "allwinner-a10-pic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mx25l25655e",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "b-l475e-iot01a-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "w25x32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "musca-b1-machine",
+ "parent": "musca"
+ },
+ {
+ "name": "kzm-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "versatileab-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "arm1176-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "realview-pbx-a9-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "xlnx.versal-trng",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx.gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "npcm7xx-clock-pll",
+ "parent": "device"
+ },
+ {
+ "name": "stellaris-sys",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virt-2.8-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "s25sl004a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2835-dma",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-mbox",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.scu-ast2400",
+ "parent": "aspeed.scu"
+ },
+ {
+ "name": "xlnx-versal",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mps3-an547-machine",
+ "parent": "mps2tz"
+ },
+ {
+ "name": "armsse-cpuid",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "rainier-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "stm32l4x5xc-soc",
+ "parent": "stm32l4x5-soc"
+ },
+ {
+ "name": "en25p64",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "exynos4210.pwm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "vmxnet3",
+ "parent": "pci-device"
+ },
+ {
+ "name": "e1000-82544gc",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "vhost-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "pxa270-a0-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "m25px32-s1",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pxb-cxl",
+ "parent": "pxb-pcie"
+ },
+ {
+ "name": "PCIE",
+ "parent": "PCI"
+ },
+ {
+ "name": "rocker",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virt-2.10-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "m25px32-s0",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "s3c-sdhci",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "aspeed.adc-ast2400",
+ "parent": "aspeed.adc"
+ },
+ {
+ "name": "aspeed.gpio-ast2700",
+ "parent": "aspeed.gpio"
+ },
+ {
+ "name": "w25q01jvq",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "i82801",
+ "parent": "pci-device"
+ },
+ {
+ "name": "npcm750-evb-machine",
+ "parent": "npcm7xx-machine"
+ },
+ {
+ "name": "xlnx.cframe-bcast-reg",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q00",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "pxa25x-timer",
+ "parent": "pxa2xx-timer"
+ },
+ {
+ "name": "cortex-a57-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "m25p32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virtio-net-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "stm32f205-soc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "mv88w8618_eth",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "dbus-display",
+ "parent": "object"
+ },
+ {
+ "name": "npcm7xx-smbus",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pl061_luminary",
+ "parent": "pl061"
+ },
+ {
+ "name": "320s33b",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2835-peripherals",
+ "parent": "bcm-soc-peripherals-base"
+ },
+ {
+ "name": "AC97",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pl011_luminary",
+ "parent": "pl011"
+ },
+ {
+ "name": "romulus-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "sse-timer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.fmc-ast2400",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "cortex-m4-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "aspeed.wdt-ast2600",
+ "parent": "aspeed.wdt"
+ },
+ {
+ "name": "n25q512a13",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virt-5.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "virtio-tablet-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "opb",
+ "parent": "bus"
+ },
+ {
+ "name": "stm32f2xx-spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.xps-intc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-cprman",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-9p-pci-non-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "hda-output",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "i82558b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pxa270-b0-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "bcm2835-otp",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx.avic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "sysbus-esp",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "aspeed.peci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q512a11",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "virt-3.0-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "aspeed.sliio-ast2700",
+ "parent": "aspeed.sli"
+ },
+ {
+ "name": "i82558a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "memory-region-portio-list",
+ "parent": "object"
+ },
+ {
+ "name": "npcm750",
+ "parent": "npcm7xx"
+ },
+ {
+ "name": "mps3-an536-machine",
+ "parent": "mps3r"
+ },
+ {
+ "name": "qio-channel-block",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-mem",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "scsi-hd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "authz-simple",
+ "parent": "authz"
+ },
+ {
+ "name": "ufs-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "pl050_mouse",
+ "parent": "pl050"
+ },
+ {
+ "name": "allwinner-wdt-sun6i",
+ "parent": "allwinner-wdt"
+ },
+ {
+ "name": "usb_dwc3",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cxl-switch-mailbox-cci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ast2700-evb-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "bcm2838-peripherals",
+ "parent": "bcm-soc-peripherals-base"
+ },
+ {
+ "name": "mx66l1g45g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "nvme-subsys",
+ "parent": "device"
+ },
+ {
+ "name": "n25q128",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.spi1-ast1030",
+ "parent": "aspeed.smc"
+ },
+ {
+ "name": "vhost-user-scsi-pci-non-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "mcimx7d-sabre-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "cortex-a15-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "vhost-user-rng",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "stm32l4x5-uart",
+ "parent": "stm32l4x5-usart-base"
+ },
+ {
+ "name": "virtserialport",
+ "parent": "virtio-serial-port"
+ },
+ {
+ "name": "tpm-passthrough",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "s25fl512s",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "nuri-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "bcm2835-aux",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "n25q00a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2835-mphi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tegra2-ehci-usb",
+ "parent": "sysbus-ehci-usb"
+ },
+ {
+ "name": "tcg-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "npcm7xx-fiu",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx-pmc-efuse-cache",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx-versal-efuse",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "imx7.gpt",
+ "parent": "imx25.gpt"
+ },
+ {
+ "name": "allwinner-rtc-sun6i",
+ "parent": "allwinner-rtc"
+ },
+ {
+ "name": "at25df641",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "usb-net",
+ "parent": "usb-device"
+ },
+ {
+ "name": "w25q512jv",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "filter-dump",
+ "parent": "netfilter"
+ },
+ {
+ "name": "virt-2.7-machine",
+ "parent": "virt-machine"
+ },
+ {
+ "name": "m25pe16",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "bcm2838-gpio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-iommu-pci",
+ "parent": "virtio-iommu-pci-base-type"
+ },
+ {
+ "name": "pxa270-c0-arm-cpu",
+ "parent": "arm-cpu"
+ },
+ {
+ "name": "kvm-arm-gic",
+ "parent": "arm_gic_common"
+ },
+ {
+ "name": "imx7.gpr",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "bcm2835-sdhost",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "tiogapass-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "vhost-user-i2c-device",
+ "parent": "vhost-user-base"
+ },
+ {
+ "name": "neoverse-n2-arm-cpu",
+ "parent": "aarch64-cpu"
+ },
+ {
+ "name": "mt35xu01g",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "cirrus-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "mx25l2005a",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "aspeed.hace-ast1030",
+ "parent": "aspeed.hace"
+ },
+ {
+ "name": "sst25wf040",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "allwinner.i2c-sun6i",
+ "parent": "allwinner.i2c"
+ },
+ {
+ "name": "vhost-user-i2c-pci",
+ "parent": "vhost-user-i2c-pci-base"
+ },
+ {
+ "name": "w25x80",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "imx.spi",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "musicpal-misc",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "cmsdk-apb-dualtimer",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "w25q32",
+ "parent": "m25p80-generic"
+ },
+ {
+ "name": "ast2600-evb-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "mori-bmc-machine",
+ "parent": "npcm7xx-machine"
+ },
+ {
+ "name": "aspeed.i2c.bus",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qcom-dc-scm-v1-bmc-machine",
+ "parent": "aspeed-machine"
+ },
+ {
+ "name": "fsi.lbus",
+ "parent": "bus"
+ },
+ {
+ "name": "ivshmem-plain",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "bcm2835-i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "xlnx.versal-ospi",
+ "parent": "sys-bus-device"
+ }
+ ],
+ "id": "libvirt-6"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-blk-pci"
+ },
+ "id": "libvirt-7"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "queue-size",
+ "type": "uint16"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "account-invalid",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 65535,
+ "name": "num-queues",
+ "type": "uint16"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-blk-device>"
+ },
+ {
+ "default-value": 0,
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "iothread-vq-mapping",
+ "description": "IOThread virtqueue mapping list [{\"iothread\":\"<id>\", \"vqs\":[1,2,3,...]},...]",
+ "type": "IOThreadVirtQueueMappingList"
+ },
+ {
+ "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": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "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": "x-disable-legacy-check",
+ "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": "queue_reset",
+ "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": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": true,
+ "name": "x-enable-wce-if-config-wce",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-7"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-pci"
+ },
+ "id": "libvirt-8"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": false,
+ "name": "in_order",
+ "description": "on/off",
+ "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": 0,
+ "name": "host_mtu",
+ "type": "uint16"
+ },
+ {
+ "default-value": 256,
+ "name": "x-txburst",
+ "type": "int32"
+ },
+ {
+ "name": "tx",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "rss",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_uso",
+ "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": true,
+ "name": "guest_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "tx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "hash",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_guest_offloads",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "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": true,
+ "name": "guest_uso6",
+ "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": [],
+ "name": "ebpf-rss-fds",
+ "type": "list"
+ },
+ {
+ "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": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_rx_extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "rx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "guest_uso4",
+ "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": 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-8"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-pci"
+ },
+ "id": "libvirt-9"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": "queue_reset",
+ "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": true,
+ "name": "any_layout",
+ "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"
+ },
+ {
+ "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": false,
+ "name": "in_order",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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-9"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-ccw"
+ },
+ "id": "libvirt-10"
+}
+
+{
+ "id": "libvirt-10",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-net-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-ccw"
+ },
+ "id": "libvirt-11"
+}
+
+{
+ "id": "libvirt-11",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-scsi-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vfio-pci"
+ },
+ "id": "libvirt-12"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "on",
+ "name": "x-pre-copy-dirty-page-tracking",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-intx",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "migration-events",
+ "type": "bool"
+ },
+ {
+ "default-value": "on",
+ "name": "x-device-dirty-page-tracking",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-device-id",
+ "type": "uint32"
+ },
+ {
+ "name": "fd",
+ "type": "string"
+ },
+ {
+ "default-value": "auto",
+ "name": "enable-migration",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": true,
+ "name": "skip-vsc-check",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-device-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msi",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": "off",
+ "name": "display",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-mmap",
+ "type": "bool"
+ },
+ {
+ "default-value": "off",
+ "name": "x-msix-relocation",
+ "description": "off/auto/bar0/bar1/bar2/bar3/bar4/bar5",
+ "type": "OffAutoPCIBAR"
+ },
+ {
+ "default-value": true,
+ "name": "x-req",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-vfio-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "name": "x-nv-gpudirect-clique",
+ "description": "NVIDIA GPUDirect Clique ID (0 - 15)",
+ "type": "uint4"
+ },
+ {
+ "default-value": 1100,
+ "name": "x-intx-mmap-timeout-ms",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "x-igd-gms",
+ "type": "uint32"
+ },
+ {
+ "name": "sysfsdev",
+ "type": "str"
+ },
+ {
+ "name": "vf-token",
+ "description": "UUID (aka GUID) or \"auto\" for random value (default)",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-vga",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-igd-opregion",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msix",
+ "type": "bool"
+ },
+ {
+ "name": "iommufd",
+ "type": "link<iommufd>"
+ },
+ {
+ "name": "host",
+ "description": "Address (bus/device/function) of the host device, example: 04:10.0",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-geforce-quirks",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-balloon-allowed",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-12"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "scsi-hd"
+ },
+ "id": "libvirt-13"
+}
+
+{
+ "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": "secs",
+ "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": 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": true,
+ "name": "migrate-emulated-scsi-request",
+ "type": "bool"
+ },
+ {
+ "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"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "name": "device_id",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-13"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ide-hd"
+ },
+ "id": "libvirt-14"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "win2k-install-hack",
+ "type": "bool"
+ },
+ {
+ "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-14"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "PIIX4_PM"
+ },
+ "id": "libvirt-15"
+}
+
+{
+ "id": "libvirt-15",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'PIIX4_PM' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-storage"
+ },
+ "id": "libvirt-16"
+}
+
+{
+ "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-16"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "kvm-pit"
+ },
+ "id": "libvirt-17"
+}
+
+{
+ "id": "libvirt-17",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'kvm-pit' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "VGA"
+ },
+ "id": "libvirt-18"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "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-18"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-pci"
+ },
+ "id": "libvirt-19"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": 0,
+ "name": "hostmem",
+ "type": "size"
+ },
+ {
+ "default-value": 2,
+ "name": "x-scanout-vmstate-version",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "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": false,
+ "name": "in_order",
+ "description": "on/off",
+ "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-19"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-device"
+ },
+ "id": "libvirt-20"
+}
+
+{
+ "return": [
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "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": 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": 1,
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1280,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 2,
+ "name": "x-scanout-vmstate-version",
+ "type": "uint8"
+ },
+ {
+ "default-value": 800,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "blob",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "hostmem",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-20"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ICH9-LPC"
+ },
+ "id": "libvirt-21"
+}
+
+{
+ "id": "libvirt-21",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'ICH9-LPC' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-pci"
+ },
+ "id": "libvirt-22"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "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": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "page-poison",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "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"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "qemu-4-0-config-size",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-hint",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-balloon-device>"
+ }
+ ],
+ "id": "libvirt-22"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-ccw"
+ },
+ "id": "libvirt-23"
+}
+
+{
+ "id": "libvirt-23",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-balloon-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-device"
+ },
+ "id": "libvirt-24"
+}
+
+{
+ "return": [
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "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": 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-24"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "nvdimm"
+ },
+ "id": "libvirt-25"
+}
+
+{
+ "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-25"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "pcie-root-port"
+ },
+ "id": "libvirt-26"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-pci-express-writeable-slt-bug",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "port",
+ "type": "uint8"
+ },
+ {
+ "default-value": 8,
+ "name": "aer_log_max",
+ "type": "uint16"
+ },
+ {
+ "default-value": false,
+ "name": "x-do-not-expose-native-hotplug-cap",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "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/32/64",
+ "type": "PCIELinkSpeed"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "pref32-reserve",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-26"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-host"
+ },
+ "id": "libvirt-27"
+}
+
+{
+ "id": "libvirt-27",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'usb-host' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vhost-user-fs-device"
+ },
+ "id": "libvirt-28"
+}
+
+{
+ "return": [
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "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": 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-28"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-mem-pci"
+ },
+ "id": "libvirt-29"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-early-migration",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "node",
+ "type": "uint32"
+ },
+ {
+ "name": "requested-size",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": false,
+ "name": "in_order",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "dynamic-memslots",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-mem>"
+ }
+ ],
+ "id": "libvirt-29"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-iommu-pci"
+ },
+ "id": "libvirt-30"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "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": 4096,
+ "name": "x-max-bounce-buffer-size",
+ "description": "Maximum buffer size allocated for bounce buffers used for mapped access to indirect DMA memory",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "x-pcie-ari-nextfn-1",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-err-unc-mask",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "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": "x-pcie-pm-no-soft-reset",
+ "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": [],
+ "name": "reserved-regions",
+ "type": "list"
+ },
+ {
+ "default-value": 0,
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "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": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "host",
+ "name": "granule",
+ "description": "granule_mode values, 4k, 8k, 16k, 64k, host",
+ "type": "GranuleMode"
+ },
+ {
+ "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"
+ },
+ {
+ "default-value": true,
+ "name": "queue_reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "boot-bypass",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "in_order",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "primary-bus",
+ "type": "link<PCI>"
+ },
+ {
+ "default-value": 64,
+ "name": "aw-bits",
+ "type": "uint8"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-iommu-device>"
+ }
+ ],
+ "id": "libvirt-30"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-file"
+ },
+ "id": "libvirt-31"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "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": "prealloc-context",
+ "description": "Context to use for creating CPU threads for preallocation",
+ "type": "link<thread-context>"
+ },
+ {
+ "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": "offset",
+ "description": "Offset into the target file (ex: 1G)",
+ "type": "int"
+ },
+ {
+ "name": "mem-path",
+ "type": "string"
+ },
+ {
+ "name": "rom",
+ "description": "Whether to create Read Only Memory (ROM)",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "discard-data",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-31"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-memfd"
+ },
+ "id": "libvirt-32"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "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": "prealloc-context",
+ "description": "Context to use for creating CPU threads for preallocation",
+ "type": "link<thread-context>"
+ },
+ {
+ "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-32"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-arm-cpu"
+ },
+ "id": "libvirt-33"
+}
+
+{
+ "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": "legacy-memory",
+ "type": "str"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "backcompat-cntfrq",
+ "type": "bool"
+ },
+ {
+ "default-value": -1,
+ "name": "core-count",
+ "type": "int32"
+ },
+ {
+ "default-value": 18446742978476113920,
+ "name": "mp-affinity",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "midr",
+ "type": "uint64"
+ },
+ {
+ "default-value": -1,
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "aarch64",
+ "description": "Set on/off to enable/disable aarch64 execution state ",
+ "type": "bool"
+ },
+ {
+ "name": "sve384",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-steal-time",
+ "description": "Set off to disable KVM steal time.",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "cntfrq",
+ "type": "uint64"
+ },
+ {
+ "name": "num-breakpoints",
+ "type": "uint8"
+ },
+ {
+ "name": "kvm-no-adjvtime",
+ "description": "Set on to disable the adjustment of the virtual counter. VM stopped time will be counted.",
+ "type": "bool"
+ },
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "rvbar",
+ "type": "uint64"
+ },
+ {
+ "default-value": false,
+ "name": "reset-hivecs",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[0]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve512",
+ "type": "bool"
+ },
+ {
+ "name": "sve1408",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[1]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[2]",
+ "type": "child<irq>"
+ },
+ {
+ "default-value": true,
+ "name": "pauth",
+ "type": "bool"
+ },
+ {
+ "name": "sve640",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "cfgend",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[3]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve1536",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[4]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "psci-conduit",
+ "type": "uint32"
+ },
+ {
+ "name": "unnamed-gpio-in[5]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve2048",
+ "type": "bool"
+ },
+ {
+ "name": "sve1664",
+ "type": "bool"
+ },
+ {
+ "name": "num-pmu-counters",
+ "type": "uint8"
+ },
+ {
+ "name": "sve1024",
+ "type": "bool"
+ },
+ {
+ "name": "gicv3-maintenance-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "unnamed-gpio-out[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve1792",
+ "type": "bool"
+ },
+ {
+ "name": "sve768",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[1]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "pmu-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve1152",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[2]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve128",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[3]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve896",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[4]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve1280",
+ "type": "bool"
+ },
+ {
+ "name": "sve256",
+ "type": "bool"
+ },
+ {
+ "name": "num-watchpoints",
+ "type": "uint8"
+ },
+ {
+ "name": "sve1920",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-33"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-34"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": false,
+ "name": "qcom-dc-scm-v1-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mori-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2600-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "tiogapass-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "nuri",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mcimx7d-sabre",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "mcimx7d-sabre.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2700-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an536",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-r52-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "romulus-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "npcm750-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "rainier-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an547",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m55-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-pbx-a9",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a9-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "versatileab",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "versatile.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "kzm",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "kzm.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musca-b1",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "b-l475e-iot01a",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fby35-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musca-a",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mcimx6ul-evk",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mcimx6ul-evk.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "smdkc210",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sx1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "ti925t-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "omap1.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "imx25-pdk",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "imx25.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "stm32vldiscovery",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "orangepi-pc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "orangepi.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-q71l-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "xilinx-zynq-a9",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "zynq.ext_ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an500",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an521",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sabrelite",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "sabrelite.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an511",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "canon-a1100",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-eb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-gbs-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "emcraft-sf2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-pb-a8",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a8-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sbsa-ref",
+ "numa-mem-supported": false,
+ "default-cpu-type": "neoverse-n2-arm-cpu",
+ "acpi": false,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "sbsa-ref.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "yosemitev2-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi1ap",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "palmetto-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sx1-v1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "ti925t-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "omap1.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "g220a-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "tacoma-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": true,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "bletchley-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-gsj",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "versatilepb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "versatile.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-eb-mpcore",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm11mpcore-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "integratorcp",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "integrator.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "supermicrox11-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram",
+ "alias": "virt"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "witherspoon-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "qcom-firework-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an524",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "kudo-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "vexpress-a9",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "vexpress.highmem"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "midway",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "highbank.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musicpal",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "musicpal.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "lm3s811evb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "lm3s6965evb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "supermicro-x11spi-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microbit",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fby35",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 3,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an385",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an505",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi3ap",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "cubieboard",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a8-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "cubieboard.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast1030-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "netduino2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "bpim2u",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "bpim2u.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi4b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "xlnx-versal-virt",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ddr"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an386",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m4-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "olimex-stm32-h405",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi3b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi2b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "vexpress-a15",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "vexpress.highmem"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fuji-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sonorapass-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2500-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "highbank",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "highbank.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "netduinoplus2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "collie",
+ "numa-mem-supported": false,
+ "default-cpu-type": "sa1110-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "strongarm.sdram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi0",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fp5280g2-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ }
+ ],
+ "id": "libvirt-34"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "virt-9.2-machine"
+ },
+ "id": "libvirt-35"
+}
+
+{
+ "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": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
+ {
+ "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": "smp-cache",
+ "description": "Cache properties list for SMP machine",
+ "type": "SmpCachePropertiesWrapper"
+ },
+ {
+ "name": "dumpdtb",
+ "description": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate dynamically",
+ "type": "int"
+ },
+ {
+ "name": "memory-backend",
+ "description": "Set RAM backendValid value is ID of hostmem based backend",
+ "type": "link<memory-backend>"
+ },
+ {
+ "name": "mem-merge",
+ "description": "Enable/disable memory merge support",
+ "type": "bool"
+ },
+ {
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "mte",
+ "description": "Set on/off to enable/disable emulating a guest CPU which implements the ARM Memory Tagging Extension",
+ "type": "bool"
+ },
+ {
+ "name": "x-oem-table-id",
+ "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+ "type": "string"
+ },
+ {
+ "name": "dtb-randomness",
+ "description": "Set off to disable passing random or non-deterministic dtb nodes to guest",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "secure",
+ "description": "Set on/off to enable/disable the ARM Security Extensions (TrustZone)",
+ "type": "bool"
+ },
+ {
+ "name": "acpi",
+ "description": "Enable ACPI",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "highmem-mmio",
+ "description": "Set on/off to enable/disable high memory region for PCI MMIO",
+ "type": "bool"
+ },
+ {
+ "name": "compact-highmem",
+ "description": "Set on/off to enable/disable compact layout for high memory regions",
+ "type": "bool"
+ },
+ {
+ "name": "iommu",
+ "description": "Set the IOMMU type. Valid values are none and smmuv3",
+ "type": "string"
+ },
+ {
+ "name": "dtb-kaslr-seed",
+ "description": "Deprecated synonym of dtb-randomness",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "ras",
+ "description": "Set on/off to enable/disable reporting host memory errors to a KVM guest using ACPI and guest external abort exceptions",
+ "type": "bool"
+ },
+ {
+ "name": "highmem-redists",
+ "description": "Set on/off to enable/disable high memory region for GICv3 or GICv4 redistributor",
+ "type": "bool"
+ },
+ {
+ "name": "highmem-ecam",
+ "description": "Set on/off to enable/disable high memory region for PCI ECAM",
+ "type": "bool"
+ },
+ {
+ "name": "highmem",
+ "description": "Set on/off to enable/disable using physical address space above 32 bits",
+ "type": "bool"
+ },
+ {
+ "name": "x-oem-id",
+ "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+ "type": "string"
+ },
+ {
+ "name": "its",
+ "description": "Set on/off to enable/disable ITS instantiation",
+ "type": "bool"
+ },
+ {
+ "name": "virtualization",
+ "description": "Set on/off to enable/disable emulating a guest CPU which implements the ARM Virtualization Extensions",
+ "type": "bool"
+ },
+ {
+ "name": "default-bus-bypass-iommu",
+ "description": "Set on/off to enable/disable bypass_iommu for default root bus",
+ "type": "bool"
+ },
+ {
+ "name": "gic-version",
+ "description": "Set GIC version. Valid values are 2, 3, 4, host and max",
+ "type": "string"
+ },
+ {
+ "name": "hmat",
+ "description": "Set on/off to enable/disable ACPI Heterogeneous Memory Attribute Table (HMAT)",
+ "type": "bool"
+ },
+ {
+ "name": "peripheral-anon",
+ "type": "child<container>"
+ },
+ {
+ "name": "peripheral",
+ "type": "child<container>"
+ },
+ {
+ "name": "nvdimm",
+ "description": "Set on/off to enable/disable NVDIMM instantiation",
+ "type": "bool"
+ },
+ {
+ "name": "nvdimm-persistence",
+ "description": "Set NVDIMM persistenceValid values are cpu, mem-ctrl",
+ "type": "string"
+ }
+ ],
+ "id": "libvirt-35"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "none-machine"
+ },
+ "id": "libvirt-36"
+}
+
+{
+ "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": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
+ {
+ "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": "smp-cache",
+ "description": "Cache properties list for SMP machine",
+ "type": "SmpCachePropertiesWrapper"
+ },
+ {
+ "name": "dumpdtb",
+ "description": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate dynamically",
+ "type": "int"
+ },
+ {
+ "name": "memory-backend",
+ "description": "Set RAM backendValid value is ID of hostmem based backend",
+ "type": "link<memory-backend>"
+ },
+ {
+ "name": "mem-merge",
+ "description": "Enable/disable memory merge support",
+ "type": "bool"
+ },
+ {
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "peripheral-anon",
+ "type": "child<container>"
+ },
+ {
+ "name": "peripheral",
+ "type": "child<container>"
+ }
+ ],
+ "id": "libvirt-36"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-37"
+}
+
+{
+ "return": [
+ {
+ "name": "neoverse-n2",
+ "typename": "neoverse-n2-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-c0",
+ "typename": "pxa270-c0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a15",
+ "typename": "cortex-a15-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-b0",
+ "typename": "pxa270-b0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m4",
+ "typename": "cortex-m4-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a57",
+ "typename": "cortex-a57-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-a0",
+ "typename": "pxa270-a0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1176",
+ "typename": "arm1176-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-b1",
+ "typename": "pxa270-b1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a7",
+ "typename": "cortex-a7-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-a1",
+ "typename": "pxa270-a1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a76",
+ "typename": "cortex-a76-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "a64fx",
+ "typename": "a64fx-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a8",
+ "typename": "cortex-a8-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "neoverse-v1",
+ "typename": "neoverse-v1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r5",
+ "typename": "cortex-r5-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "ti925t",
+ "typename": "ti925t-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r5f",
+ "typename": "cortex-r5f-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1026",
+ "typename": "arm1026-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a9",
+ "typename": "cortex-a9-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m7",
+ "typename": "cortex-m7-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270",
+ "typename": "pxa270-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa260",
+ "typename": "pxa260-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa250",
+ "typename": "pxa250-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-c5",
+ "typename": "pxa270-c5-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa261",
+ "typename": "pxa261-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa262",
+ "typename": "pxa262-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a710",
+ "typename": "cortex-a710-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r52",
+ "typename": "cortex-r52-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "sa1110",
+ "typename": "sa1110-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "sa1100",
+ "typename": "sa1100-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "max",
+ "typename": "max-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a53",
+ "typename": "cortex-a53-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m0",
+ "typename": "cortex-m0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m33",
+ "typename": "cortex-m33-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a72",
+ "typename": "cortex-a72-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm946",
+ "typename": "arm946-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa255",
+ "typename": "pxa255-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a55",
+ "typename": "cortex-a55-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm11mpcore",
+ "typename": "arm11mpcore-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m55",
+ "typename": "cortex-m55-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "neoverse-n1",
+ "typename": "neoverse-n1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm926",
+ "typename": "arm926-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1136",
+ "typename": "arm1136-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a35",
+ "typename": "cortex-a35-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1136-r2",
+ "typename": "arm1136-r2-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m3",
+ "typename": "cortex-m3-arm-cpu",
+ "static": false,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-37"
+}
+
+{
+ "execute": "query-tpm-models",
+ "id": "libvirt-38"
+}
+
+{
+ "return": [
+ "tpm-tis",
+ "tpm-tis"
+ ],
+ "id": "libvirt-38"
+}
+
+{
+ "execute": "query-tpm-types",
+ "id": "libvirt-39"
+}
+
+{
+ "return": [
+ "passthrough",
+ "emulator"
+ ],
+ "id": "libvirt-39"
+}
+
+{
+ "execute": "query-command-line-options",
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "parameters": [
+ {
+ "name": "type",
+ "help": "machine type",
+ "type": "string"
+ },
+ {
+ "name": "boot-emmc",
+ "help": "Set or unset boot from EMMC",
+ "type": "boolean"
+ },
+ {
+ "name": "boot-mode",
+ "help": "Supported boot modes: jtag qspi sd nor",
+ "type": "string"
+ },
+ {
+ "name": "remap",
+ "help": "Set memory mapping. Valid values are BRAM (default) and QSPI.",
+ "type": "string"
+ },
+ {
+ "name": "ospi-flash",
+ "help": "Change the OSPI Flash model",
+ "type": "string"
+ },
+ {
+ "name": "audiodev",
+ "help": "Audiodev to use for default machine devices",
+ "type": "string"
+ },
+ {
+ "name": "auto-shutdown",
+ "type": "boolean"
+ },
+ {
+ "name": "vfio-user",
+ "type": "boolean"
+ },
+ {
+ "name": "mte",
+ "help": "Set on/off to enable/disable emulating a guest CPU which implements the ARM Memory Tagging Extension",
+ "type": "boolean"
+ },
+ {
+ "name": "x-oem-table-id",
+ "help": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+ "type": "string"
+ },
+ {
+ "name": "dtb-randomness",
+ "help": "Set off to disable passing random or non-deterministic dtb nodes to guest",
+ "type": "boolean"
+ },
+ {
+ "name": "secure",
+ "help": "Set on/off to enable/disable the ARM Security Extensions (TrustZone)",
+ "type": "boolean"
+ },
+ {
+ "name": "acpi",
+ "help": "Enable ACPI",
+ "type": "boolean"
+ },
+ {
+ "name": "highmem-mmio",
+ "help": "Set on/off to enable/disable high memory region for PCI MMIO",
+ "type": "boolean"
+ },
+ {
+ "name": "compact-highmem",
+ "help": "Set on/off to enable/disable compact layout for high memory regions",
+ "type": "boolean"
+ },
+ {
+ "name": "iommu",
+ "help": "Set the IOMMU type. Valid values are none and smmuv3",
+ "type": "string"
+ },
+ {
+ "name": "dtb-kaslr-seed",
+ "help": "Deprecated synonym of dtb-randomness",
+ "type": "boolean"
+ },
+ {
+ "name": "ras",
+ "help": "Set on/off to enable/disable reporting host memory errors to a KVM guest using ACPI and guest external abort exceptions",
+ "type": "boolean"
+ },
+ {
+ "name": "highmem-redists",
+ "help": "Set on/off to enable/disable high memory region for GICv3 or GICv4 redistributor",
+ "type": "boolean"
+ },
+ {
+ "name": "highmem-ecam",
+ "help": "Set on/off to enable/disable high memory region for PCI ECAM",
+ "type": "boolean"
+ },
+ {
+ "name": "highmem",
+ "help": "Set on/off to enable/disable using physical address space above 32 bits",
+ "type": "boolean"
+ },
+ {
+ "name": "x-oem-id",
+ "help": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+ "type": "string"
+ },
+ {
+ "name": "its",
+ "help": "Set on/off to enable/disable ITS instantiation",
+ "type": "boolean"
+ },
+ {
+ "name": "virtualization",
+ "help": "Set on/off to enable/disable emulating a guest CPU which implements the ARM Virtualization Extensions",
+ "type": "boolean"
+ },
+ {
+ "name": "default-bus-bypass-iommu",
+ "help": "Set on/off to enable/disable bypass_iommu for default root bus",
+ "type": "boolean"
+ },
+ {
+ "name": "gic-version",
+ "help": "Set GIC version. Valid values are 2, 3, 4, host and max",
+ "type": "string"
+ },
+ {
+ "name": "kernel",
+ "help": "Linux kernel image file",
+ "type": "string"
+ },
+ {
+ "name": "dt-compatible",
+ "help": "Overrides the \"compatible\" property of the dt root node",
+ "type": "string"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "help": "Set on to disable self-describing migration",
+ "type": "boolean"
+ },
+ {
+ "name": "boot",
+ "help": "Boot configuration",
+ "type": "string"
+ },
+ {
+ "name": "memory",
+ "help": "Memory size configuration",
+ "type": "string"
+ },
+ {
+ "name": "initrd",
+ "help": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "confidential-guest-support",
+ "help": "Set confidential guest scheme to support",
+ "type": "string"
+ },
+ {
+ "name": "graphics",
+ "help": "Set on/off to enable/disable graphics emulation",
+ "type": "boolean"
+ },
+ {
+ "name": "usb",
+ "help": "Set on/off to enable/disable usb",
+ "type": "boolean"
+ },
+ {
+ "name": "firmware",
+ "help": "Firmware image",
+ "type": "string"
+ },
+ {
+ "name": "memory-encryption",
+ "help": "Set memory encryption object to use",
+ "type": "string"
+ },
+ {
+ "name": "smp",
+ "help": "CPU topology",
+ "type": "string"
+ },
+ {
+ "name": "dump-guest-core",
+ "help": "Include guest memory in a core dump",
+ "type": "boolean"
+ },
+ {
+ "name": "smp-cache",
+ "help": "Cache properties list for SMP machine",
+ "type": "string"
+ },
+ {
+ "name": "dumpdtb",
+ "help": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "phandle-start",
+ "help": "The first phandle ID we may generate dynamically",
+ "type": "number"
+ },
+ {
+ "name": "memory-backend",
+ "help": "Set RAM backendValid value is ID of hostmem based backend",
+ "type": "string"
+ },
+ {
+ "name": "mem-merge",
+ "help": "Enable/disable memory merge support",
+ "type": "boolean"
+ },
+ {
+ "name": "dtb",
+ "help": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "help": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "fmc-model",
+ "help": "Change the FMC Flash model",
+ "type": "string"
+ },
+ {
+ "name": "bmc-console",
+ "help": "Change the default UART to \"uartX\"",
+ "type": "string"
+ },
+ {
+ "name": "spi-model",
+ "help": "Change the SPI Flash model",
+ "type": "string"
+ },
+ {
+ "name": "execute-in-place",
+ "help": "boot directly from CE0 flash device",
+ "type": "boolean"
+ }
+ ],
+ "option": "machine"
+ },
+ {
+ "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": "user",
+ "type": "string"
+ },
+ {
+ "name": "chroot",
+ "type": "string"
+ },
+ {
+ "name": "async-teardown",
+ "type": "boolean"
+ }
+ ],
+ "option": "run-with"
+ },
+ {
+ "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": [
+ {
+ "name": "arg",
+ "type": "string"
+ },
+ {
+ "name": "chardev",
+ "type": "string"
+ },
+ {
+ "name": "target",
+ "type": "string"
+ },
+ {
+ "name": "userspace",
+ "type": "boolean"
+ },
+ {
+ "name": "enable",
+ "type": "boolean"
+ }
+ ],
+ "option": "semihosting-config"
+ },
+ {
+ "parameters": [
+ {
+ "name": "rrsnapshot",
+ "type": "string"
+ },
+ {
+ "name": "rrfile",
+ "type": "string"
+ },
+ {
+ "name": "rr",
+ "type": "string"
+ },
+ {
+ "name": "sleep",
+ "type": "boolean"
+ },
+ {
+ "name": "align",
+ "type": "boolean"
+ },
+ {
+ "name": "shift",
+ "type": "string"
+ }
+ ],
+ "option": "icount"
+ },
+ {
+ "parameters": [],
+ "option": "numa"
+ },
+ {
+ "parameters": [
+ {
+ "name": "debug-threads",
+ "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.",
+ "type": "boolean"
+ },
+ {
+ "name": "process",
+ "help": "Sets the name of the QEMU process, as shown in top etc",
+ "type": "string"
+ },
+ {
+ "name": "guest",
+ "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server",
+ "type": "string"
+ }
+ ],
+ "option": "name"
+ },
+ {
+ "parameters": [
+ {
+ "name": "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": "modules",
+ "type": "number"
+ },
+ {
+ "name": "clusters",
+ "type": "number"
+ },
+ {
+ "name": "dies",
+ "type": "number"
+ },
+ {
+ "name": "sockets",
+ "type": "number"
+ },
+ {
+ "name": "books",
+ "type": "number"
+ },
+ {
+ "name": "drawers",
+ "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-ms",
+ "type": "number"
+ },
+ {
+ "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": "input-path",
+ "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-40"
+}
+
+{
+ "execute": "query-migrate-capabilities",
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
+ "state": false,
+ "capability": "xbzrle"
+ },
+ {
+ "state": false,
+ "capability": "rdma-pin-all"
+ },
+ {
+ "state": false,
+ "capability": "auto-converge"
+ },
+ {
+ "state": false,
+ "capability": "zero-blocks"
+ },
+ {
+ "state": false,
+ "capability": "events"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-ram"
+ },
+ {
+ "state": false,
+ "capability": "x-colo"
+ },
+ {
+ "state": false,
+ "capability": "release-ram"
+ },
+ {
+ "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"
+ },
+ {
+ "state": false,
+ "capability": "switchover-ack"
+ },
+ {
+ "state": false,
+ "capability": "dirty-limit"
+ },
+ {
+ "state": false,
+ "capability": "mapped-ram"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "query-gic-capabilities",
+ "id": "libvirt-42"
+}
+
+{
+ "return": [
+ {
+ "emulated": true,
+ "version": 3,
+ "kernel": true
+ },
+ {
+ "emulated": true,
+ "version": 2,
+ "kernel": false
+ }
+ ],
+ "id": "libvirt-42"
+}
+
+{
+ "execute": "query-cca-capabilities",
+ "id": "libvirt-43"
+}
+
+{
+ "return": {
+ "sections": [
+ {
+ "measurement-algo": "sha256"
+ },
+ {
+ "measurement-algo": "sha512"
+ }
+ ]
+ },
+ "id": "libvirt-43"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "full",
+ "model": {
+ "name": "host"
+ }
+ },
+ "id": "libvirt-44"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "host",
+ "props": {
+ "sve768": true,
+ "sve128": true,
+ "sve1024": true,
+ "sve1280": true,
+ "num-watchpoints": 4,
+ "sve896": true,
+ "sve256": true,
+ "sve1536": true,
+ "sve1792": true,
+ "sve384": true,
+ "sve": true,
+ "sve2048": true,
+ "pauth": true,
+ "kvm-no-adjvtime": false,
+ "sve512": true,
+ "aarch64": true,
+ "pmu": true,
+ "sve1920": true,
+ "sve1152": true,
+ "num-breakpoints": 6,
+ "kvm-steal-time": true,
+ "num-pmu-counters": 6,
+ "sve640": true,
+ "sve1408": true,
+ "sve1664": true
+ }
+ }
+ },
+ "id": "libvirt-44"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "full",
+ "model": {
+ "name": "host",
+ "props": {
+ "migratable": false,
+ "hv-passthrough": true
+ }
+ }
+ },
+ "id": "libvirt-45"
+}
+
+{
+ "id": "libvirt-45",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'model.props.hv-passthrough' is unexpected"
+ }
+}
+
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {},
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-2"
+}
+
+{
+ "return": [
+ {
+ "name": "neoverse-n2",
+ "typename": "neoverse-n2-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-c0",
+ "typename": "pxa270-c0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a15",
+ "typename": "cortex-a15-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-b0",
+ "typename": "pxa270-b0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m4",
+ "typename": "cortex-m4-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a57",
+ "typename": "cortex-a57-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-a0",
+ "typename": "pxa270-a0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1176",
+ "typename": "arm1176-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-b1",
+ "typename": "pxa270-b1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a7",
+ "typename": "cortex-a7-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-a1",
+ "typename": "pxa270-a1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a76",
+ "typename": "cortex-a76-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "a64fx",
+ "typename": "a64fx-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a8",
+ "typename": "cortex-a8-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "neoverse-v1",
+ "typename": "neoverse-v1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r5",
+ "typename": "cortex-r5-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "ti925t",
+ "typename": "ti925t-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r5f",
+ "typename": "cortex-r5f-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1026",
+ "typename": "arm1026-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a9",
+ "typename": "cortex-a9-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m7",
+ "typename": "cortex-m7-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270",
+ "typename": "pxa270-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa260",
+ "typename": "pxa260-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa250",
+ "typename": "pxa250-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa270-c5",
+ "typename": "pxa270-c5-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa261",
+ "typename": "pxa261-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa262",
+ "typename": "pxa262-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a710",
+ "typename": "cortex-a710-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-r52",
+ "typename": "cortex-r52-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "sa1110",
+ "typename": "sa1110-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "sa1100",
+ "typename": "sa1100-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "max",
+ "typename": "max-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a53",
+ "typename": "cortex-a53-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m0",
+ "typename": "cortex-m0-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m33",
+ "typename": "cortex-m33-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a72",
+ "typename": "cortex-a72-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm946",
+ "typename": "arm946-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "pxa255",
+ "typename": "pxa255-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a55",
+ "typename": "cortex-a55-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm11mpcore",
+ "typename": "arm11mpcore-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m55",
+ "typename": "cortex-m55-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "neoverse-n1",
+ "typename": "neoverse-n1-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm926",
+ "typename": "arm926-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1136",
+ "typename": "arm1136-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-a35",
+ "typename": "cortex-a35-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "arm1136-r2",
+ "typename": "arm1136-r2-arm-cpu",
+ "static": false,
+ "deprecated": false
+ },
+ {
+ "name": "cortex-m3",
+ "typename": "cortex-m3-arm-cpu",
+ "static": false,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "full",
+ "model": {
+ "name": "max"
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "max",
+ "props": {
+ "sve768": true,
+ "sve128": true,
+ "sve1024": true,
+ "sve1280": true,
+ "pauth-impdef": false,
+ "sve896": true,
+ "sve256": true,
+ "sve1536": true,
+ "sve1792": true,
+ "sve384": true,
+ "sve": true,
+ "sve2048": true,
+ "pauth": true,
+ "pauth-qarma3": false,
+ "sve512": true,
+ "aarch64": true,
+ "pmu": true,
+ "sve1920": true,
+ "sve1152": true,
+ "sve640": true,
+ "sve1408": true,
+ "sve1664": true
+ }
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-4"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": false,
+ "name": "qcom-dc-scm-v1-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mori-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2600-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "tiogapass-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "nuri",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mcimx7d-sabre",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "mcimx7d-sabre.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2700-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an536",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-r52-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "romulus-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "npcm750-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "rainier-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an547",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m55-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-pbx-a9",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a9-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "versatileab",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "versatile.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "kzm",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "kzm.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musca-b1",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "b-l475e-iot01a",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fby35-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musca-a",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mcimx6ul-evk",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mcimx6ul-evk.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "smdkc210",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sx1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "ti925t-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "omap1.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "imx25-pdk",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "imx25.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "stm32vldiscovery",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "orangepi-pc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "orangepi.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-q71l-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "xilinx-zynq-a9",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "zynq.ext_ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an500",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an521",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sabrelite",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "sabrelite.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an511",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "canon-a1100",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-eb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-gbs-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "emcraft-sf2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-pb-a8",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a8-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sbsa-ref",
+ "numa-mem-supported": false,
+ "default-cpu-type": "neoverse-n2-arm-cpu",
+ "acpi": false,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "sbsa-ref.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "yosemitev2-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi1ap",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "palmetto-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sx1-v1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "ti925t-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "omap1.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "g220a-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "tacoma-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": true,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "bletchley-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "quanta-gsj",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "versatilepb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "versatile.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "realview-eb-mpcore",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm11mpcore-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "integratorcp",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "integrator.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-7.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "supermicrox11-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-9.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram",
+ "alias": "virt"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "witherspoon-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "qcom-firework-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps3-an524",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "DDR"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "kudo-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "vexpress-a9",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "vexpress.highmem"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "midway",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "highbank.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "musicpal",
+ "numa-mem-supported": false,
+ "default-cpu-type": "arm926-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "musicpal.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "lm3s811evb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "lm3s6965evb",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "supermicro-x11spi-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microbit",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fby35",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 3,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an385",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m3-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an505",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m33-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi3ap",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "cubieboard",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a8-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "cubieboard.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast1030-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "netduino2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "bpim2u",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a7-arm-cpu",
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "bpim2u.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi4b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "xlnx-versal-virt",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ddr"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "mps2-an386",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-m4-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "mps.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "olimex-stm32-h405",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi3b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi2b",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "vexpress-a15",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "vexpress.highmem"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fuji-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 2,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-8.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 512,
+ "deprecated": false,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "sonorapass-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "virt-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "cortex-a15-arm-cpu",
+ "acpi": true,
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "mach-virt.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "ast2500-evb",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "highbank",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 4,
+ "deprecated": false,
+ "default-ram-id": "highbank.dram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "netduinoplus2",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "collie",
+ "numa-mem-supported": false,
+ "default-cpu-type": "sa1110-arm-cpu",
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "strongarm.sdram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "raspi0",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "fp5280g2-bmc",
+ "numa-mem-supported": false,
+ "acpi": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ }
+ ],
+ "id": "libvirt-4"
+}
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.xml
new file mode 100644
index 0000000000..c8a385c8fc
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_aarch64.xml
@@ -0,0 +1,540 @@
+<qemuCaps>
+ <emulator>/usr/bin/qemu-system-aarch64</emulator>
+ <qemuctime>0</qemuctime>
+ <selfctime>0</selfctime>
+ <selfvers>0</selfvers>
+ <flag name='kvm'/>
+ <flag name='hda-duplex'/>
+ <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-hub'/>
+ <flag name='ich9-ahci'/>
+ <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='VGA'/>
+ <flag name='cirrus-vga'/>
+ <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='virtio-mmio'/>
+ <flag name='ich9-intel-hda'/>
+ <flag name='usb-kbd'/>
+ <flag name='usb-audio'/>
+ <flag name='migrate-rdma'/>
+ <flag name='VGA.vgamem_mb'/>
+ <flag name='pc-dimm'/>
+ <flag name='pci-serial'/>
+ <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='virtio-balloon-pci.deflate-on-oom'/>
+ <flag name='mptsas1068'/>
+ <flag name='pxb'/>
+ <flag name='pxb-pcie'/>
+ <flag name='ivshmem-plain'/>
+ <flag name='ivshmem-doorbell'/>
+ <flag name='vhost-scsi'/>
+ <flag name='query-cpu-model-expansion'/>
+ <flag name='nvdimm'/>
+ <flag name='pcie-root-port'/>
+ <flag name='query-cpu-definitions'/>
+ <flag name='qemu-xhci'/>
+ <flag name='chardev-reconnect'/>
+ <flag name='vmcoreinfo'/>
+ <flag name='pl011'/>
+ <flag name='pcie-pci-bridge'/>
+ <flag name='nbd-tls'/>
+ <flag name='pr-manager-helper'/>
+ <flag name='hda-output'/>
+ <flag name='vhost-vsock'/>
+ <flag name='tpm-emulator'/>
+ <flag name='memory-backend-memfd'/>
+ <flag name='memory-backend-memfd.hugetlb'/>
+ <flag name='nvdimm.unarmed'/>
+ <flag name='virtio-pci-non-transitional'/>
+ <flag name='machine.virt.iommu'/>
+ <flag name='nbd-bitmap'/>
+ <flag name='bochs-display'/>
+ <flag name='migration-file-drop-cache'/>
+ <flag name='dbus-vmstate'/>
+ <flag name='vhost-user-gpu'/>
+ <flag name='incremental-backup'/>
+ <flag name='ramfb'/>
+ <flag name='arm-max-cpu'/>
+ <flag name='drive-nvme'/>
+ <flag name='smp-dies'/>
+ <flag name='rng-builtin'/>
+ <flag name='cpu.kvm-no-adjvtime'/>
+ <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='tcg'/>
+ <flag name='pvscsi'/>
+ <flag name='numa.hmat'/>
+ <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='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='object.qapified'/>
+ <flag name='rotation-rate'/>
+ <flag name='compat-deprecated'/>
+ <flag name='acpi-index'/>
+ <flag name='input-linux'/>
+ <flag name='confidential-guest-support'/>
+ <flag name='set-action'/>
+ <flag name='virtio-blk.queue-size'/>
+ <flag name='virtio-mem-pci'/>
+ <flag name='memory-backend-file.reserve'/>
+ <flag name='netdev.json'/>
+ <flag name='query-dirty-rate'/>
+ <flag name='rbd-encryption'/>
+ <flag name='sev-guest-kernel-hashes'/>
+ <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='display-dbus'/>
+ <flag name='iothread.thread-pool-max'/>
+ <flag name='migration.blocked-reasons'/>
+ <flag name='query-stats'/>
+ <flag name='query-stats-schemas'/>
+ <flag name='thread-context'/>
+ <flag name='netdev.stream'/>
+ <flag name='virtio-crypto'/>
+ <flag name='pvpanic-pci'/>
+ <flag name='netdev.stream.reconnect'/>
+ <flag name='virtio-gpu.blob'/>
+ <flag name='rbd-encryption-layering'/>
+ <flag name='rbd-encryption-luks-any'/>
+ <flag name='qcow2-discard-no-unref'/>
+ <flag name='run-with.async-teardown'/>
+ <flag name='virtio-blk.iothread-mapping'/>
+ <flag name='smp-clusters'/>
+ <flag name='virtio-mem-pci.dynamic-memslots'/>
+ <flag name='blockjob.backing-mask-protocol'/>
+ <flag name='display-reload'/>
+ <flag name='usb-mtp'/>
+ <flag name='machine.virt.ras'/>
+ <flag name='virtio-sound'/>
+ <flag name='netdev.user'/>
+ <flag name='acpi-erst'/>
+ <flag name='snapshot-internal-qmp'/>
+ <flag name='chardev-reconnect-miliseconds'/>
+ <flag name='netdev-stream-reconnect-miliseconds'/>
+ <flag name='migrate-incoming.exit-on-error'/>
+ <flag name='rme-guest'/>
+ <version>9001091</version>
+ <microcodeVersion>61700246</microcodeVersion>
+ <package></package>
+ <arch>aarch64</arch>
+ <hostCPU type='kvm' model='host' migratability='no'>
+ <property name='sve768' type='boolean' value='true'/>
+ <property name='sve128' type='boolean' value='true'/>
+ <property name='sve1024' type='boolean' value='true'/>
+ <property name='sve1280' type='boolean' value='true'/>
+ <property name='num-watchpoints' type='number' value='4'/>
+ <property name='sve896' type='boolean' value='true'/>
+ <property name='sve256' type='boolean' value='true'/>
+ <property name='sve1536' type='boolean' value='true'/>
+ <property name='sve1792' type='boolean' value='true'/>
+ <property name='sve384' type='boolean' value='true'/>
+ <property name='sve' type='boolean' value='true'/>
+ <property name='sve2048' type='boolean' value='true'/>
+ <property name='pauth' type='boolean' value='true'/>
+ <property name='kvm-no-adjvtime' type='boolean' value='false'/>
+ <property name='sve512' type='boolean' value='true'/>
+ <property name='aarch64' type='boolean' value='true'/>
+ <property name='pmu' type='boolean' value='true'/>
+ <property name='sve1920' type='boolean' value='true'/>
+ <property name='sve1152' type='boolean' value='true'/>
+ <property name='num-breakpoints' type='number' value='6'/>
+ <property name='kvm-steal-time' type='boolean' value='true'/>
+ <property name='num-pmu-counters' type='number' value='6'/>
+ <property name='sve640' type='boolean' value='true'/>
+ <property name='sve1408' type='boolean' value='true'/>
+ <property name='sve1664' type='boolean' value='true'/>
+ </hostCPU>
+ <cpu type='kvm' name='neoverse-n2' typename='neoverse-n2-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-c0' typename='pxa270-c0-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a15' typename='cortex-a15-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-b0' typename='pxa270-b0-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m4' typename='cortex-m4-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a57' typename='cortex-a57-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-a0' typename='pxa270-a0-arm-cpu'/>
+ <cpu type='kvm' name='arm1176' typename='arm1176-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-b1' typename='pxa270-b1-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a7' typename='cortex-a7-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-a1' typename='pxa270-a1-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a76' typename='cortex-a76-arm-cpu'/>
+ <cpu type='kvm' name='a64fx' typename='a64fx-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a8' typename='cortex-a8-arm-cpu'/>
+ <cpu type='kvm' name='neoverse-v1' typename='neoverse-v1-arm-cpu'/>
+ <cpu type='kvm' name='cortex-r5' typename='cortex-r5-arm-cpu'/>
+ <cpu type='kvm' name='ti925t' typename='ti925t-arm-cpu'/>
+ <cpu type='kvm' name='cortex-r5f' typename='cortex-r5f-arm-cpu'/>
+ <cpu type='kvm' name='arm1026' typename='arm1026-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a9' typename='cortex-a9-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m7' typename='cortex-m7-arm-cpu'/>
+ <cpu type='kvm' name='pxa270' typename='pxa270-arm-cpu'/>
+ <cpu type='kvm' name='pxa260' typename='pxa260-arm-cpu'/>
+ <cpu type='kvm' name='pxa250' typename='pxa250-arm-cpu'/>
+ <cpu type='kvm' name='pxa270-c5' typename='pxa270-c5-arm-cpu'/>
+ <cpu type='kvm' name='pxa261' typename='pxa261-arm-cpu'/>
+ <cpu type='kvm' name='pxa262' typename='pxa262-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a710' typename='cortex-a710-arm-cpu'/>
+ <cpu type='kvm' name='cortex-r52' typename='cortex-r52-arm-cpu'/>
+ <cpu type='kvm' name='sa1110' typename='sa1110-arm-cpu'/>
+ <cpu type='kvm' name='sa1100' typename='sa1100-arm-cpu'/>
+ <cpu type='kvm' name='max' typename='max-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a53' typename='cortex-a53-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m0' typename='cortex-m0-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m33' typename='cortex-m33-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a72' typename='cortex-a72-arm-cpu'/>
+ <cpu type='kvm' name='arm946' typename='arm946-arm-cpu'/>
+ <cpu type='kvm' name='pxa255' typename='pxa255-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a55' typename='cortex-a55-arm-cpu'/>
+ <cpu type='kvm' name='host' typename='host-arm-cpu'/>
+ <cpu type='kvm' name='arm11mpcore' typename='arm11mpcore-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m55' typename='cortex-m55-arm-cpu'/>
+ <cpu type='kvm' name='neoverse-n1' typename='neoverse-n1-arm-cpu'/>
+ <cpu type='kvm' name='arm926' typename='arm926-arm-cpu'/>
+ <cpu type='kvm' name='arm1136' typename='arm1136-arm-cpu'/>
+ <cpu type='kvm' name='cortex-a35' typename='cortex-a35-arm-cpu'/>
+ <cpu type='kvm' name='arm1136-r2' typename='arm1136-r2-arm-cpu'/>
+ <cpu type='kvm' name='cortex-m3' typename='cortex-m3-arm-cpu'/>
+ <machine type='kvm' name='virt-9.2' alias='virt' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='qcom-dc-scm-v1-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='mori-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='ast2600-evb' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='tiogapass-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-2.7' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='nuri' maxCpus='2' acpi='no'/>
+ <machine type='kvm' name='mcimx7d-sabre' maxCpus='2' defaultRAMid='mcimx7d-sabre.ram' acpi='no'/>
+ <machine type='kvm' name='ast2700-evb' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='mps3-an536' maxCpus='2' defaultCPU='cortex-r52-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='kvm' name='virt-3.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='virt-5.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='romulus-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='npcm750-evb' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-2.10' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='rainier-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='mps3-an547' maxCpus='1' defaultCPU='cortex-m55-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='kvm' name='virt-2.8' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='realview-pbx-a9' maxCpus='4' defaultCPU='cortex-a9-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='versatileab' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
+ <machine type='kvm' name='kzm' maxCpus='1' defaultRAMid='kzm.ram' acpi='no'/>
+ <machine type='kvm' name='musca-b1' maxCpus='2' acpi='no'/>
+ <machine type='kvm' name='b-l475e-iot01a' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='fby35-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='musca-a' maxCpus='2' acpi='no'/>
+ <machine type='kvm' name='virt-3.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='mcimx6ul-evk' maxCpus='1' defaultRAMid='mcimx6ul-evk.ram' acpi='no'/>
+ <machine type='kvm' name='virt-5.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='smdkc210' maxCpus='2' acpi='no'/>
+ <machine type='kvm' name='sx1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
+ <machine type='kvm' name='virt-2.11' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='imx25-pdk' maxCpus='1' defaultRAMid='imx25.ram' acpi='no'/>
+ <machine type='kvm' name='virt-2.9' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='stm32vldiscovery' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='orangepi-pc' maxCpus='4' defaultCPU='cortex-a7-arm-cpu' defaultRAMid='orangepi.ram' acpi='no'/>
+ <machine type='kvm' name='quanta-q71l-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-5.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='xilinx-zynq-a9' maxCpus='2' defaultRAMid='zynq.ext_ram' acpi='no'/>
+ <machine type='kvm' name='mps2-an500' maxCpus='1' defaultCPU='cortex-m7-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='virt-2.12' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='mps2-an521' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='sabrelite' maxCpus='4' defaultRAMid='sabrelite.ram' acpi='no'/>
+ <machine type='kvm' name='mps2-an511' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='canon-a1100' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='realview-eb' maxCpus='1' defaultCPU='arm926-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='quanta-gbs-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='emcraft-sf2' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='realview-pb-a8' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='sbsa-ref' maxCpus='512' defaultCPU='neoverse-n2-arm-cpu' defaultRAMid='sbsa-ref.ram' acpi='no'/>
+ <machine type='kvm' name='yosemitev2-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-7.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='virt-4.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='virt-9.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='raspi1ap' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='palmetto-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='sx1-v1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
+ <machine type='kvm' name='g220a-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='tacoma-bmc' maxCpus='2' defaultRAMid='ram' deprecated='yes' acpi='no'/>
+ <machine type='kvm' name='virt-7.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='bletchley-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-4.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='virt-9.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='quanta-gsj' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='versatilepb' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
+ <machine type='kvm' name='realview-eb-mpcore' maxCpus='4' defaultCPU='arm11mpcore-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='integratorcp' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='integrator.ram' acpi='no'/>
+ <machine type='kvm' name='virt-7.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='supermicrox11-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-4.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='witherspoon-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='qcom-firework-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='mps3-an524' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='kvm' name='kudo-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='vexpress-a9' maxCpus='4' defaultRAMid='vexpress.highmem' acpi='no'/>
+ <machine type='kvm' name='midway' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
+ <machine type='kvm' name='musicpal' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='musicpal.ram' acpi='no'/>
+ <machine type='kvm' name='lm3s811evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='lm3s6965evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
+ <machine type='kvm' name='supermicro-x11spi-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='microbit' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='fby35' maxCpus='3' acpi='no'/>
+ <machine type='kvm' name='mps2-an385' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='mps2-an505' maxCpus='1' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='virt-6.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='virt-8.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='raspi3ap' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='cubieboard' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' defaultRAMid='cubieboard.ram' acpi='no'/>
+ <machine type='kvm' name='ast1030-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='netduino2' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='bpim2u' maxCpus='4' defaultCPU='cortex-a7-arm-cpu' defaultRAMid='bpim2u.ram' acpi='no'/>
+ <machine type='kvm' name='raspi4b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='xlnx-versal-virt' maxCpus='4' defaultRAMid='ddr' acpi='no'/>
+ <machine type='kvm' name='mps2-an386' maxCpus='1' defaultCPU='cortex-m4-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='kvm' name='olimex-stm32-h405' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='virt-6.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='virt-8.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='raspi3b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='raspi2b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='vexpress-a15' maxCpus='4' defaultRAMid='vexpress.highmem' acpi='no'/>
+ <machine type='kvm' name='fuji-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-6.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='virt-8.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='kvm' name='x-remote' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='sonorapass-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='virt-2.6' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='kvm' name='ast2500-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='highbank' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
+ <machine type='kvm' name='netduinoplus2' maxCpus='1' acpi='no'/>
+ <machine type='kvm' name='collie' maxCpus='1' defaultCPU='sa1110-arm-cpu' defaultRAMid='strongarm.sdram' acpi='no'/>
+ <machine type='kvm' name='raspi0' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='kvm' name='fp5280g2-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <hostCPU type='tcg' model='max' migratability='no'>
+ <property name='sve768' type='boolean' value='true'/>
+ <property name='sve128' type='boolean' value='true'/>
+ <property name='sve1024' type='boolean' value='true'/>
+ <property name='sve1280' type='boolean' value='true'/>
+ <property name='pauth-impdef' type='boolean' value='false'/>
+ <property name='sve896' type='boolean' value='true'/>
+ <property name='sve256' type='boolean' value='true'/>
+ <property name='sve1536' type='boolean' value='true'/>
+ <property name='sve1792' type='boolean' value='true'/>
+ <property name='sve384' type='boolean' value='true'/>
+ <property name='sve' type='boolean' value='true'/>
+ <property name='sve2048' type='boolean' value='true'/>
+ <property name='pauth' type='boolean' value='true'/>
+ <property name='pauth-qarma3' type='boolean' value='false'/>
+ <property name='sve512' type='boolean' value='true'/>
+ <property name='aarch64' type='boolean' value='true'/>
+ <property name='pmu' type='boolean' value='true'/>
+ <property name='sve1920' type='boolean' value='true'/>
+ <property name='sve1152' type='boolean' value='true'/>
+ <property name='sve640' type='boolean' value='true'/>
+ <property name='sve1408' type='boolean' value='true'/>
+ <property name='sve1664' type='boolean' value='true'/>
+ </hostCPU>
+ <cpu type='tcg' name='neoverse-n2' typename='neoverse-n2-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-c0' typename='pxa270-c0-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a15' typename='cortex-a15-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-b0' typename='pxa270-b0-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m4' typename='cortex-m4-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a57' typename='cortex-a57-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-a0' typename='pxa270-a0-arm-cpu'/>
+ <cpu type='tcg' name='arm1176' typename='arm1176-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-b1' typename='pxa270-b1-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a7' typename='cortex-a7-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-a1' typename='pxa270-a1-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a76' typename='cortex-a76-arm-cpu'/>
+ <cpu type='tcg' name='a64fx' typename='a64fx-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a8' typename='cortex-a8-arm-cpu'/>
+ <cpu type='tcg' name='neoverse-v1' typename='neoverse-v1-arm-cpu'/>
+ <cpu type='tcg' name='cortex-r5' typename='cortex-r5-arm-cpu'/>
+ <cpu type='tcg' name='ti925t' typename='ti925t-arm-cpu'/>
+ <cpu type='tcg' name='cortex-r5f' typename='cortex-r5f-arm-cpu'/>
+ <cpu type='tcg' name='arm1026' typename='arm1026-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a9' typename='cortex-a9-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m7' typename='cortex-m7-arm-cpu'/>
+ <cpu type='tcg' name='pxa270' typename='pxa270-arm-cpu'/>
+ <cpu type='tcg' name='pxa260' typename='pxa260-arm-cpu'/>
+ <cpu type='tcg' name='pxa250' typename='pxa250-arm-cpu'/>
+ <cpu type='tcg' name='pxa270-c5' typename='pxa270-c5-arm-cpu'/>
+ <cpu type='tcg' name='pxa261' typename='pxa261-arm-cpu'/>
+ <cpu type='tcg' name='pxa262' typename='pxa262-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a710' typename='cortex-a710-arm-cpu'/>
+ <cpu type='tcg' name='cortex-r52' typename='cortex-r52-arm-cpu'/>
+ <cpu type='tcg' name='sa1110' typename='sa1110-arm-cpu'/>
+ <cpu type='tcg' name='sa1100' typename='sa1100-arm-cpu'/>
+ <cpu type='tcg' name='max' typename='max-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a53' typename='cortex-a53-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m0' typename='cortex-m0-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m33' typename='cortex-m33-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a72' typename='cortex-a72-arm-cpu'/>
+ <cpu type='tcg' name='arm946' typename='arm946-arm-cpu'/>
+ <cpu type='tcg' name='pxa255' typename='pxa255-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a55' typename='cortex-a55-arm-cpu'/>
+ <cpu type='tcg' name='host' typename='host-arm-cpu'/>
+ <cpu type='tcg' name='arm11mpcore' typename='arm11mpcore-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m55' typename='cortex-m55-arm-cpu'/>
+ <cpu type='tcg' name='neoverse-n1' typename='neoverse-n1-arm-cpu'/>
+ <cpu type='tcg' name='arm926' typename='arm926-arm-cpu'/>
+ <cpu type='tcg' name='arm1136' typename='arm1136-arm-cpu'/>
+ <cpu type='tcg' name='cortex-a35' typename='cortex-a35-arm-cpu'/>
+ <cpu type='tcg' name='arm1136-r2' typename='arm1136-r2-arm-cpu'/>
+ <cpu type='tcg' name='cortex-m3' typename='cortex-m3-arm-cpu'/>
+ <machine type='tcg' name='virt-9.2' alias='virt' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='qcom-dc-scm-v1-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='mori-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='ast2600-evb' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='tiogapass-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-2.7' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='nuri' maxCpus='2' acpi='no'/>
+ <machine type='tcg' name='mcimx7d-sabre' maxCpus='2' defaultRAMid='mcimx7d-sabre.ram' acpi='no'/>
+ <machine type='tcg' name='ast2700-evb' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='mps3-an536' maxCpus='2' defaultCPU='cortex-r52-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='tcg' name='virt-3.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='virt-5.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='romulus-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='npcm750-evb' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-2.10' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='rainier-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='mps3-an547' maxCpus='1' defaultCPU='cortex-m55-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='tcg' name='virt-2.8' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='realview-pbx-a9' maxCpus='4' defaultCPU='cortex-a9-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='versatileab' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
+ <machine type='tcg' name='kzm' maxCpus='1' defaultRAMid='kzm.ram' acpi='no'/>
+ <machine type='tcg' name='musca-b1' maxCpus='2' acpi='no'/>
+ <machine type='tcg' name='b-l475e-iot01a' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='fby35-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='musca-a' maxCpus='2' acpi='no'/>
+ <machine type='tcg' name='virt-3.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='mcimx6ul-evk' maxCpus='1' defaultRAMid='mcimx6ul-evk.ram' acpi='no'/>
+ <machine type='tcg' name='virt-5.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='smdkc210' maxCpus='2' acpi='no'/>
+ <machine type='tcg' name='sx1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
+ <machine type='tcg' name='virt-2.11' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='imx25-pdk' maxCpus='1' defaultRAMid='imx25.ram' acpi='no'/>
+ <machine type='tcg' name='virt-2.9' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='stm32vldiscovery' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='orangepi-pc' maxCpus='4' defaultCPU='cortex-a7-arm-cpu' defaultRAMid='orangepi.ram' acpi='no'/>
+ <machine type='tcg' name='quanta-q71l-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-5.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='xilinx-zynq-a9' maxCpus='2' defaultRAMid='zynq.ext_ram' acpi='no'/>
+ <machine type='tcg' name='mps2-an500' maxCpus='1' defaultCPU='cortex-m7-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='virt-2.12' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='mps2-an521' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='sabrelite' maxCpus='4' defaultRAMid='sabrelite.ram' acpi='no'/>
+ <machine type='tcg' name='mps2-an511' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='canon-a1100' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='realview-eb' maxCpus='1' defaultCPU='arm926-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='quanta-gbs-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='emcraft-sf2' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='realview-pb-a8' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='sbsa-ref' maxCpus='512' defaultCPU='neoverse-n2-arm-cpu' defaultRAMid='sbsa-ref.ram' acpi='no'/>
+ <machine type='tcg' name='yosemitev2-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-7.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='virt-4.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='virt-9.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='raspi1ap' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='palmetto-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='sx1-v1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
+ <machine type='tcg' name='g220a-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='tacoma-bmc' maxCpus='2' defaultRAMid='ram' deprecated='yes' acpi='no'/>
+ <machine type='tcg' name='virt-7.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='bletchley-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-4.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='virt-9.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='quanta-gsj' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='versatilepb' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
+ <machine type='tcg' name='realview-eb-mpcore' maxCpus='4' defaultCPU='arm11mpcore-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='integratorcp' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='integrator.ram' acpi='no'/>
+ <machine type='tcg' name='virt-7.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='supermicrox11-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-4.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='witherspoon-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='qcom-firework-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='mps3-an524' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='DDR' acpi='no'/>
+ <machine type='tcg' name='kudo-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='vexpress-a9' maxCpus='4' defaultRAMid='vexpress.highmem' acpi='no'/>
+ <machine type='tcg' name='midway' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
+ <machine type='tcg' name='musicpal' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='musicpal.ram' acpi='no'/>
+ <machine type='tcg' name='lm3s811evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='lm3s6965evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
+ <machine type='tcg' name='supermicro-x11spi-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='microbit' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='fby35' maxCpus='3' acpi='no'/>
+ <machine type='tcg' name='mps2-an385' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='mps2-an505' maxCpus='1' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='virt-6.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='virt-8.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='raspi3ap' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='cubieboard' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' defaultRAMid='cubieboard.ram' acpi='no'/>
+ <machine type='tcg' name='ast1030-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='netduino2' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='bpim2u' maxCpus='4' defaultCPU='cortex-a7-arm-cpu' defaultRAMid='bpim2u.ram' acpi='no'/>
+ <machine type='tcg' name='raspi4b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='xlnx-versal-virt' maxCpus='4' defaultRAMid='ddr' acpi='no'/>
+ <machine type='tcg' name='mps2-an386' maxCpus='1' defaultCPU='cortex-m4-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
+ <machine type='tcg' name='olimex-stm32-h405' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='virt-6.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='virt-8.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='raspi3b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='raspi2b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='vexpress-a15' maxCpus='4' defaultRAMid='vexpress.highmem' acpi='no'/>
+ <machine type='tcg' name='fuji-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-6.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='virt-8.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
+ <machine type='tcg' name='x-remote' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='sonorapass-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='virt-2.6' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' deprecated='yes' acpi='yes'/>
+ <machine type='tcg' name='ast2500-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='highbank' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
+ <machine type='tcg' name='netduinoplus2' maxCpus='1' acpi='no'/>
+ <machine type='tcg' name='collie' maxCpus='1' defaultCPU='sa1110-arm-cpu' defaultRAMid='strongarm.sdram' acpi='no'/>
+ <machine type='tcg' name='raspi0' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <machine type='tcg' name='fp5280g2-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
+ <gic version='3' kernel='yes' emulated='yes'/>
+ <gic version='2' kernel='no' emulated='yes'/>
+ <cca measurement-algo='sha256'/>
+ <cca measurement-algo='sha512'/>
+</qemuCaps>
--
2.34.1
1
0
- Add ARM CCA support in domain schema files.
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
src/conf/domain_conf.c | 9 +++
src/conf/schemas/domaincaps.rng | 14 ++++
src/conf/schemas/domaincommon.rng | 14 ++++
src/qemu/qemu_capabilities.c | 113 ++++++++++++++++++++++++++++++
src/qemu/qemu_capabilities.h | 3 +
5 files changed, 153 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 231073e472..91cc8a5869 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -13883,6 +13883,14 @@ virDomainSEVSNPDefParseXML(virDomainSEVSNPDef *def,
}
+static void
+virDomainCCADefParseXML(virDomainCCADef *def,
+ xmlXPathContextPtr ctxt)
+{
+ def->measurement_algo = virXPathString("string(./measurement-algo)", ctxt);
+}
+
+
static virDomainSecDef *
virDomainSecDefParseXML(xmlNodePtr lsecNode,
xmlXPathContextPtr ctxt)
@@ -13909,6 +13917,7 @@ virDomainSecDefParseXML(xmlNodePtr lsecNode,
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ virDomainCCADefParseXML(&sec->data.cca, ctxt);
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.rng
index 3559d2ae05..4826900258 100644
--- a/src/conf/schemas/domaincaps.rng
+++ b/src/conf/schemas/domaincaps.rng
@@ -363,6 +363,9 @@
<optional>
<ref name="sgx"/>
</optional>
+ <optional>
+ <ref name="cca"/>
+ </optional>
<optional>
<ref name="hyperv"/>
</optional>
@@ -481,6 +484,17 @@
</element>
</define>
+ <define name="cca">
+ <element name="cca">
+ <ref name="supported"/>
+ <optional>
+ <element name="measurement-algo">
+ <text/>
+ </element>
+ </optional>
+ </element>
+ </define>
+
<define name="hyperv">
<element name="hyperv">
<ref name="supported"/>
diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng
index 7121519ca3..b340381295 100644
--- a/src/conf/schemas/domaincommon.rng
+++ b/src/conf/schemas/domaincommon.rng
@@ -528,6 +528,9 @@
<value>s390-pv</value>
</attribute>
</group>
+ <group>
+ <ref name="launchSecurityCCA"/>
+ </group>
</choice>
</element>
</define>
@@ -623,6 +626,17 @@
</optional>
</interleave>
</define>
+
+ <define name="launchSecurityCCA">
+ <attribute name="type">
+ <value>cca</value>
+ </attribute>
+ <optional>
+ <element name="measurement-algo">
+ <data type="string"/>
+ </element>
+ </optional>
+ </define>
<!--
Enable or disable perf events for the domain. For each
of the events the following rules apply:
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 4534f18a24..523fe05289 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1962,6 +1962,34 @@ virQEMUCapsSGXInfoCopy(virSGXCapability **dst,
}
+static void
+virQEMUCapsCCAInfoCopy(virCCACapability **dst,
+ virCCACapability *src)
+{
+ g_autoptr(virCCACapability) tmp = NULL;
+ size_t i;
+
+ if (!src) {
+ *dst = NULL;
+ return;
+ }
+
+ tmp = g_new0(virCCACapability, 1);
+
+ tmp->nCcaMeasurementAlgo = src->nCcaMeasurementAlgo;
+
+ if (tmp->nCcaMeasurementAlgo != 0) {
+ tmp->ccaMeasurementAlgo = g_new0(char *, tmp->nCcaMeasurementAlgo);
+
+ for (i = 0; i < tmp->nCcaMeasurementAlgo; i++) {
+ tmp->ccaMeasurementAlgo[i] = g_strdup(src->ccaMeasurementAlgo[i]);
+ }
+ }
+
+ *dst = g_steal_pointer(&tmp);
+}
+
+
static void
virQEMUCapsAccelCopyMachineTypes(virQEMUCapsAccel *dst,
virQEMUCapsAccel *src)
@@ -2037,6 +2065,9 @@ virQEMUCaps *virQEMUCapsNewCopy(virQEMUCaps *qemuCaps)
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SGX_EPC))
virQEMUCapsSGXInfoCopy(&ret->sgxCapabilities, qemuCaps->sgxCapabilities);
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCA_GUEST))
+ virQEMUCapsCCAInfoCopy(&ret->ccaCapabilities, qemuCaps->ccaCapabilities);
+
ret->hypervCapabilities = g_memdup(qemuCaps->hypervCapabilities,
sizeof(virDomainCapsFeatureHyperv));
@@ -2678,6 +2709,13 @@ virQEMUCapsGetSGXCapabilities(virQEMUCaps *qemuCaps)
}
+virCCACapability *
+virQEMUCapsGetCCACapabilities(virQEMUCaps *qemuCaps)
+{
+ return qemuCaps->ccaCapabilities;
+}
+
+
static int
virQEMUCapsProbeQMPObjectTypes(virQEMUCaps *qemuCaps,
qemuMonitor *mon)
@@ -4563,6 +4601,38 @@ virQEMUCapsParseSGXInfo(virQEMUCaps *qemuCaps,
}
+static int
+virQEMUCapsParseCCAInfo(virQEMUCaps *qemuCaps,
+ xmlXPathContextPtr ctxt)
+{
+ g_autofree xmlNodePtr *nodes = NULL;
+ size_t i;
+ int n;
+
+ if ((n = virXPathNodeSet("./cca", ctxt, &nodes)) < 0)
+ return -1;
+
+ if (n > 0) {
+ g_autoptr(virCCACapability) tmp = g_new0(virCCACapability, 1);
+ tmp->ccaMeasurementAlgo = g_new0(char *, n);
+
+ for (i = 0; i < n; i++) {
+ char *malgo = NULL;
+ if (!(malgo = virXMLPropString(nodes[i], "measurement-algo"))) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("missing CCA measurement-algo in QEMU capabilities cache"));
+ return -1;
+ }
+
+ tmp->ccaMeasurementAlgo[i] = g_strdup(malgo);
+ }
+ tmp->nCcaMeasurementAlgo = n;
+ qemuCaps->ccaCapabilities = g_steal_pointer(&tmp);
+ }
+ return 0;
+}
+
+
static int
virQEMUCapsParseHypervCapabilities(virQEMUCaps *qemuCaps,
xmlXPathContextPtr ctxt)
@@ -4883,6 +4953,9 @@ virQEMUCapsLoadCache(virArch hostArch,
if (virQEMUCapsParseSGXInfo(qemuCaps, ctxt) < 0)
return -1;
+ if (virQEMUCapsParseCCAInfo(qemuCaps, ctxt) < 0)
+ return -1;
+
if (virQEMUCapsParseHypervCapabilities(qemuCaps, ctxt) < 0)
return -1;
@@ -5123,6 +5196,23 @@ virQEMUCapsFormatSGXInfo(virQEMUCaps *qemuCaps,
}
+static void
+virQEMUCapsFormatCCAInfo(virQEMUCaps *qemuCaps, virBuffer *buf)
+{
+ virCCACapability *cca = virQEMUCapsGetCCACapabilities(qemuCaps);
+ size_t i;
+ size_t n;
+
+ n = cca->nCcaMeasurementAlgo;
+
+ if (n != 0) {
+ for (i = 0; i < n; i++) {
+ virBufferAsprintf(buf, "<cca measurement-algo='%s'/>\n", cca->ccaMeasurementAlgo[i]);
+ }
+ }
+}
+
+
static void
virQEMUCapsFormatHypervCapabilities(virQEMUCaps *qemuCaps,
virBuffer *buf)
@@ -5231,6 +5321,9 @@ virQEMUCapsFormatCache(virQEMUCaps *qemuCaps)
if (qemuCaps->sgxCapabilities)
virQEMUCapsFormatSGXInfo(qemuCaps, &buf);
+ if (qemuCaps->ccaCapabilities)
+ virQEMUCapsFormatCCAInfo(qemuCaps, &buf);
+
if (qemuCaps->hypervCapabilities)
virQEMUCapsFormatHypervCapabilities(qemuCaps, &buf);
@@ -6757,6 +6850,8 @@ virQEMUCapsFillDomainLaunchSecurity(virQEMUCaps *qemuCaps,
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_S390_PV_GUEST) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_CONFIDENTAL_GUEST_SUPPORT))
VIR_DOMAIN_CAPS_ENUM_SET(launchSecurity->sectype, VIR_DOMAIN_LAUNCH_SECURITY_PV);
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCA_GUEST))
+ VIR_DOMAIN_CAPS_ENUM_SET(launchSecurity->sectype, VIR_DOMAIN_LAUNCH_SECURITY_CCA);
if (launchSecurity->sectype.values == 0) {
launchSecurity->supported = VIR_TRISTATE_BOOL_NO;
@@ -6954,6 +7049,23 @@ virQEMUCapsFillDomainFeatureSGXCaps(virQEMUCaps *qemuCaps,
}
+/**
+ * virQEMUCapsFillDomainFeatureCCACaps:
+ * @qemuCaps: QEMU capabilities
+ * @domCaps: domain capabilities
+ *
+ * Take the information about CCA capabilities that has been obtained
+ * using the 'query-cca-capabilities' QMP command and stored in @qemuCaps
+ * and convert it to a form suitable for @domCaps.
+ */
+static void
+virQEMUCapsFillDomainFeatureCCACaps(virQEMUCaps *qemuCaps,
+ virDomainCaps *domCaps)
+{
+ virQEMUCapsCCAInfoCopy(&domCaps->cca, qemuCaps->ccaCapabilities);
+}
+
+
static void
virQEMUCapsFillDomainFeatureHypervCaps(virQEMUCaps *qemuCaps,
virDomainCaps *domCaps)
@@ -7024,6 +7136,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeaturePS2Caps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps);
+ virQEMUCapsFillDomainFeatureCCACaps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainDeviceCryptoCaps(qemuCaps, crypto);
virQEMUCapsFillDomainLaunchSecurity(qemuCaps, launchSecurity);
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 21081d5fbc..effee475f6 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -931,6 +931,9 @@ virQEMUCapsGetSEVCapabilities(virQEMUCaps *qemuCaps);
virSGXCapability *
virQEMUCapsGetSGXCapabilities(virQEMUCaps *qemuCaps);
+virCCACapability *
+virQEMUCapsGetCCACapabilities(virQEMUCaps *qemuCaps);
+
bool
virQEMUCapsGetKVMSupportsSecureGuest(virQEMUCaps *qemuCaps) G_NO_INLINE;
--
2.34.1
1
0
[RFC PATCH v2 2/6] src: Add ARM CCA support in domain capabilities command
by Akio Kakuno 28 Feb '25
by Akio Kakuno 28 Feb '25
28 Feb '25
- Add ARM CCA support in domain capabilies XML schema.
[Capability example]
- Execution results of 'virsh domcapability" on qemu
<domaincapabilities>
...
<features>
...
</sgx>
<cca supported='yes'>
<enum name='measurement-algo'>
<value>sha256</value>
<value>sha512</value>
</enum>
</cca>
<hyperv supported='yes'>
...
</features>
</domaincapabilities>
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
docs/formatdomaincaps.rst | 27 +++++++++-
src/conf/domain_capabilities.c | 48 +++++++++++++++++
src/conf/domain_capabilities.h | 6 +++
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 28 ++++++++++
src/qemu/qemu_monitor.c | 10 ++++
src/qemu/qemu_monitor.h | 3 ++
src/qemu/qemu_monitor_json.c | 98 ++++++++++++++++++++++++++++++++++
src/qemu/qemu_monitor_json.h | 4 ++
9 files changed, 224 insertions(+), 1 deletion(-)
diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst
index ed95af4fee..fbf7db12e6 100644
--- a/docs/formatdomaincaps.rst
+++ b/docs/formatdomaincaps.rst
@@ -734,6 +734,12 @@ capabilities. All features occur as children of the main ``features`` element.
<section node='1' size='262144' unit='KiB'/>
</sections>
</sgx>
+ <cca supported='yes'>
+ <enum name='measurement-algo'>
+ <value>sha256</value>
+ <value>sha512</value>
+ </enum>
+ </cca>
<hyperv supported='yes'>
<enum name='features'>
<value>relaxed</value>
@@ -861,6 +867,24 @@ document store. In order to use SGX with libvirt have a look at `SGX in domain X
``sections``
The sections of the SGX enclave page cache (called EPC).
+CCA capabilities
+^^^^^^^^^^^^^^^^
+
+Arm Confidential Compute Architecture (CCA) capabilities are exposed under the
+``cca`` element.
+
+Arm CCA is a system solution comprised of hardware and software components that
+maximizes the security of data on devices and in the cloud.
+CCA enhances the virtualization capabilities of the platform by separating the
+management of resources from access to those resources.
+
+For more details on the CCA feature, please follow resources in the CCA developer's
+document store. In order to use CCA with libvirt have a look at `CCA in domain
+XML <formatdomain.html#launch-security>`__
+
+``measurement-algo``
+ Options for the ``measurement-algo`` used to describe blob hashes.
+
Hyper-V Enlightenments
^^^^^^^^^^^^^^^^^^^^^^
@@ -882,4 +906,5 @@ The ``sectype`` enum corresponds to ``type`` attribute of ``<launchSecurity/>``
element as documented in `Launch Security
<formatdomain.html#launch-security>`__. :since:`(Since 10.5.0)` For additional
information on individual types, see sections above: `s390-pv capability`_ for
-S390 PV, `SEV capabilities`_ for AMD SEV and/or AMD SEV-SNP.
+S390 PV, `SEV capabilities`_ for AMD SEV and/or AMD SEV-SNP, `CCA capabilities`_
+for Arm CCA.
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index ab715b19d8..cae6730061 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -90,6 +90,25 @@ virSGXCapabilitiesFree(virSGXCapability *cap)
}
+void
+virCCACapabilitiesFree(virCCACapability *cap)
+{
+ size_t i;
+
+ if (!cap)
+ return;
+
+ if (cap->nCcaMeasurementAlgo)
+ for (i = 0; i < cap->nCcaMeasurementAlgo; i++)
+ g_free(cap->ccaMeasurementAlgo[i]);
+
+ if (cap->ccaMeasurementAlgo)
+ g_free(cap->ccaMeasurementAlgo);
+
+ g_free(cap);
+}
+
+
static void
virDomainCapsDispose(void *obj)
{
@@ -103,6 +122,7 @@ virDomainCapsDispose(void *obj)
virCPUDefFree(caps->cpu.hostModel);
virSEVCapabilitiesFree(caps->sev);
virSGXCapabilitiesFree(caps->sgx);
+ virCCACapabilitiesFree(caps->cca);
g_free(caps->hyperv);
values = &caps->os.loader.values;
@@ -774,6 +794,33 @@ virDomainCapsFeatureSGXFormat(virBuffer *buf,
virBufferAddLit(buf, "</sgx>\n");
}
+static void
+virDomainCapsFeatureCCAFormat(virBuffer *buf,
+ const virCCACapability *cca)
+{
+ size_t i;
+
+ if (!cca) {
+ virBufferAddLit(buf, "<cca supported='no'/>\n");
+ return;
+ }
+
+ virBufferAddLit(buf, "<cca supported='yes'>\n");
+ virBufferAdjustIndent(buf, 2);
+
+ virBufferAddLit(buf, "<enum name='measurement-algo'>\n");
+ virBufferAdjustIndent(buf, 2);
+ for (i = 0; i < cca->nCcaMeasurementAlgo; i++) {
+ virBufferAsprintf(buf, "<value>%s</value>\n",
+ cca->ccaMeasurementAlgo[i]);
+ }
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</enum>\n");
+
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</cca>\n");
+}
+
static void
virDomainCapsFeatureHypervFormat(virBuffer *buf,
const virDomainCapsFeatureHyperv *hyperv)
@@ -821,6 +868,7 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps,
virDomainCapsFeatureSEVFormat(&childBuf, caps->sev);
virDomainCapsFeatureSGXFormat(&childBuf, caps->sgx);
+ virDomainCapsFeatureCCAFormat(&childBuf, caps->cca);
virDomainCapsFeatureHypervFormat(&childBuf, caps->hyperv);
virDomainCapsLaunchSecurityFormat(&childBuf, &caps->launchSecurity);
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index 93e2cc2931..b55f860e7b 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -315,6 +315,7 @@ struct _virDomainCaps {
virDomainCapsFeatureGIC gic;
virSEVCapability *sev;
virSGXCapability *sgx;
+ virCCACapability *cca;
virDomainCapsFeatureHyperv *hyperv;
virDomainCapsLaunchSecurity launchSecurity;
/* add new domain features here */
@@ -375,3 +376,8 @@ void
virSGXCapabilitiesFree(virSGXCapability *capabilities);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSGXCapability, virSGXCapabilitiesFree);
+
+void
+virCCACapabilitiesFree(virCCACapability *capabilities);
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCCACapability, virCCACapabilitiesFree);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 33b93cbd3e..bf525c50d9 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -208,6 +208,7 @@ virDomainAuditVcpu;
# conf/domain_capabilities.h
+virCCACapabilitiesFree;
virDomainCapsCPUModelsAdd;
virDomainCapsCPUModelsCopy;
virDomainCapsCPUModelsGet;
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b0283c0119..4534f18a24 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3651,6 +3651,32 @@ virQEMUCapsProbeQMPSGXCapabilities(virQEMUCaps *qemuCaps,
}
+static int
+virQEMUCapsProbeQMPCCACapabilities(virQEMUCaps *qemuCaps,
+ qemuMonitor *mon)
+{
+ int rc = -1;
+ virCCACapability *caps = NULL;
+
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCA_GUEST))
+ return 0;
+
+ if ((rc = qemuMonitorGetCCACapabilities(mon, &caps)) < 0)
+ return -1;
+
+ /* CCA isn't actually supported */
+ if (rc == 0) {
+ virQEMUCapsClear(qemuCaps, QEMU_CAPS_CCA_GUEST);
+ return 0;
+ }
+
+ virCCACapabilitiesFree(qemuCaps->ccaCapabilities);
+ qemuCaps->ccaCapabilities = caps;
+ return 0;
+}
+
+
+
/*
* Filter for features which should never be passed to QEMU. Either because
* QEMU never supported them or they were dropped as they never did anything
@@ -5757,6 +5783,8 @@ virQEMUCapsInitQMPMonitor(virQEMUCaps *qemuCaps,
return -1;
if (virQEMUCapsProbeQMPSGXCapabilities(qemuCaps, mon) < 0)
return -1;
+ if (virQEMUCapsProbeQMPCCACapabilities(qemuCaps, mon) < 0)
+ return -1;
virQEMUCapsInitProcessCaps(qemuCaps);
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index ec2f166785..53908d8bf8 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -3483,6 +3483,16 @@ qemuMonitorGetSGXCapabilities(qemuMonitor *mon,
}
+int
+qemuMonitorGetCCACapabilities(qemuMonitor *mon,
+ virCCACapability **capabilities)
+{
+ QEMU_CHECK_MONITOR(mon);
+
+ return qemuMonitorJSONGetCCACapabilities(mon, capabilities);
+}
+
+
int
qemuMonitorNBDServerStart(qemuMonitor *mon,
const virStorageNetHostDef *server,
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index c74892c4dc..8a37376f97 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -846,6 +846,9 @@ int qemuMonitorGetSEVCapabilities(qemuMonitor *mon,
int qemuMonitorGetSGXCapabilities(qemuMonitor *mon,
virSGXCapability **capabilities);
+int qemuMonitorGetCCACapabilities(qemuMonitor *mon,
+ virCCACapability **capabilities);
+
typedef enum {
QEMU_MONITOR_MIGRATE_RESUME = 1 << 0, /* resume failed post-copy migration */
QEMU_MONITOR_MIGRATION_FLAGS_LAST
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 9f417d27c6..ebe5f87d36 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -6213,6 +6213,104 @@ qemuMonitorJSONGetSGXCapabilities(qemuMonitor *mon,
}
+static int
+qemuMonitorJSONGetCCAMeasurementAlgo(qemuMonitor *mon,
+ size_t *numalgo,
+ char ***malgo)
+{
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+ virJSONValue *caps;
+ virJSONValue *malgolist = NULL;
+ g_auto(GStrv) list = NULL;
+ size_t i;
+ size_t n = 0;
+
+ if (!(cmd = qemuMonitorJSONMakeCommand("query-cca-capabilities",
+ NULL)))
+ return -1;
+
+ if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
+ return -1;
+
+ /* If the 'query-cca-capabilities' QMP command was not available
+ * we simply successfully return zero capabilities.
+ * This is the current QEMU (=9.1.91) and all non-ARM architectures */
+ if (qemuMonitorJSONHasError(reply, "CommandNotFound"))
+ return 0;
+
+ if (qemuMonitorJSONCheckError(cmd, reply) < 0)
+ return -1;
+
+ caps = virJSONValueObjectGetObject(reply, "return");
+
+ if (!(caps = qemuMonitorJSONGetReply(cmd, reply, VIR_JSON_TYPE_OBJECT)))
+ return -1;
+
+ if ((malgolist = virJSONValueObjectGetArray(caps, "sections"))) {
+ n = virJSONValueArraySize(malgolist);
+
+ /* If the received array is empty, an error is returned. */
+ if (n == 0)
+ return -1;
+
+ list = g_new0(char *, n + 1);
+
+ for (i = 0; i < n; i++) {
+ virJSONValue *cap = virJSONValueArrayGet(malgolist, i);
+ const char *measurement_algo = NULL;
+
+ if (!cap || virJSONValueGetType(cap) != VIR_JSON_TYPE_OBJECT) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("missing entry in CCA capabilities list"));
+ return -1;
+ }
+
+ if (!(measurement_algo = virJSONValueObjectGetString(cap, "measurement-algo"))) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("query-cca-capabilities reply was missing 'measurement-algo' field"));
+ return -1;
+ }
+
+ list[i] = g_strdup(measurement_algo);
+ }
+ }
+
+ *numalgo = n;
+ *malgo = g_steal_pointer(&list);
+ return 1;
+}
+
+
+/**
+ * qemuMonitorJSONGetCCACapabilities:
+ * @mon: qemu monitor object
+ * @capabilities: pointer to pointer to a CCA capability structure to be filled
+ *
+ * Returns -1 on error, 0 if CCA is not supported, and 1 if CCA is supported on
+ * the platform.
+ */
+int
+qemuMonitorJSONGetCCACapabilities(qemuMonitor *mon,
+ virCCACapability **capabilities)
+{
+ g_autoptr(virCCACapability) capability = NULL;
+ int ret = 0;
+
+ *capabilities = NULL;
+ capability = g_new0(virCCACapability, 1);
+
+ ret = qemuMonitorJSONGetCCAMeasurementAlgo(mon,
+ &capability->nCcaMeasurementAlgo,
+ &capability->ccaMeasurementAlgo);
+
+ if (ret > 0)
+ *capabilities = g_steal_pointer(&capability);
+
+ return ret;
+}
+
+
static virJSONValue *
qemuMonitorJSONBuildInetSocketAddress(const char *host,
const char *port)
diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h
index 2f5a021f56..d422e84e88 100644
--- a/src/qemu/qemu_monitor_json.h
+++ b/src/qemu/qemu_monitor_json.h
@@ -168,6 +168,10 @@ int
qemuMonitorJSONGetSEVCapabilities(qemuMonitor *mon,
virSEVCapability **capabilities);
+int
+qemuMonitorJSONGetCCACapabilities(qemuMonitor *mon,
+ virCCACapability **capabilities);
+
int
qemuMonitorJSONMigrate(qemuMonitor *mon,
unsigned int flags,
--
2.34.1
1
0
28 Feb '25
- Add ARM CCA support to the qemu driver for aarch64 systems.
[XML example]
<domain>
...
<launchsecurity type='cca'>
<measurement-algo>sha256</measurement-algo>
</launchsecurity>
...
</domain>
Signed-off-by: Akio Kakuno <fj3333bs(a)fujitsu.com>
---
docs/formatdomain.rst | 28 ++++++++++++++++++++++++++++
src/conf/domain_capabilities.h | 6 ++++++
src/conf/domain_conf.c | 7 +++++++
src/conf/domain_conf.h | 7 +++++++
src/conf/domain_validate.c | 1 +
src/conf/virconftypes.h | 2 ++
src/qemu/qemu_capabilities.c | 4 ++++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_cgroup.c | 2 ++
src/qemu/qemu_command.c | 32 ++++++++++++++++++++++++++++++++
src/qemu/qemu_driver.c | 2 ++
src/qemu/qemu_firmware.c | 1 +
src/qemu/qemu_namespace.c | 2 ++
src/qemu/qemu_process.c | 4 ++++
src/qemu/qemu_validate.c | 4 ++++
src/security/security_dac.c | 2 ++
16 files changed, 105 insertions(+)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 620daae9af..917e7e2cf5 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -9185,6 +9185,34 @@ The ``<launchSecurity/>`` element then accepts the following child elements:
the SNP_LAUNCH_FINISH command in the SEV-SNP firmware ABI.
+The contents of the ``<launchSecurity type='cca'>`` element is used to create
+RealmVM using the Arm CCA feature (Confidential Compute Architecture).
+CCA :since:`Since 11.0.0` enhances the virtualization capabilities of the
+platform by separating the management of resources from access to those resources.
+This is achieved by extending the TrustZone of Cortex-A's Normal and Secure
+world concepts and adding the Realm world and the underlying Root world.
+The Secure Monitor runs in the root world and manages the transition between
+these security states. For more information see the Learn the architecture -
+Arm Confidential Compute Architecture software stack:
+`<https://developer.arm.com/documentation/den0127/latest>`__
+
+::
+
+ <domain>
+ ...
+ <launchSecurity type='cca'>
+ <measurement-algo>sha256</measurement-algo>
+ </launchSecurity>
+ ...
+ </domain>
+
+The ``<launchSecurity/>`` element accepts the following attributes:
+
+``measurement-algo``
+ The optional ``measurement-algo`` element determines algorithm used to
+ describe blob hashes.
+
+
Example configs
===============
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index 69dd1a15c1..93e2cc2931 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -240,6 +240,12 @@ struct _virSGXCapability {
virSGXSection *sgxSections;
};
+typedef struct _virCCACapability virCCACapability;
+struct _virCCACapability {
+ size_t nCcaMeasurementAlgo;
+ char **ccaMeasurementAlgo;
+};
+
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_MODEL_LAST);
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_TYPE_LAST);
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_BACKEND_LAST);
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 3f88a77a8f..231073e472 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1529,6 +1529,7 @@ VIR_ENUM_IMPL(virDomainLaunchSecurity,
"sev",
"sev-snp",
"s390-pv",
+ "cca",
);
VIR_ENUM_IMPL(virDomainPstoreBackend,
@@ -3881,6 +3882,9 @@ virDomainSecDefFree(virDomainSecDef *def)
g_free(def->data.sev_snp.id_auth);
g_free(def->data.sev_snp.host_data);
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ g_free(def->data.cca.measurement_algo);
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
@@ -13904,6 +13908,8 @@ virDomainSecDefParseXML(xmlNodePtr lsecNode,
break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
default:
@@ -27181,6 +27187,7 @@ virDomainSecDefFormat(virBuffer *buf, virDomainSecDef *sec)
break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 9f7c28343f..f088227e4d 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2895,6 +2895,7 @@ typedef enum {
VIR_DOMAIN_LAUNCH_SECURITY_SEV,
VIR_DOMAIN_LAUNCH_SECURITY_SEV_SNP,
VIR_DOMAIN_LAUNCH_SECURITY_PV,
+ VIR_DOMAIN_LAUNCH_SECURITY_CCA,
VIR_DOMAIN_LAUNCH_SECURITY_LAST,
} virDomainLaunchSecurity;
@@ -2929,11 +2930,17 @@ struct _virDomainSEVSNPDef {
};
+struct _virDomainCCADef {
+ char *measurement_algo;
+};
+
+
struct _virDomainSecDef {
virDomainLaunchSecurity sectype;
union {
virDomainSEVDef sev;
virDomainSEVSNPDef sev_snp;
+ virDomainCCADef cca;
} data;
};
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index 6aed74dd8d..b8fcbbd367 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -1860,6 +1860,7 @@ virDomainDefLaunchSecurityValidate(const virDomainDef *def)
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_SEV:
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
break;
}
diff --git a/src/conf/virconftypes.h b/src/conf/virconftypes.h
index 59be61cea4..6e23d09983 100644
--- a/src/conf/virconftypes.h
+++ b/src/conf/virconftypes.h
@@ -216,6 +216,8 @@ typedef struct _virDomainSEVDef virDomainSEVDef;
typedef struct _virDomainSEVSNPDef virDomainSEVSNPDef;
+typedef struct _virDomainCCADef virDomainCCADef;
+
typedef struct _virDomainSecDef virDomainSecDef;
typedef struct _virDomainShmemDef virDomainShmemDef;
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 53aa64a009..b0283c0119 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -725,6 +725,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 470 */
"migrate-incoming.exit-on-error", /* QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR */
+ "rme-guest", /* QEMU_CAPS_CCA_GUEST */
);
@@ -810,6 +811,8 @@ struct _virQEMUCaps {
virSGXCapability *sgxCapabilities;
+ virCCACapability *ccaCapabilities;
+
virDomainCapsFeatureHyperv *hypervCapabilities;
/* Capabilities which may differ depending on the accelerator. */
@@ -1413,6 +1416,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "virtio-sound-device", QEMU_CAPS_DEVICE_VIRTIO_SOUND },
{ "sev-snp-guest", QEMU_CAPS_SEV_SNP_GUEST },
{ "acpi-erst", QEMU_CAPS_DEVICE_ACPI_ERST },
+ { "rme-guest", QEMU_CAPS_CCA_GUEST },
};
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 398749a136..21081d5fbc 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -704,6 +704,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 470 */
QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR, /* exit-on-error argument of migrate-incoming command */
+ QEMU_CAPS_CCA_GUEST, /* -object rme-guest */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index f3c85d65e8..3825a68930 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -864,6 +864,8 @@ qemuSetupDevicesCgroup(virDomainObj *vm)
if (qemuSetupSEVCgroup(vm) < 0)
return -1;
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1f28de6194..e2dd99fca8 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6924,6 +6924,9 @@ qemuBuildMachineCommandLine(virCommand *cmd,
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
virBufferAddLit(&buf, ",confidential-guest-support=lsec0");
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ virBufferAddLit(&buf, ",confidential-guest-support=rme0");
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
virReportEnumRangeError(virDomainLaunchSecurity, def->sec->sectype);
@@ -9679,6 +9682,32 @@ qemuBuildPVCommandLine(virDomainObj *vm, virCommand *cmd)
}
+static int
+qemuBuildCCACommandLine(virDomainObj *vm, virCommand *cmd,
+ virDomainCCADef *cca)
+{
+ g_autoptr(virJSONValue) props = NULL;
+ qemuDomainObjPrivate *priv = vm->privateData;
+
+ VIR_DEBUG("measurement_algorithm=%s", cca->measurement_algo);
+
+ if (cca->measurement_algo) {
+ if (qemuMonitorCreateObjectProps(&props, "rme-guest", "rme0",
+ "S:measurement-algorithm", cca->measurement_algo,
+ NULL) < 0)
+ return -1;
+ } else {
+ if (qemuMonitorCreateObjectProps(&props, "rme-guest", "rme0", NULL) < 0)
+ return -1;
+ }
+
+ if (qemuBuildObjectCommandlineFromJSON(cmd, props, priv->qemuCaps) < 0)
+ return -1;
+
+ return 0;
+}
+
+
static int
qemuBuildSecCommandLine(virDomainObj *vm, virCommand *cmd,
virDomainSecDef *sec)
@@ -9696,6 +9725,9 @@ qemuBuildSecCommandLine(virDomainObj *vm, virCommand *cmd,
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
return qemuBuildPVCommandLine(vm, cmd);
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ return qemuBuildCCACommandLine(vm, cmd, &sec->data.cca);
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
virReportEnumRangeError(virDomainLaunchSecurity, sec->sectype);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d2eddbd9ae..1c779ff619 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19155,6 +19155,8 @@ qemuDomainGetLaunchSecurityInfo(virDomainPtr domain,
if (qemuDomainGetSEVInfo(vm, params, nparams, flags) < 0)
goto cleanup;
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c
index 2d0ec0b4fa..c670ad11b0 100644
--- a/src/qemu/qemu_firmware.c
+++ b/src/qemu/qemu_firmware.c
@@ -1371,6 +1371,7 @@ qemuFirmwareMatchDomain(const virDomainDef *def,
}
break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
diff --git a/src/qemu/qemu_namespace.c b/src/qemu/qemu_namespace.c
index 59421ec9d1..61c575e96a 100644
--- a/src/qemu/qemu_namespace.c
+++ b/src/qemu/qemu_namespace.c
@@ -664,6 +664,8 @@ qemuDomainSetupLaunchSecurity(virDomainObj *vm,
VIR_DEBUG("Set up launch security for SEV");
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 6db48b0e7b..c82e359e25 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -6845,6 +6845,8 @@ qemuProcessPrepareDomain(virQEMUDriver *driver,
if (qemuProcessUpdateSEVInfo(vm) < 0)
return -1;
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
@@ -6917,6 +6919,8 @@ qemuProcessPrepareLaunchSecurityGuestInput(virDomainObj *vm)
return qemuProcessPrepareSEVGuestInput(vm);
case VIR_DOMAIN_LAUNCH_SECURITY_SEV_SNP:
break;
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ return 0;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
return 0;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 086c66b602..26d0f9dada 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1368,6 +1368,10 @@ qemuValidateDomainDef(const virDomainDef *def,
return -1;
}
break;
+
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
+ break;
+
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
virReportEnumRangeError(virDomainLaunchSecurity, def->sec->sectype);
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index 0505f4e4a3..6364d3fffc 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -2017,6 +2017,7 @@ virSecurityDACRestoreAllLabel(virSecurityManager *mgr,
rc = -1;
break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
@@ -2258,6 +2259,7 @@ virSecurityDACSetAllLabel(virSecurityManager *mgr,
return -1;
break;
case VIR_DOMAIN_LAUNCH_SECURITY_PV:
+ case VIR_DOMAIN_LAUNCH_SECURITY_CCA:
break;
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
--
2.34.1
1
0
[RFC PATCH v2 0/6] RFC: Add Arm CCA support for getting capability information and running Realm VM
by Akio Kakuno 28 Feb '25
by Akio Kakuno 28 Feb '25
28 Feb '25
Hi, all.
This patch adds Arm CCA support to qemu driver for aarch64 system.
CCA is an abbreviation for Arm Confidential Compute Architecture
feature, it enhances the virtualization capabilities of
the platform by separating the management of resources from access
to those resources.
We are not yet at the stage where we can merge this patch as host
linux/qemu suppor is no yet merged, but I would like to receive
reviews and comments on the overall direction.
[summary]
At this stage, all you can do is getting the CCA capability with
the virsh domcapabilities command and start the CCA VM with
the virsh create command.
capability info uses qemu QMP to query qemu options. The option
that exists now is for selecting a hash algorithm.
qemu QMP sections currently only contains a single member, but
is wrapped in sections for expansion.
[Capability example]
Execution results of 'virsh domcapability" on qemu
<domaincapabilities>
...
<features>
...
</sgx>
<cca supported='yes'>
<enum name='measurement-algo'>
<value>sha256</value>
<value>sha512</value>
</enum>
</cca>
<hyperv supported='yes'>
...
</features>
</domaincapabilities>
[XML example]
<domain>
...
<launchsecurity type='cca'>
<measurement-algo>sha256</measurement-algo>
</launchsecurity>
...
</domain>
[limitations/tests]
To obtain capability info, it is necessary to support the qemu QMP
command, which qemu does not yet support. We added a QMP
command to retrieve CCA info for test (See "[software version]"
below). Also, I think we should check whether CPUFW supports
CCA or not in qemu_firmware.c, but it is not yet implemented.
We have confirmed that the added tests (qemucapabilitiestest,
domaincapstest and qemuxmlconftest) and the CCA VM startup test
(starting the CCA VM from the virsh create command) passed.
The "personalization-value" and "measurement-log" parameters that
exist in the current LinaroQEMU cca/v3 branch will not be specified
as CCA VM startup parameters with the virsh create command.
[software version]
I followed the steps in Linaro's blog below.
https://linaro.atlassian.net/wiki/spaces/QEMU/pages/29051027459/Building+an…
The Qemu used was enhanced with CCA QMP command and found at:
https://github.com/Kazuhiro-Abe-fj/linaro_qemu/tree/cca-qmp
which is based on Linaro QEMU (cca/v3)
https://git.codelinaro.org/linaro/dcap/qemu/-/tree/cca/v3?ref_type=heads
Changes in v2:
Split the patch into different features.
Fixed two string memory leaks.
String storage has been changed from pointer movement to memory
copying, preventing double freeing.
Added a test case to qemuconftest.
Fixed an issue where communication with QMP did not work properly.
Fixed an issue where <cca support="yes"> was output to the cache
file when using virsh with a qemu binary that does not support QMP.
RFC v1:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/V4S5…
Signed-off-by: Akio Kakuno fj3333bs(a)fujitsu.com
Akio Kakuno (6):
src: Add ARM CCA support in qemu driver to launch VM
src: Add ARM CCA support in domain capabilities command
src: Add ARM CCA support in domain schema
qemucapabilitiestest: Adds Arm CCA support
domaincapstest: Adds Arm CCA support
qemuxmlconftest: Adds Arm CCA support
docs/formatdomain.rst | 28 +
docs/formatdomaincaps.rst | 27 +-
src/conf/domain_capabilities.c | 48 +
src/conf/domain_capabilities.h | 12 +
src/conf/domain_conf.c | 16 +
src/conf/domain_conf.h | 7 +
src/conf/domain_validate.c | 1 +
src/conf/schemas/domaincaps.rng | 14 +
src/conf/schemas/domaincommon.rng | 14 +
src/conf/virconftypes.h | 2 +
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 145 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_cgroup.c | 2 +
src/qemu/qemu_command.c | 32 +
src/qemu/qemu_driver.c | 2 +
src/qemu/qemu_firmware.c | 1 +
src/qemu/qemu_monitor.c | 10 +
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 98 +
src/qemu/qemu_monitor_json.h | 4 +
src/qemu/qemu_namespace.c | 2 +
src/qemu/qemu_process.c | 4 +
src/qemu/qemu_validate.c | 4 +
src/security/security_dac.c | 2 +
.../qemu_9.1.0-virt.aarch64.xml | 243 +
tests/domaincapsdata/qemu_9.1.0.aarch64.xml | 243 +
.../caps_9.1.0_aarch64.replies | 36222 ++++++++++++++++
.../caps_9.1.0_aarch64.xml | 540 +
.../launch-security-cca.aarch64-latest.args | 30 +
.../launch-security-cca.aarch64-latest.xml | 24 +
tests/qemuxmlconfdata/launch-security-cca.xml | 16 +
tests/qemuxmlconftest.c | 2 +
33 files changed, 37802 insertions(+), 1 deletion(-)
create mode 100644 tests/domaincapsdata/qemu_9.1.0-virt.aarch64.xml
create mode 100644 tests/domaincapsdata/qemu_9.1.0.aarch64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_9.1.0_aarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.1.0_aarch64.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.args
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.aarch64-latest.xml
create mode 100644 tests/qemuxmlconfdata/launch-security-cca.xml
--
2.34.1
1
0
Re: [PATCH 2/2] tests: Add capabilities for QEMU 10.0 (unreleased) on
aarch64
by Matt Ochs 28 Feb '25
by Matt Ochs 28 Feb '25
28 Feb '25
Thanks for updating this Andrea!
Tested-by: Matthew R. Ochs <mochs(a)nvidia.com>
1
0
27 Feb '25
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
NEWS.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index ee4eac183e..cf16d894f6 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -85,6 +85,13 @@ v11.1.0 (unreleased)
adds corresponding devices into a per-domain profile so that AppArmor does
not deny QEMU access to them.
+ * qemu: Fix crash when starting a domain on a host with unknown host CPU
+
+ On hosts where we cannot detect a host CPU model (mostly aarch64 hosts)
+ starting a domain with a custom CPU model caused a crash of virtqemud.
+
+ The bug was introduced in libvirt-10.9.0
+
v11.0.0 (2025-01-15)
====================
--
2.48.1
2
2
27 Feb '25
Andrea Bolognani (2):
tests: Use collie instead of borzoi for aarch64 tests
tests: Add capabilities for QEMU 10.0 (unreleased) on aarch64
.../qemu_10.0.0-virt.aarch64.xml | 238 +
tests/domaincapsdata/qemu_10.0.0.aarch64.xml | 238 +
.../caps_10.0.0_aarch64.replies | 37374 ++++++++++++++++
.../caps_10.0.0_aarch64.xml | 552 +
...arch64-cpu-passthrough.aarch64-latest.args | 5 +-
.../aarch64-kvm-32-on-64.aarch64-latest.args | 5 +-
.../aarch64-noacpi-acpi.aarch64-latest.err | 2 +-
tests/qemuxmlconfdata/aarch64-noacpi-acpi.xml | 2 +-
...usb-minimal.aarch64-latest.abi-update.args | 3 +-
...ousb-minimal.aarch64-latest.abi-update.xml | 2 +-
.../aarch64-nousb-minimal.aarch64-latest.args | 3 +-
.../aarch64-nousb-minimal.aarch64-latest.xml | 2 +-
.../qemuxmlconfdata/aarch64-nousb-minimal.xml | 2 +-
.../aarch64-virt-graphics.aarch64-latest.args | 5 +-
...h64-virt-headless-mmio.aarch64-latest.args | 5 +-
.../aarch64-virt-headless.aarch64-latest.args | 5 +-
.../aarch64-virt-virtio.aarch64-latest.args | 5 +-
...o-pci-manual-addresses.aarch64-latest.args | 5 +-
.../arm-vexpressa9-basic.aarch64-latest.args | 1 -
.../arm-vexpressa9-basic.aarch64-latest.xml | 3 -
.../arm-vexpressa9-nodevs.aarch64-latest.args | 1 -
.../arm-vexpressa9-nodevs.aarch64-latest.xml | 3 -
.../arm-vexpressa9-virtio.aarch64-latest.args | 6 +-
.../arm-vexpressa9-virtio.aarch64-latest.xml | 3 -
.../disk-arm-virtio-sd.aarch64-latest.args | 1 -
.../disk-arm-virtio-sd.aarch64-latest.xml | 3 -
...mware-auto-efi-aarch64.aarch64-latest.args | 5 +-
...-loader-raw.aarch64-latest.abi-update.args | 5 +-
...-efi-format-loader-raw.aarch64-latest.args | 5 +-
...i-aarch64-legacy-paths.aarch64-latest.args | 5 +-
...anual-efi-acpi-aarch64.aarch64-latest.args | 5 +-
...ual-efi-noacpi-aarch64.aarch64-latest.args | 5 +-
.../pvpanic-pci-aarch64.aarch64-latest.args | 5 +-
...pci-no-address-aarch64.aarch64-latest.args | 5 +-
...default-fallback-nousb.aarch64-latest.args | 3 +-
...-default-fallback-nousb.aarch64-latest.xml | 2 +-
...ntroller-default-nousb.aarch64-latest.args | 3 +-
...ontroller-default-nousb.aarch64-latest.xml | 2 +-
.../usb-controller-default-nousb.xml | 2 +-
...ault-unavailable-nousb.aarch64-latest.args | 3 +-
...fault-unavailable-nousb.aarch64-latest.xml | 2 +-
.../virtio-iommu-aarch64.aarch64-latest.args | 5 +-
tests/qemuxmlconftest.c | 2 +-
43 files changed, 38456 insertions(+), 82 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_10.0.0-virt.aarch64.xml
create mode 100644 tests/domaincapsdata/qemu_10.0.0.aarch64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
--
2.48.1
1
3
[PATCH] NEWS: Document features/improvements/bug fixes I've participated in
by Michal Privoznik 27 Feb '25
by Michal Privoznik 27 Feb '25
27 Feb '25
There are some features/improvements/bug fixes I've either
contributed or reviewed/merged. Document them for upcoming
release.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 7984f358f3..ee4eac183e 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -72,6 +72,19 @@ v11.1.0 (unreleased)
* **Bug fixes**
+ * tools: ssh-proxy: Check if domain is running before connecting to it
+
+ If domain is not running but has a static CID configured for its VSOCK then
+ the ssh-proxy parsed it anyways. This may have resulted in mistakenly
+ connecting to a different domain. Domain status is checked before parsing
+ its CID.
+
+ * apparmor: Allow SGX if configured
+
+ If domain has ``<memory model='sgx-epc'\>`` configured then libvirt now
+ adds corresponding devices into a per-domain profile so that AppArmor does
+ not deny QEMU access to them.
+
v11.0.0 (2025-01-15)
====================
--
2.45.3
2
1
[libvirt PATCH] qemu: snapshot: error out early when reverting snapshot for VM with non-file disk
by Pavel Hrdina 27 Feb '25
by Pavel Hrdina 27 Feb '25
27 Feb '25
Before this patch the code would start the revert process by destroying
the VM and preparing to revert where it would fail with following error:
error: unsupported configuration: source for disk 'sdb' is not a regular file; refusing to generate external snapshot name
and leaving user with offline VM even if it was running.
Make the check before we start the revert process to not destroy VMs.
Resolves: https://issues.redhat.com/browse/RHEL-30971
Resolves: https://issues.redhat.com/browse/RHEL-79928
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
src/qemu/qemu_snapshot.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index f7d6272907..c5f70f5b10 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -2205,6 +2205,8 @@ qemuSnapshotRevertValidate(virDomainObj *vm,
virDomainSnapshotDef *snapdef,
unsigned int flags)
{
+ size_t i;
+
if (!vm->persistent &&
snapdef->state != VIR_DOMAIN_SNAPSHOT_RUNNING &&
snapdef->state != VIR_DOMAIN_SNAPSHOT_PAUSED &&
@@ -2232,6 +2234,17 @@ qemuSnapshotRevertValidate(virDomainObj *vm,
}
}
+ for (i = 0; i < snap->def->dom->ndisks; i++) {
+ virDomainDiskDef *disk = snap->def->dom->disks[i];
+
+ if (disk->src->type != VIR_STORAGE_TYPE_FILE) {
+ virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
+ _("source disk for '%1$s' is not a regural file, reverting to snapshot is not supported"),
+ disk->dst);
+ return -1;
+ }
+ }
+
return 0;
}
--
2.48.1
2
3
I have just tagged v11.1.0-rc1 in the repository and pushed signed
tarballs to https://download.libvirt.org/
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
Hi,
Since Fedora 41, RAPL feature in QEMU is available.
The tested version with this patch is: qemu-9.1.2-2.fc41.
Incorporating this feature into libvirt would significantly streamline
the process of testing, adopting, and further developing it, thereby
enhancing overall productivity and user experience.
Thank you for your consideration.
Anthony
Anthony Harivel (1):
qemu: Add support for RAPL MSRs feature
docs/formatdomain.rst | 2 ++
src/conf/domain_conf.c | 18 ++++++++++++++++++
src/conf/domain_conf.h | 2 ++
src/conf/schemas/domaincommon.rng | 10 ++++++++++
src/qemu/qemu_command.c | 12 ++++++++++++
tests/qemuxmlconfdata/kvm-features-off.xml | 1 +
.../kvm-features.x86_64-latest.args | 2 +-
tests/qemuxmlconfdata/kvm-features.xml | 1 +
8 files changed, 47 insertions(+), 1 deletion(-)
--
2.48.1
2
5
A few days ago I have posted a patch[1] that addresses an issue
introduced when a meson check was dropped but some uses of the
corresponding WITH_ macro were not removed at the same time.
That got me thinking about what we can do to prevent such scenarios
from happening again in the future. I have come up with something
that I think would be effective, but since applying the approach
throughout the entire codebase would require a non-trivial amount of
work, I figured I'd ask for feedback before embarking on it.
The idea is that there are two types of macros we can use for
conditional compilation: external ones, coming from the OS or other
libraries, and internal ones, which are the result of meson tests.
The external ones (e.g. SIOCSIFFLAGS, __APPLE__) are usually only
defined if they apply, so it is correct to check for their presence
with #ifdef. Using #if will also work, as undefined macros evaluate
to zero, but it's not good practice to use them that way. If -Wundef
has been passed to the compiler, those incorrect uses will be
reported (only on platforms where they are not defined, of course).
The internal ones (e.g. WITH_QEMU, WITH_STRUCT_IFREQ) are similar,
but in this case we control their definition. This means that using
means that the feature is not available on the machine we're building
on, but it could also mean that we've removed the meson check and
forgot to update all users of the macro. In this case, -Wundef would
work 100% reliably to detect the issue: if the meson check doesn't
exist, neither will the macro, regardless of what platform we're
building on.
So the approach I'm suggesting is to use a syntax-check rule to
ensure that internal macros are only ever checked with #if instead of
Of course this requires a full sweep to fix all cases in which we're
not already doing things according to the proposal. Should be fairly
easy, if annoying. A couple of examples are included here for
demonstration purposes.
The bigger impact is going to be on the build system. Right now we
generally only define WITH_ macros if the check passed, but that will
have to change and the result is going to be quite a bit of
additional meson code I'm afraid.
Thoughts?
[1] https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/SKJ…
Andrea Bolognani (4):
configmake: Check for WIN32 correctly
meson: Always define WITH_*_DECL macros
syntax-check: Ensure WITH_ macros are used correctly
meson: Enable -Wundef
build-aux/syntax-check.mk | 5 +++++
configmake.h.in | 2 +-
meson.build | 3 +++
tests/virmockstathelpers.c | 28 ++++++++++++++--------------
4 files changed, 23 insertions(+), 15 deletions(-)
--
2.43.2
4
8
[PATCH 00/10] qemu: Refactor typed parameter handling in qemuDomainGetGuestInfo
by Peter Krempa 26 Feb '25
by Peter Krempa 26 Feb '25
26 Feb '25
Use virTypedParam list to construct the returned data.
Note that this applies on top of two patch(sets) that were ACK'd
upstream:
[PATCH v2 0/4] Add support for getting load averages from guest agent
[PATCH] qemu: Report disk bus as reported by agent in virDomainGetGuestInfo
You can fetch the whole thing via:
git fetch https://gitlab.com/pipo.sk/libvirt.git agent-data-refactor
Peter Krempa (10):
qemuDomainGetGuestInfo: Prepare for refactor to virTypedParamList
qemuDomainGetGuestInfo: Convert load code to virTypedParamList
virDomainInterfaceFormatParams: Convert interface code to
virTypedParamList
qemuAgentDiskInfoFormatParams: Convert interface code to
virTypedParamList
qemuAgentFSInfoFormatParams: Convert interface code to
virTypedParamList
qemuAgentGetTimezone: Convert to virTypedParamList
qemuAgentGetOSInfo: Convert to virTypedParamList
qemuAgentGetUsers: Convert to virTypedParamList
qemuDomainGetGuestInfo: Convert hostname code to virTypedParamList
qemuDomainGetGuestInfo: Remove temporary infrastructure
src/qemu/qemu_agent.c | 52 ++-------
src/qemu/qemu_agent.h | 12 +-
src/qemu/qemu_driver.c | 249 ++++++++++++-----------------------------
tests/qemuagenttest.c | 148 +++++++++++-------------
4 files changed, 152 insertions(+), 309 deletions(-)
--
2.48.1
2
11
[PATCH 00/17] conf/qemu/etc: change several functions to return void instead of 0/-1
by Laine Stump 26 Feb '25
by Laine Stump 26 Feb '25
26 Feb '25
This started with me noticing one function call that checked for
failure on something that I knew couldn't fail. So I changed that
function to return void. But then I noticed another similar function
that also should return void, so I changed that one too. Then
eliminating the check for the return from those functions caused
another function to become infallible, so I changed that one too,
which led to more and more until the evening was finished and I had
this long list of tiny mechanical patches. And here it is - an easy
way to improve your review stats :-)
P.S. I know there are more of these, but forced myself to stop here.
A related question - is it possible for virObjectNew() to fail? I did
finally find (after some searching, documentation that says
g_object_new() can't return null, but I don't know enough about
g_object stuff to know if the vir*Initialize functions could fail (for
example). If virObjectNew() can't fail then that open a whole new can
of worms...
Laine Stump (17):
conf: change virDomainHostdevInsert() to return void
conf: change virDomainNetInsert() to return void
conf: change virDomainFSInsert() to return void
conf: change virDomainShmemDefInsert() to return void
conf: change virDomainDefMaybeAddInput() to return void
libxl: change xenDomainDefAddImplicitInputDevice() to return void
conf: change qemuDomainDefAddImplicitInputDevice() to return void
conf: stop checking for NULL return from virDomainControllerDefNew()
conf: stop checking for NULL return from virDomainDefAddController()
conf: change virDomainDefAddUSBController() to return void
hyperv: change hypervDomainDefAppendController() to return void
conf: change virDomainDefMaybeAddController() to return true/false
conf: change virDomainDefMaybeAddHostdevSCSIcontroller() to return
void
conf: change virDomainDefAddDiskControllersForType() to return void
conf: change virDomainDefMaybeAddVirtioSerialController() to return
void
conf: change virDomainDefMaybeAddSmartcardController() to return void
conf: change virDomainDefAddImplicitControllers() to return void
src/bhyve/bhyve_domain.c | 13 ++-
src/conf/domain_addr.c | 6 +-
src/conf/domain_conf.c | 174 ++++++++++-----------------------
src/conf/domain_conf.h | 16 +--
src/hyperv/hyperv_driver.c | 28 ++----
src/libxl/libxl_conf.c | 4 +-
src/libxl/libxl_domain.c | 11 +--
src/libxl/libxl_driver.c | 11 +--
src/libxl/xen_common.c | 15 +--
src/libxl/xen_common.h | 2 +-
src/libxl/xen_xl.c | 4 +-
src/lxc/lxc_driver.c | 6 +-
src/qemu/qemu_domain_address.c | 8 +-
src/qemu/qemu_driver.c | 14 +--
src/qemu/qemu_postparse.c | 58 ++++-------
src/qemu/qemu_process.c | 3 +-
src/vbox/vbox_common.c | 13 +--
src/vmx/vmx.c | 12 +--
src/vz/vz_driver.c | 11 +--
src/vz/vz_sdk.c | 14 +--
20 files changed, 126 insertions(+), 297 deletions(-)
--
2.47.1
3
35
Jiri Denemark (2):
cpu_arm: Report vendor ID for unknown PVRs
cpu_map: arm: Add AmpereOne CPU models
src/cpu/cpu_arm.c | 6 ++++--
src/cpu_map/arm_Ampere-1.xml | 6 ++++++
src/cpu_map/arm_Ampere-1a.xml | 6 ++++++
src/cpu_map/arm_vendors.xml | 1 +
src/cpu_map/index.xml | 5 +++++
5 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 src/cpu_map/arm_Ampere-1.xml
create mode 100644 src/cpu_map/arm_Ampere-1a.xml
--
2.48.1
2
3