Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 19 participants
- 40173 discussions
17 May '22
Inside of the qemu driver source tree we had 3 text files describing
internals. We can promote them to kbase articles to make them more
accessible.
You can browse the converted files at:
https://pipo.sk.gitlab.io/-/libvirt/-/jobs/2462903538/artifacts/website/kba…
https://pipo.sk.gitlab.io/-/libvirt/-/jobs/2462903538/artifacts/website/kba…
https://pipo.sk.gitlab.io/-/libvirt/-/jobs/2462903538/artifacts/website/kba…
Peter Krempa (3):
qemu: THREADS.txt: rSTize and move to knowledge-base
qemu: MIGRATION.txt: Move to kbase and rSTisze
qemu: EVENTHANDLERS.txt: Move to kbase and rSTisze
docs/kbase/index.rst | 9 ++
docs/kbase/internals/meson.build | 3 +
.../kbase/internals/qemu-event-handlers.rst | 44 +++---
.../kbase/internals/qemu-migration.rst | 67 +++++----
.../kbase/internals/qemu-threads.rst | 136 +++++++++---------
5 files changed, 137 insertions(+), 122 deletions(-)
rename src/qemu/EVENTHANDLERS.txt => docs/kbase/internals/qemu-event-handlers.rst (64%)
rename src/qemu/MIGRATION.txt => docs/kbase/internals/qemu-migration.rst (59%)
rename src/qemu/THREADS.txt => docs/kbase/internals/qemu-threads.rst (70%)
--
2.35.3
2
4
[PATCH 0/3] ui: Remove deprecated sdl parameters and switch to QAPI parser
by Thomas Huth 17 May '22
by Thomas Huth 17 May '22
17 May '22
The "-display sdl" option still uses a hand-crafted parser for its
parameters since some of them used underscores which is forbidden
in QAPI. Now that they've been deprecated and the deprecation period
is over, we can remove the problematic parameters and switch to use
the QAPI parser instead.
While we're at it, also remove the deprecated "-sdl" and "-curses" options.
Thomas Huth (3):
ui: Remove deprecated parameters of the "-display sdl" option
ui: Switch "-display sdl" to use the QAPI parser
ui: Remove deprecated options "-sdl" and "-curses"
docs/about/deprecated.rst | 26 -------
docs/about/removed-features.rst | 27 +++++++
qapi/ui.json | 17 ++++-
include/sysemu/sysemu.h | 2 -
softmmu/globals.c | 2 -
softmmu/vl.c | 128 +-------------------------------
ui/sdl2.c | 13 ++++
qemu-options.hx | 56 +-------------
8 files changed, 61 insertions(+), 210 deletions(-)
--
2.27.0
4
12
msgid ""
"*** BLURB HERE ***"
msgstr ""
Andrea Bolognani (7):
po: Drop unwanted comments from potfile
syntax-check: Introduce sc_pot_comments
po: Drop prefixes from POTFILES.in
po: Don't generate POTFILES
syntax-check: Don't exclude src/false.c from sc_po_check
po: Sort LINGUAS
syntax-check: Introduce sc_linguas_sorting
build-aux/syntax-check.mk | 32 +++-
po/LINGUAS | 8 +-
po/POTFILES | 384 ++++++++++++++++++++++++++++++++++++++
po/POTFILES.in | 384 --------------------------------------
po/libvirt.pot | 216 ---------------------
po/meson.build | 13 +-
6 files changed, 414 insertions(+), 623 deletions(-)
create mode 100644 po/POTFILES
delete mode 100644 po/POTFILES.in
--
2.35.3
4
16
This series cleans up the arguments.
Note that patches 10,11 can be dropped if we decide that we want to keep
the '-S' argument off the command line bulit for 'virsh
domxml-to-native' for qemu definitions.
Peter Krempa (11):
virConnectDomainXMLToNative: Add note about dynamically configured
features
docs: drvqemu: Decrease expectations about command line from 'virsh
domxml-to-native'
qemu: command: Don't hide 'vhost' fds from 'standalone' command line
qemuBuildCommandLine: Convert 'standalone' flag to use 'flags'
qemu: Store state of FIPS in virQEMUDriver
qemuBuildCommandLine: Sanitize debug logging
qemuConnectDomainXMLToNative: Refactor cleanup
qemuBuildCommandLine: Remove 'driver' argument
qemuBuildCommandLine: Inline qemuCheckFips
qemuBuildCommandLine: Don't avoid '-S' flag for 'domxml-to-native'
conversion
qemuBuildCommandLine: Remove 'flags' argument
docs/drvqemu.rst | 14 +++++--
src/libvirt-domain.c | 7 ++++
src/qemu/qemu_command.c | 85 ++++++++++++----------------------------
src/qemu/qemu_command.h | 23 ++++-------
src/qemu/qemu_conf.h | 1 +
src/qemu/qemu_driver.c | 37 +++++++++--------
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_process.c | 24 +++---------
src/qemu/qemu_process.h | 7 +---
tests/qemuxml2argvtest.c | 10 ++---
10 files changed, 82 insertions(+), 128 deletions(-)
--
2.35.3
2
12
Following up Peter's series, here's a couple additional minor cleanups that
simply remove some unused functions related to fd passing.
Jonathon Jongsma (2):
util: remove virCommandPassFDGetFDIndex()
util: Remove virCommandPassFDIndex()
src/libvirt_private.syms | 2 --
src/util/vircommand.c | 55 ++--------------------------------------
src/util/vircommand.h | 3 ---
3 files changed, 2 insertions(+), 58 deletions(-)
--
2.35.3
2
4
This is v10 of the multifd save prototype, which improves the
DIRECT I/O APIs and makes changes to the on disk format
backward and forward compatible, avoiding the need to alter
the QEMU_SAVE_VERSION.
This series demonstrates the DIRECT I/O friendly read/write code
working by using the block-friently multifd streams supplied by
the multifd helper, but could also work with block-aware QEMU streams
if ever available in the future.
KNOWN ISSUES:
a) still applies only to save/restore (no managed save etc)
b) multifd: saves to multiple files instead of just one file
---
changes from v9:
* exposed virFileDirectAlign
* separated the >= 2 QEMU_SAVE_VERSION change in own patch
* reworked the write code to add the alignment padding to the
data_len, making the on disk format compatible when loaded
from an older libvirt.
* reworked the read code to use direct I/O APIs only for actual
direct I/O file descriptors, so as to make old images work
with newer libvirt.
---
changes from v8:
* rebased on master
* reordered patches to add more upstreamable content at the start
* split introduction of virQEMUSaveFd, so the first part is multifd-free
* new virQEMUSaveDataRead as a mirror of virQEMUSaveDataWrite
* introduced virFileDirect API, using it in virFileDisk operations and
for virQEMUSaveRead and virQEMUSaveWrite
---
changes from v7:
* [ base params API and iohelper refactoring upstreamed ]
* extended the QEMU save image format more, to record the nr
of multifd channels on save. Made the data header struct packed.
* removed --parallel-connections from the restore command, as now
it is useless due to QEMU save image format extension.
* separate out patches to expose migration_params APIs to saveimage,
including qemuMigrationParamsSetString, SetCap, SetInt.
* fixed bugs in the ImageOpen patch (missing saveFd init), removed
some whitespace, and fixed some convoluted code paths for return
value -3.
---
changes from v6:
* improved error path handling, with error messages and especially
cancellation of qemu process on error during restore.
* split patches more and reordered them to keep general refactoring
at the beginning before the --parallel stuff is introduced.
* improved multifd compression support, including adding an enum
and extending the QEMU save image format to record the compression
used on save, and pick it up automatically on restore.
---
changes from v4:
* runIO renamed to virFileDiskCopy and rethought arguments
* renamed new APIs from ...ParametersFlags to ...Params
* introduce the new virDomainSaveParams and virDomainRestoreParams
without any additional parameters, so they can be upstreamed first.
* solved the issue in the gendispatch.pl script generating code that
was missing the conn parameter.
---
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
---
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
---
Claudio Fontana (32):
virfile: introduce virFileDirect APIs
virfile: use virFileDirect API in runIOCopy
qemu: saveimage: rework image read/write to be O_DIRECT friendly
qemu: saveimage: assume future formats will also support compression
virfile: virFileDiskCopy: prepare for O_DIRECT files without wrapper
qemu: saveimage: introduce virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageCreate to use virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageOpen to use virQEMUSaveFd
tools: prepare doSave to use parameters
tools: prepare cmdRestore to use parameters
libvirt: add new VIR_DOMAIN_SAVE_PARALLEL flag and parameter
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in save
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in restore
multifd-helper: new helper for parallel save/restore
qemu: saveimage: add virQEMUSaveFd APIs for multifd
qemu: saveimage: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: saveimage: add multifd related fields to save format
qemu: migration_params: add APIs to set Int and Cap
qemu: migration: implement qemuMigrationSrcToFilesMultiFd for save
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd for restore
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
qemu: add migration parameter multifd-compression
libvirt: add new VIR_DOMAIN_SAVE_PARAM_PARALLEL_COMPRESSION
qemu: saveimage: add parallel compression argument to ImageCreate
qemu: saveimage: add stub support for multifd compression parameter
qemu: migration: expose qemuMigrationParamsSetString
qemu: saveimage: implement multifd-compression in parallel save
qemu: saveimage: restore compressed parallel images
tools: add parallel-compression parameter to virsh save command
docs/manpages/virsh.rst | 39 +-
include/libvirt/libvirt-domain.h | 29 +
po/POTFILES.in | 1 +
src/libvirt_private.syms | 9 +
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_driver.c | 146 ++--
src/qemu/qemu_migration.c | 160 ++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 +-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 793 ++++++++++++++----
src/qemu/qemu_saveimage.h | 71 +-
src/qemu/qemu_snapshot.c | 6 +-
src/util/meson.build | 16 +
src/util/multifd-helper.c | 247 ++++++
src/util/virfile.c | 316 ++++++-
src/util/virfile.h | 11 +
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
.../caps_7.1.0.x86_64.xml | 2 +
tools/virsh-domain.c | 101 ++-
56 files changed, 1718 insertions(+), 404 deletions(-)
create mode 100644 src/util/multifd-helper.c
--
2.35.3
1
32
This is v9 of the multifd save prototype, which splits things up
more in order to hopefully offer more upstreamable code,
and adds DIRECT I/O APIs and changes to the save/restore format
to be more block friendly, potentially removing the need of an
iohelper completely.
This is demonstrated in this case using the multifd streams supplied by
the multifd helper, but could also work with block-aware QEMU streams
if ever available in the future.
KNOWN ISSUES:
a) still applies only to save/restore (no managed save etc)
b) multifd: saves to multiple files instead of just one file
---
changes from v8:
* rebased on master
* reordered patches to add more upstreamable content at the start
* split introduction of virQEMUSaveFd, so the first part is multifd-free
* new virQEMUSaveDataRead as a mirror of virQEMUSaveDataWrite
* introduced virFileDirect API, using it in virFileDisk operations and
for virQEMUSaveRead and virQEMUSaveWrite
---
changes from v7:
* [ base params API and iohelper refactoring upstreamed ]
* extended the QEMU save image format more, to record the nr
of multifd channels on save. Made the data header struct packed.
* removed --parallel-connections from the restore command, as now
it is useless due to QEMU save image format extension.
* separate out patches to expose migration_params APIs to saveimage,
including qemuMigrationParamsSetString, SetCap, SetInt.
* fixed bugs in the ImageOpen patch (missing saveFd init), removed
some whitespace, and fixed some convoluted code paths for return
value -3.
---
changes from v6:
* improved error path handling, with error messages and especially
cancellation of qemu process on error during restore.
* split patches more and reordered them to keep general refactoring
at the beginning before the --parallel stuff is introduced.
* improved multifd compression support, including adding an enum
and extending the QEMU save image format to record the compression
used on save, and pick it up automatically on restore.
---
changes from v4:
* runIO renamed to virFileDiskCopy and rethought arguments
* renamed new APIs from ...ParametersFlags to ...Params
* introduce the new virDomainSaveParams and virDomainRestoreParams
without any additional parameters, so they can be upstreamed first.
* solved the issue in the gendispatch.pl script generating code that
was missing the conn parameter.
---
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
---
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
---
Claudio Fontana (31):
virfile: introduce virFileDirect APIs
virfile: use virFileDirect API in runIOCopy
qemu: saveimage: rework save format and read/write to be O_DIRECT
friendly
virfile: virFileDiskCopy: prepare for O_DIRECT files without wrapper
qemu: saveimage: introduce virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageCreate to use virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageOpen to use virQEMUSaveFd
tools: prepare doSave to use parameters
tools: prepare cmdRestore to use parameters
libvirt: add new VIR_DOMAIN_SAVE_PARALLEL flag and parameter
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in save
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in restore
multifd-helper: new helper for parallel save/restore
qemu: saveimage: add virQEMUSaveFd APIs for multifd
qemu: saveimage: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: saveimage: add multifd related fields to save format
qemu: migration_params: add APIs to set Int and Cap
qemu: migration: implement qemuMigrationSrcToFilesMultiFd for save
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd for restore
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
qemu: add migration parameter multifd-compression
libvirt: add new VIR_DOMAIN_SAVE_PARAM_PARALLEL_COMPRESSION
qemu: saveimage: add parallel compression argument to ImageCreate
qemu: saveimage: add stub support for multifd compression parameter
qemu: migration: expose qemuMigrationParamsSetString
qemu: saveimage: implement multifd-compression in parallel save
qemu: saveimage: restore compressed parallel images
tools: add parallel-compression parameter to virsh save command
docs/manpages/virsh.rst | 39 +-
include/libvirt/libvirt-domain.h | 29 +
po/POTFILES.in | 1 +
src/libvirt_private.syms | 7 +
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_driver.c | 146 ++--
src/qemu/qemu_migration.c | 160 ++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 +-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 753 +++++++++++++-----
src/qemu/qemu_saveimage.h | 73 +-
src/qemu/qemu_snapshot.c | 6 +-
src/util/meson.build | 16 +
src/util/multifd-helper.c | 247 ++++++
src/util/virfile.c | 316 +++++++-
src/util/virfile.h | 10 +
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
.../caps_7.1.0.x86_64.xml | 2 +
tools/virsh-domain.c | 101 ++-
56 files changed, 1675 insertions(+), 406 deletions(-)
create mode 100644 src/util/multifd-helper.c
--
2.35.3
1
32
Recently, I update the toolchain in my dev machine from LLVM13 to LLVM14,
and I find that there are many unsed include headers in the libvirt. So
I try to remove them in this series.
Besides, I also find that:
1. some header files are not self-contained, which means if you want to
include one header, you need to include more headers to meet the
requirements of the declarations in the header you want to include;
2. some includes in the .h file are not the dependences of the .h file
(the declaration) but the dependences of the .c file (the
implementation), maybe it's better to move them to .c file.
But it will take more time to cleanup. So I only remove the unused
includs in this series. Is the community welcome to the removing and
the cleanup I mentioned above? If so, I'll move on and cleanup more.
Adam Tao (29):
access: Remove unused includes
admin: Remove unused includes
ch: Remove unused includes
conf: Remove unused includes
cpu: Remove unused includes
esx: Remove unused includes
hyperv: Remove unused includes
interface: Remove unused includes
libxl: Remove unused includes
locking: Remove unused includes
logging: Remove unused includes
network: Remove unused includes
node_device: Remove unused includes
nwfilter: Remove unused includes
openvz: Remove unused includes
qemu: Remove unused includes
remote: Remove unused includes
rpc: Remove unused includes
secret: Remove unused includes
security: Remove unused includes
storage: Remove unused includes
storage_file: Remove unused includes
util: Remove unused includes
vbox: Remove unused includes
vmware: Remove unused includes
vmx: Remove unused includes
test_driver: Remove unused includes
tools: Remove unused includes
tests: Remove unused includes
src/access/viraccessdriver.h | 1 -
src/access/viraccessdriverpolkit.c | 4 ----
src/access/viraccessdriverstack.c | 1 -
src/access/viraccessmanager.h | 1 -
src/access/viraccessperm.h | 1 -
src/admin/admin_server.c | 4 ----
src/admin/admin_server.h | 1 -
src/admin/admin_server_dispatch.c | 4 ----
src/admin/libvirt-admin.c | 2 --
src/ch/ch_conf.c | 1 -
src/ch/ch_domain.c | 1 -
src/ch/ch_driver.c | 7 -------
src/ch/ch_monitor.c | 2 --
src/ch/ch_process.c | 2 --
src/ch/ch_process.h | 1 -
src/conf/backup_conf.c | 3 ---
src/conf/capabilities.c | 1 -
src/conf/capabilities.h | 3 ---
src/conf/checkpoint_conf.c | 4 ----
src/conf/checkpoint_conf.h | 1 -
src/conf/cpu_conf.c | 2 --
src/conf/cpu_conf.h | 1 -
src/conf/device_conf.c | 2 --
src/conf/device_conf.h | 1 -
src/conf/domain_addr.c | 1 -
src/conf/domain_audit.c | 1 -
src/conf/domain_capabilities.c | 2 --
src/conf/domain_capabilities.h | 1 -
src/conf/domain_conf.c | 4 ----
src/conf/domain_conf.h | 1 -
src/conf/domain_event.c | 2 --
src/conf/domain_nwfilter.c | 2 --
src/conf/domain_validate.c | 1 -
src/conf/interface_conf.c | 4 ----
src/conf/interface_conf.h | 2 --
src/conf/moment_conf.c | 3 ---
src/conf/moment_conf.h | 1 -
src/conf/netdev_bandwidth_conf.c | 1 -
src/conf/netdev_vlan_conf.h | 1 -
src/conf/netdev_vport_profile_conf.c | 1 -
src/conf/netdev_vport_profile_conf.h | 1 -
src/conf/network_conf.c | 2 --
src/conf/network_conf.h | 3 ---
src/conf/network_event.h | 1 -
src/conf/networkcommon_conf.c | 3 ---
src/conf/networkcommon_conf.h | 2 --
src/conf/node_device_conf.c | 1 -
src/conf/node_device_conf.h | 2 --
src/conf/node_device_event.h | 1 -
src/conf/node_device_util.c | 1 -
src/conf/nwfilter_conf.c | 2 --
src/conf/nwfilter_conf.h | 3 ---
src/conf/nwfilter_ipaddrmap.c | 3 ---
src/conf/nwfilter_params.c | 2 --
src/conf/nwfilter_params.h | 1 -
src/conf/object_event.c | 4 ----
src/conf/object_event.h | 2 --
src/conf/secret_conf.c | 3 ---
src/conf/secret_event.h | 1 -
src/conf/snapshot_conf.c | 8 --------
src/conf/snapshot_conf.h | 1 -
src/conf/storage_adapter_conf.c | 1 -
src/conf/storage_capabilities.c | 1 -
src/conf/storage_capabilities.h | 2 --
src/conf/storage_conf.c | 4 ----
src/conf/storage_conf.h | 4 ----
src/conf/storage_encryption_conf.c | 3 ---
src/conf/storage_event.h | 1 -
src/conf/virchrdev.c | 1 -
src/conf/virchrdev.h | 1 -
src/conf/virdomaincheckpointobjlist.c | 1 -
src/conf/virdomaincheckpointobjlist.h | 2 --
src/conf/virdomainmomentobjlist.c | 5 -----
src/conf/virdomainobjlist.c | 2 --
src/conf/virdomainsnapshotobjlist.c | 3 ---
src/conf/virdomainsnapshotobjlist.h | 2 --
src/conf/virinterfaceobj.c | 1 -
src/conf/virinterfaceobj.h | 2 --
src/conf/virnetworkobj.h | 2 --
src/conf/virnetworkportdef.c | 2 --
src/conf/virnetworkportdef.h | 2 --
src/conf/virnodedeviceobj.c | 1 -
src/conf/virnwfilterbindingdef.c | 1 -
src/conf/virnwfilterbindingdef.h | 1 -
src/conf/virnwfilterbindingobj.c | 4 ----
src/conf/virnwfilterbindingobj.h | 1 -
src/conf/virnwfilterobj.h | 2 --
src/conf/virsavecookie.h | 1 -
src/conf/virsecretobj.h | 3 ---
src/conf/virstorageobj.c | 1 -
src/conf/virstorageobj.h | 4 ----
src/cpu/cpu.c | 3 ---
src/cpu/cpu.h | 1 -
src/cpu/cpu_arm.c | 1 -
src/cpu/cpu_map.c | 2 --
src/cpu/cpu_ppc64.c | 1 -
src/cpu/cpu_s390.c | 2 --
src/cpu/cpu_x86.c | 1 -
src/esx/esx_driver.c | 1 -
src/esx/esx_interface_driver.c | 6 ------
src/esx/esx_network_driver.c | 2 --
src/esx/esx_private.h | 3 ---
src/esx/esx_storage_backend_iscsi.c | 2 --
src/esx/esx_storage_backend_vmfs.c | 2 --
src/esx/esx_storage_driver.c | 2 --
src/esx/esx_stream.c | 1 -
src/esx/esx_stream.h | 1 -
src/esx/esx_util.c | 3 ---
src/esx/esx_vi.h | 2 --
src/esx/esx_vi_methods.c | 2 --
src/esx/esx_vi_types.c | 1 -
src/hyperv/hyperv_private.h | 3 ---
src/hyperv/hyperv_util.c | 3 ---
src/hyperv/hyperv_util.h | 1 -
src/interface/interface_backend_netcf.c | 2 --
src/interface/interface_backend_udev.c | 1 -
src/libxl/libxl_capabilities.c | 1 -
src/libxl/libxl_capabilities.h | 2 --
src/libxl/libxl_conf.c | 3 ---
src/libxl/libxl_conf.h | 3 ---
src/libxl/libxl_domain.c | 1 -
src/libxl/libxl_domain.h | 2 --
src/libxl/libxl_driver.c | 3 ---
src/libxl/libxl_logger.c | 2 --
src/libxl/libxl_migration.c | 3 ---
src/libxl/xen_common.h | 1 -
src/libxl/xen_xl.c | 1 -
src/libxl/xen_xl.h | 1 -
src/libxl/xen_xm.c | 1 -
src/libxl/xen_xm.h | 1 -
src/locking/domain_lock.c | 3 ---
src/locking/domain_lock.h | 2 --
src/locking/lock_daemon.c | 2 --
src/locking/lock_daemon_config.c | 4 ----
src/locking/lock_daemon_dispatch.c | 1 -
src/locking/lock_driver.h | 1 -
src/locking/lock_driver_lockd.c | 1 -
src/locking/lock_driver_nop.c | 2 --
src/locking/lock_manager.c | 1 -
src/locking/lock_manager.h | 1 -
src/locking/sanlock_helper.c | 2 --
src/logging/log_daemon.c | 5 -----
src/logging/log_daemon_config.c | 4 ----
src/logging/log_daemon_dispatch.c | 1 -
src/logging/log_handler.c | 1 -
src/logging/log_handler.h | 1 -
src/logging/log_manager.c | 1 -
src/network/bridge_driver.c | 5 -----
src/network/bridge_driver.h | 3 ---
src/network/bridge_driver_linux.c | 1 -
src/network/bridge_driver_platform.h | 1 -
src/network/leaseshelper.c | 4 ----
src/node_device/node_device_driver.c | 3 ---
src/node_device/node_device_driver.h | 1 -
src/node_device/node_device_udev.c | 3 ---
src/nwfilter/nwfilter_dhcpsnoop.c | 3 ---
src/nwfilter/nwfilter_driver.c | 5 -----
src/nwfilter/nwfilter_driver.h | 3 ---
src/nwfilter/nwfilter_ebiptables_driver.c | 4 ----
src/nwfilter/nwfilter_gentech_driver.c | 4 ----
src/nwfilter/nwfilter_gentech_driver.h | 1 -
src/nwfilter/nwfilter_learnipaddr.c | 5 -----
src/nwfilter/nwfilter_learnipaddr.h | 1 -
src/openvz/openvz_conf.c | 1 -
src/openvz/openvz_conf.h | 1 -
src/openvz/openvz_driver.h | 2 --
src/openvz/openvz_util.c | 1 -
src/qemu/qemu_agent.c | 2 --
src/qemu/qemu_agent.h | 1 -
src/qemu/qemu_alias.c | 1 -
src/qemu/qemu_alias.h | 2 --
src/qemu/qemu_backup.c | 5 -----
src/qemu/qemu_block.c | 1 -
src/qemu/qemu_block.h | 1 -
src/qemu/qemu_blockjob.c | 2 --
src/qemu/qemu_capabilities.c | 5 -----
src/qemu/qemu_capabilities.h | 2 --
src/qemu/qemu_cgroup.c | 7 -------
src/qemu/qemu_cgroup.h | 2 --
src/qemu/qemu_checkpoint.c | 3 ---
src/qemu/qemu_checkpoint.h | 1 -
src/qemu/qemu_command.c | 7 -------
src/qemu/qemu_command.h | 4 ----
src/qemu/qemu_conf.c | 5 -----
src/qemu/qemu_conf.h | 8 --------
src/qemu/qemu_dbus.c | 3 ---
src/qemu/qemu_domain.c | 6 ------
src/qemu/qemu_domain.h | 3 ---
src/qemu/qemu_domain_address.h | 2 --
src/qemu/qemu_driver.c | 8 --------
src/qemu/qemu_extdevice.c | 5 -----
src/qemu/qemu_firmware.c | 1 -
src/qemu/qemu_hostdev.c | 5 -----
src/qemu/qemu_hostdev.h | 1 -
src/qemu/qemu_hotplug.c | 4 ----
src/qemu/qemu_hotplug.h | 1 -
src/qemu/qemu_interface.c | 1 -
src/qemu/qemu_interface.h | 1 -
src/qemu/qemu_interop_config.c | 3 ---
src/qemu/qemu_migration.c | 5 -----
src/qemu/qemu_migration_cookie.c | 1 -
src/qemu/qemu_migration_cookie.h | 1 -
src/qemu/qemu_migration_params.c | 2 --
src/qemu/qemu_migration_params.h | 4 ----
src/qemu/qemu_monitor.c | 2 --
src/qemu/qemu_monitor.h | 2 --
src/qemu/qemu_monitor_json.c | 4 ----
src/qemu/qemu_monitor_json.h | 1 -
src/qemu/qemu_monitor_text.c | 2 --
src/qemu/qemu_monitor_text.h | 2 --
src/qemu/qemu_namespace.c | 1 -
src/qemu/qemu_namespace.h | 1 -
src/qemu/qemu_process.c | 2 --
src/qemu/qemu_process.h | 1 -
src/qemu/qemu_qapi.c | 2 --
src/qemu/qemu_saveimage.c | 2 --
src/qemu/qemu_saveimage.h | 2 --
src/qemu/qemu_security.h | 2 --
src/qemu/qemu_shim.c | 1 -
src/qemu/qemu_slirp.c | 3 ---
src/qemu/qemu_snapshot.c | 4 ----
src/qemu/qemu_snapshot.h | 1 -
src/qemu/qemu_tpm.c | 5 -----
src/qemu/qemu_validate.h | 1 -
src/qemu/qemu_vhost_user.c | 1 -
src/qemu/qemu_vhost_user.h | 2 --
src/qemu/qemu_vhost_user_gpu.c | 3 ---
src/qemu/qemu_vhost_user_gpu.h | 1 -
src/remote/remote_daemon.c | 3 ---
src/remote/remote_daemon.h | 1 -
src/remote/remote_daemon_config.c | 1 -
src/remote/remote_daemon_dispatch.c | 5 -----
src/remote/remote_daemon_dispatch.h | 1 -
src/remote/remote_daemon_stream.c | 1 -
src/remote/remote_driver.c | 3 ---
src/remote/remote_driver.h | 1 -
src/rpc/virkeepalive.c | 3 ---
src/rpc/virnetclient.c | 1 -
src/rpc/virnetclient.h | 1 -
src/rpc/virnetclientprogram.h | 1 -
src/rpc/virnetclientstream.c | 1 -
src/rpc/virnetclientstream.h | 1 -
src/rpc/virnetdaemon.c | 2 --
src/rpc/virnetdaemon.h | 3 ---
src/rpc/virnetlibsshsession.h | 1 -
src/rpc/virnetmessage.c | 1 -
src/rpc/virnetsaslcontext.c | 3 ---
src/rpc/virnetsaslcontext.h | 1 -
src/rpc/virnetserver.c | 2 --
src/rpc/virnetserver.h | 1 -
src/rpc/virnetserverclient.c | 1 -
src/rpc/virnetserverprogram.h | 1 -
src/rpc/virnetserverservice.h | 1 -
src/rpc/virnetsocket.c | 1 -
src/rpc/virnetsshsession.c | 1 -
src/rpc/virnetsshsession.h | 1 -
src/rpc/virnettlscontext.h | 1 -
src/secret/secret_driver.c | 2 --
src/security/security_dac.c | 1 -
src/security/security_manager.h | 1 -
src/security/security_nop.c | 2 --
src/security/security_selinux.c | 2 --
src/security/security_stack.c | 1 -
src/security/security_util.c | 1 -
src/storage/parthelper.c | 1 -
src/storage/storage_backend.c | 3 ---
src/storage/storage_backend.h | 1 -
src/storage/storage_backend_fs.c | 1 -
src/storage/storage_backend_gluster.c | 1 -
src/storage/storage_backend_iscsi.c | 4 ----
src/storage/storage_backend_iscsi_direct.c | 2 --
src/storage/storage_backend_mpath.c | 1 -
src/storage/storage_backend_rbd.c | 1 -
src/storage/storage_backend_scsi.c | 3 ---
src/storage/storage_backend_vstorage.c | 2 --
src/storage/storage_driver.c | 2 --
src/storage/storage_util.c | 3 ---
src/storage/storage_util.h | 1 -
src/storage_file/storage_file_backend.c | 2 --
src/storage_file/storage_file_backend_fs.c | 5 -----
src/storage_file/storage_file_backend_gluster.c | 2 --
src/storage_file/storage_source.c | 3 ---
src/test/test_driver.c | 2 --
src/test/test_driver.h | 2 --
src/util/iohelper.c | 3 ---
src/util/virarch.h | 2 --
src/util/virarptable.c | 2 --
src/util/virarptable.h | 2 --
src/util/viraudit.h | 1 -
src/util/virauth.c | 1 -
src/util/virauth.h | 1 -
src/util/virauthconfig.c | 1 -
src/util/virbpf.c | 1 -
src/util/virbuffer.c | 2 --
src/util/vircgroup.c | 3 ---
src/util/vircgroupv2devices.c | 1 -
src/util/vircgroupv2devices.h | 2 --
src/util/virconf.c | 1 -
src/util/vircrypto.c | 2 --
src/util/virdnsmasq.c | 2 --
src/util/virebtables.c | 4 ----
src/util/virendian.h | 2 --
src/util/virenum.c | 1 -
src/util/virerror.c | 1 -
src/util/virevent.h | 1 -
src/util/vireventglib.c | 1 -
src/util/vireventglib.h | 2 --
src/util/vireventthread.h | 1 -
src/util/virfcp.c | 2 --
src/util/virfdstream.c | 1 -
src/util/virfilecache.c | 2 --
src/util/virfilecache.h | 2 --
src/util/virfirewall.c | 1 -
src/util/virfirmware.c | 1 -
src/util/virgic.c | 1 -
src/util/virhook.c | 2 --
src/util/virhook.h | 2 --
src/util/virhostcpu.c | 2 --
src/util/virhostcpu.h | 1 -
src/util/virhostmem.c | 2 --
src/util/virhostuptime.c | 1 -
src/util/viridentity.c | 3 ---
src/util/virinitctl.c | 3 ---
src/util/viriptables.c | 6 ------
src/util/viriscsi.c | 2 --
src/util/virjson.c | 1 -
src/util/virkmod.c | 1 -
src/util/virlease.c | 2 --
src/util/virlockspace.c | 1 -
src/util/virlockspace.h | 1 -
src/util/virmacaddr.c | 1 -
src/util/virmacmap.c | 2 --
src/util/virmacmap.h | 1 -
src/util/virmdev.h | 1 -
src/util/virnetdevbandwidth.c | 2 --
src/util/virnetdevbridge.c | 2 --
src/util/virnetdevip.c | 1 -
src/util/virnetdevmacvlan.c | 2 --
src/util/virnetdevmacvlan.h | 2 --
src/util/virnetdevmidonet.c | 1 -
src/util/virnetdevopenvswitch.c | 1 -
src/util/virnetdevtap.c | 1 -
src/util/virnetdevveth.c | 3 ---
src/util/virnetdevvlan.c | 2 --
src/util/virnetlink.c | 1 -
src/util/virnetlink.h | 1 -
src/util/virnodesuspend.c | 4 ----
src/util/virnodesuspend.h | 2 --
src/util/virnvme.c | 1 -
src/util/virobject.c | 2 --
src/util/virpci.c | 1 -
src/util/virpcivpd.c | 1 -
src/util/virperf.c | 2 --
src/util/virpidfile.c | 1 -
src/util/virpolkit.c | 2 --
src/util/virportallocator.c | 3 ---
src/util/virprobe.h | 1 -
src/util/virprocess.h | 1 -
src/util/virqemu.c | 2 --
src/util/virqemu.h | 1 -
src/util/virrandom.c | 3 ---
src/util/virresctrl.h | 3 ---
src/util/virrotatingfile.c | 1 -
src/util/virscsi.h | 1 -
src/util/virscsivhost.c | 1 -
src/util/virscsivhost.h | 1 -
src/util/virseclabel.c | 2 --
src/util/virsecret.c | 1 -
src/util/virsocketaddr.c | 2 --
src/util/virstoragefile.c | 4 ----
src/util/virtpm.c | 1 -
src/util/virusb.h | 1 -
src/util/virutil.c | 2 --
src/util/viruuid.c | 3 ---
src/vbox/vbox_XPCOMCGlue.c | 3 ---
src/vbox/vbox_common.h | 1 -
src/vbox/vbox_driver.c | 2 --
src/vbox/vbox_driver.h | 2 --
src/vbox/vbox_get_driver.h | 2 --
src/vbox/vbox_network.c | 2 --
src/vbox/vbox_storage.c | 3 ---
src/vbox/vbox_tmpl.c | 1 -
src/vbox/vbox_uniformed_api.h | 2 --
src/vmware/vmware_conf.c | 1 -
src/vmware/vmware_conf.h | 1 -
src/vmware/vmware_driver.c | 1 -
src/vmx/vmx.c | 1 -
src/vmx/vmx.h | 2 --
tests/commandtest.c | 2 --
tests/cputest.c | 2 --
tests/domainconftest.c | 2 --
tests/esxutilstest.c | 1 -
tests/eventtest.c | 2 --
tests/fchosttest.c | 1 -
tests/fdstreamtest.c | 3 ---
tests/genericxml2xmltest.c | 2 --
tests/interfacexml2xmltest.c | 2 --
tests/libxlmock.c | 2 --
tests/libxlxml2domconfigtest.c | 6 ------
tests/lxcxml2xmltest.c | 2 --
tests/networkxml2conftest.c | 2 --
tests/networkxml2firewalltest.c | 2 --
tests/networkxml2xmltest.c | 3 ---
tests/networkxml2xmlupdatetest.c | 3 ---
tests/nodedevmdevctltest.c | 2 --
tests/nodedevxml2xmltest.c | 3 ---
tests/nssmock.c | 2 --
tests/nsstest.c | 1 -
tests/nwfilterebiptablestest.c | 1 -
tests/nwfilterxml2firewalltest.c | 1 -
tests/nwfilterxml2xmltest.c | 6 ------
tests/objecteventtest.c | 3 ---
tests/openvzutilstest.c | 2 --
tests/qemuagenttest.c | 2 --
tests/qemublocktest.c | 4 ----
tests/qemucapsprobemock.c | 1 -
tests/qemucommandutiltest.c | 1 -
tests/qemucpumock.c | 1 -
tests/qemudomaincheckpointxml2xmltest.c | 2 --
tests/qemudomainsnapshotxml2xmltest.c | 2 --
tests/qemuhotplugmock.c | 1 -
tests/qemuhotplugtest.c | 3 ---
tests/qemumemlocktest.c | 2 --
tests/qemumigparamstest.c | 1 -
tests/qemumigrationcookiexmltest.c | 1 -
tests/qemumonitorjsontest.c | 2 --
tests/qemumonitortestutils.c | 2 --
tests/qemumonitortestutils.h | 1 -
tests/qemusecuritymock.c | 2 --
tests/qemuxml2argvmock.c | 5 -----
tests/qemuxml2argvtest.c | 8 --------
tests/qemuxml2xmltest.c | 3 ---
tests/scsihosttest.c | 2 --
tests/seclabeltest.c | 1 -
tests/secretxml2xmltest.c | 2 --
tests/securityselinuxhelper.c | 1 -
tests/securityselinuxlabeltest.c | 2 --
tests/securityselinuxtest.c | 3 ---
tests/sockettest.c | 1 -
tests/storagebackendsheepdogtest.c | 1 -
tests/storagepoolxml2argvtest.c | 4 ----
tests/storagepoolxml2xmltest.c | 3 ---
tests/storagevolxml2argvtest.c | 4 ----
tests/storagevolxml2xmltest.c | 3 ---
tests/sysinfotest.c | 1 -
tests/testutils.c | 4 ----
tests/testutils.h | 1 -
tests/testutilslxc.c | 1 -
tests/testutilslxc.h | 2 --
tests/testutilsqemu.c | 1 -
tests/utiltest.c | 1 -
tests/virauthconfigtest.c | 2 --
tests/virbuftest.c | 2 --
tests/vircaps2xmltest.c | 1 -
tests/vircgroupmock.c | 2 --
tests/vircgrouptest.c | 1 -
tests/virconftest.c | 1 -
tests/virdriverconnvalidatetest.c | 2 --
tests/virdrivermoduletest.c | 2 --
tests/virfilemock.c | 2 --
tests/virfiletest.c | 1 -
tests/virfilewrapper.c | 2 --
tests/virfirewallmock.c | 1 -
tests/virfirewalltest.c | 1 -
tests/virhostcputest.c | 1 -
tests/viridentitytest.c | 4 ----
tests/virkeycodetest.c | 4 ----
tests/virkmodtest.c | 1 -
tests/virlockspacetest.c | 3 ---
tests/virmigtest.c | 1 -
tests/virmockstathelpers.c | 1 -
tests/virnetdaemonmock.c | 1 -
tests/virnetdevmock.c | 2 --
tests/virnetdevtest.c | 2 --
tests/virnetmessagetest.c | 2 --
tests/virnetserverclientmock.c | 1 -
tests/virnetsockettest.c | 1 -
tests/virnettlscontexttest.c | 5 -----
tests/virnettlshelpers.c | 1 -
tests/virnettlssessiontest.c | 4 ----
tests/virnetworkportxml2xmltest.c | 2 --
tests/virnumamock.c | 3 ---
tests/virnwfilterbindingxml2xmltest.c | 4 ----
tests/virpcimock.c | 1 -
tests/virportallocatortest.c | 3 ---
tests/virrandommock.c | 1 -
tests/virschematest.c | 2 --
tests/virshtest.c | 2 --
tests/virstoragetest.c | 3 ---
tests/virstorageutiltest.c | 3 ---
tests/virstringtest.c | 3 ---
tests/virtestmock.c | 2 --
tests/virtimetest.c | 2 --
tests/viruritest.c | 1 -
tests/virusbmock.c | 3 ---
tests/virusbtest.c | 2 --
tests/vmx2xmltest.c | 2 --
tests/vshtabletest.c | 1 -
tests/xlconfigtest.c | 1 -
tests/xmconfigtest.c | 2 --
tests/xml2vmxtest.c | 1 -
tools/virsh-checkpoint.c | 2 --
tools/virsh-completer-checkpoint.c | 2 --
tools/virsh-completer-domain.c | 1 -
tools/virsh-completer-host.c | 1 -
tools/virsh-completer-interface.c | 2 --
tools/virsh-completer-network.c | 1 -
tools/virsh-completer-nodedev.c | 2 --
tools/virsh-completer-nwfilter.c | 2 --
tools/virsh-completer-pool.c | 2 --
tools/virsh-completer-secret.c | 2 --
tools/virsh-completer-snapshot.c | 2 --
tools/virsh-completer-volume.c | 2 --
tools/virsh-completer.c | 2 --
tools/virsh-console.c | 1 -
tools/virsh-domain-event.c | 2 --
tools/virsh-domain.c | 1 -
tools/virsh-nodedev.c | 1 -
tools/virsh-pool.c | 1 -
tools/virsh-snapshot.c | 1 -
tools/virsh-util.c | 1 -
tools/virsh.c | 4 ----
tools/virsh.h | 2 --
tools/virt-admin.c | 1 -
tools/virt-admin.h | 1 -
tools/virt-host-validate-common.h | 1 -
tools/vsh.h | 1 -
527 files changed, 1064 deletions(-)
--
2.36.1
4
34
[PATCH 00/37] qemu: Improve 'qemuFDPass' usability and refactor interface code to use it
by Peter Krempa 13 May '22
by Peter Krempa 13 May '22
13 May '22
This series modifies qemuFDPass to be a bit more convenient to use by
e.g. remembering the maximum fd set index currently used across libvirtd
restarts so that we can avoid having to pass the FDs before actually
constructing the device properties.
Along with that this code refactors the handling of FDs used for network
interfaces. There was a substantial amount of duplicated code with
plethora of helper variables and such. By converting to qemuFDPass
stored in the private data we can simplify the functions.
Peter Krempa (37):
qemu_fd: Add return value handling for qemuFDPassTransfer* APIs
qemu_fd: Add validation before transferring file descriptors
qemu_fd: Remove error checking from qemuFDPassAddFD
qemuDomainAttachNetDevice: Use 'qemuFDPass' for the vdpa file
descriptor
qemu: monitor: Don't parse actual fd's from query-fdsets/add-fd
replies
qemuMonitorJSONQueryFdsets: Ensure that JSON arrays are valid before
using them
qemu: domain: Store and update 'fdsetindex' across libvirtd restarts
qemu_fd: Don't rely on fdset id allocation by qemu
qemuMonitorAddFileHandleToSet: Remove return of 'qemuMonitorAddFdInfo'
qemuFDPassTransferMonitor: Close local copy of the FD as soon as it's
passed to qemu
qemu: Clear 'qemuFDPass' helpers of char devices when no longer needed
qemu: domain: Add qemuFDPass helpers into network private data
qemu: command: Introduce 'qemuBuildInterfaceConnect' helper
qemuBuildInterfaceConnect: Connect to 'vdpa' netdev
qemuBuildHostNetProps: Move all 'tap' code together
qemuBuildHostNetProps: Refactor construction of tapfd/vhostfd
arguments
qemuDomainAttachNetDevice: Don't construct network device properties
under monitor lock
qemu: Prepare netdev code for use of qemuFDPass for tapfd/vhostfd
passing
qemuBuildNicDevProps: Don't pass 'vhostfdSize'
qemuInterfaceOpenVhostNet: Reformat error messages per new guidelines
qemu: Move opening of vhost file descriptors for net devices into
qemuBuildInterfaceConnect
qemuDomainAttachNetDevice: Remove 'vhostfd' machinery
qemuBuildInterfaceCommandLine: Remove 'vhostfd' machinery
qemuBuildHostNetProps: Remove 'vhostfd' machinery
qemuMonitorAddNetdev: Remove 'vhostfd' machinery
qemu: Move opening of tap file descriptors for net devices into
qemuBuildInterfaceConnect
qemuBuildInterfaceCommandLine: Remove 'tapfd' infrastructure
qemuDomainAttachNetDevice: Remove unused 'tapfd' infrastructure
qemuBuildNicDevProps: Remove unused 'tapfd' infrastructure
qemuMonitorAddNetdev: Remove unused 'tapfd' infrastructure
qemuInterfacePrepareSlirp: Directly populate the 'slirp' variable in
network private data
qemuSlirpStart: Simplify parameters
qemu: slirp: Call qemuSlirpOpen directly from qemuSlirpStart
qemu: slirp: Pass FDs to qemu via qemuFDPass in the network private
data
qemuDomainAttachNetDevice: Clean up unneeded 'slirp' helper variables
qemuMonitorAddNetdev: Remove unneeded 'slirp' variables and useless
debug
qemu: slirp: Remove unused 'qemuSlirpGetFD'
src/qemu/qemu_command.c | 393 +++++++++---------
src/qemu/qemu_command.h | 15 +-
src/qemu/qemu_domain.c | 34 +-
src/qemu/qemu_domain.h | 14 +-
src/qemu/qemu_extdevice.c | 13 +-
src/qemu/qemu_fd.c | 118 +++---
src/qemu/qemu_fd.h | 7 +-
src/qemu/qemu_hotplug.c | 172 ++------
src/qemu/qemu_interface.c | 83 ++--
src/qemu/qemu_interface.h | 9 +-
src/qemu/qemu_monitor.c | 50 +--
src/qemu/qemu_monitor.h | 14 +-
src/qemu/qemu_monitor_json.c | 78 +---
src/qemu/qemu_monitor_json.h | 3 +-
src/qemu/qemu_process.c | 47 ++-
src/qemu/qemu_slirp.c | 30 +-
src/qemu/qemu_slirp.h | 10 +-
tests/qemuhotplugtest.c | 1 +
tests/qemumonitorjsontest.c | 3 -
.../qemustatusxml2xmldata/backup-pull-in.xml | 1 +
.../blockjob-blockdev-in.xml | 1 +
.../blockjob-mirror-in.xml | 1 +
.../migration-in-params-in.xml | 1 +
.../migration-out-nbd-bitmaps-in.xml | 1 +
.../migration-out-nbd-out.xml | 1 +
.../migration-out-nbd-tls-out.xml | 1 +
.../migration-out-params-in.xml | 1 +
tests/qemustatusxml2xmldata/modern-in.xml | 1 +
tests/qemustatusxml2xmldata/upgrade-out.xml | 1 +
.../qemustatusxml2xmldata/vcpus-multi-in.xml | 1 +
.../net-eth-unmanaged-tap.args | 2 +-
tests/qemuxml2argvdata/user-aliases.args | 2 +-
tests/qemuxml2argvmock.c | 28 +-
tests/testutilsqemu.c | 6 +-
34 files changed, 502 insertions(+), 641 deletions(-)
--
2.35.1
3
58
Add these XML formats validation in manpage or script:
cpu, domainbackup, domaincaps, domaincheckpoint, networkport,
storagepoolcaps.
Signed-off-by: Han Han <hhan(a)redhat.com>
---
Diff from v1: Add domainbackup, domaincaps, networkport, storagepoolcaps
v1: https://listman.redhat.com/archives/libvir-list/2021-November/225070.html
---
docs/manpages/virt-xml-validate.rst | 24 ++++++++++++++++++++++++
tools/virt-xml-validate.in | 15 +++++++++++++++
2 files changed, 39 insertions(+)
diff --git a/docs/manpages/virt-xml-validate.rst b/docs/manpages/virt-xml-validate.rst
index 940eada3a8..503ddbd35a 100644
--- a/docs/manpages/virt-xml-validate.rst
+++ b/docs/manpages/virt-xml-validate.rst
@@ -31,18 +31,42 @@ from the name of the root element in the XML document.
Valid schema names currently include
+- ``cpu``
+
+The schema for the XML format of cpu
+
- ``domainsnapshot``
The schema for the XML format used by domain snapshot configuration
+- ``domaincheckpoint``
+
+The schema for the XML format used by domain checkpoint configuration
+
+- ``domainbackup``
+
+The schema for the XML format used by domain backup configuration
+
+- ``domaincaps``
+
+The schema for the XML format of domain capabilities
+
- ``domain``
The schema for the XML format used by guest domains configuration
+- ``networkport``
+
+The schema for the XML format used by network port configuration
+
- ``network``
The schema for the XML format used by virtual network configuration
+- ``storagepoolcaps``
+
+The schema for the XML format of storage pool capabilities
+
- ``storagepool``
The schema for the XML format used by storage pool configuration
diff --git a/tools/virt-xml-validate.in b/tools/virt-xml-validate.in
index 249bcf7eef..e444ef2fbc 100644
--- a/tools/virt-xml-validate.in
+++ b/tools/virt-xml-validate.in
@@ -74,9 +74,21 @@ if [ -z "$TYPE" ]; then
ROOT=`xmllint --stream --debug "$XMLFILE" 2>/dev/null | grep "^0 1 " | awk '{ print $3 }'`
fi
case "$ROOT" in
+ *cpu*)
+ TYPE="cpu"
+ ;;
*domainsnapshot*) # Must come first, since *domain* is a substring
TYPE="domainsnapshot"
;;
+ *domaincheckpoint*)
+ TYPE="domaincheckpoint"
+ ;;
+ *domainbackup*)
+ TYPE="domainbackup"
+ ;;
+ *domaincaps*)
+ TYPE="domaincaps"
+ ;;
*domain*)
TYPE="domain"
;;
@@ -86,6 +98,9 @@ if [ -z "$TYPE" ]; then
*network*)
TYPE="network"
;;
+ *storagepoolcaps*)
+ TYPE="storagepoolcaps"
+ ;;
*pool*)
TYPE="storagepool"
;;
--
2.36.0
2
1
Andrea Bolognani (3):
tests: Update smm=on test
tests: Introduce smm=off test
conf: Fix smm=off handling
src/conf/domain_conf.c | 9 +++++---
...rgs => machine-smm-off.x86_64-latest.args} | 16 ++++++--------
tests/qemuxml2argvdata/machine-smm-off.xml | 17 +++++++++++++++
...args => machine-smm-on.x86_64-latest.args} | 16 ++++++--------
tests/qemuxml2argvdata/machine-smm-on.xml | 17 +++++++++++++++
tests/qemuxml2argvtest.c | 8 ++-----
.../machine-smm-off.x86_64-latest.xml} | 21 ++++++++++++-------
.../machine-smm-on.x86_64-latest.xml} | 19 ++++++++++-------
tests/qemuxml2xmltest.c | 2 ++
9 files changed, 81 insertions(+), 44 deletions(-)
copy tests/qemuxml2argvdata/{machine-smm-opt.args => machine-smm-off.x86_64-latest.args} (52%)
create mode 100644 tests/qemuxml2argvdata/machine-smm-off.xml
rename tests/qemuxml2argvdata/{machine-smm-opt.args => machine-smm-on.x86_64-latest.args} (52%)
create mode 100644 tests/qemuxml2argvdata/machine-smm-on.xml
copy tests/{qemuxml2argvdata/machine-smm-opt.xml => qemuxml2xmloutdata/machine-smm-off.x86_64-latest.xml} (51%)
rename tests/{qemuxml2argvdata/machine-smm-opt.xml => qemuxml2xmloutdata/machine-smm-on.x86_64-latest.xml} (53%)
--
2.35.3
2
4
v2 of:
https://listman.redhat.com/archives/libvir-list/2022-May/231307.html
diff to v1:
- Reworked 3/3, instead of promoting restore path to a regular argument,
let's keep it in typed params as this is more future proof. But
require it for now.
Michal Prívozník (3):
qemu: Separate out save code from qemuDomainManagedSave()
lib: Repurpose virDomainSaveParams() with no
VIR_DOMAIN_SAVE_PARAM_FILE
virDomainRestoreFlags: Require VIR_DOMAIN_SAVE_PARAM_FILE for now
src/libvirt-domain.c | 6 ++-
src/qemu/qemu_driver.c | 117 +++++++++++++++++++++++++----------------
2 files changed, 77 insertions(+), 46 deletions(-)
--
2.35.1
4
7
*** BLURB HERE ***
Michal Prívozník (3):
qemu: Separate out save code from qemuDomainManagedSave()
lib: Repurpose virDomainSaveParams() with no
VIR_DOMAIN_SAVE_PARAM_FILE
lib: Require path in virDomainRestoreParams()
include/libvirt/libvirt-domain.h | 1 +
src/driver-hypervisor.h | 1 +
src/libvirt-domain.c | 27 +++++--
src/qemu/qemu_driver.c | 120 ++++++++++++++++++-------------
src/remote/remote_protocol.x | 1 +
src/remote_protocol-structs | 1 +
src/rpc/gendispatch.pl | 2 +-
7 files changed, 97 insertions(+), 56 deletions(-)
--
2.35.1
4
8
This series fixes routed networks when a newer firewalld (>= 1.0.0) is
present [1]. Firewalld 1.0.0 included a change that disallows implicit
forwarding between zones [2]. libvirt was relying on this behavior to
allow routed networks to function.
New firewalld policies are added. This is done to use common rules
between NAT and routed networks. Policies have been supported since
firewalld 0.9.0.
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=2055706
[2]: https://github.com/firewalld/firewalld/issues/177
Eric Garver (4):
network: firewalld: convert to policies
network: firewalld: add zone for routed networks
network: firewalld: add policies for routed networks
network: firewalld: add support for routed networks
src/network/bridge_driver_linux.c | 6 +++++-
src/network/libvirt-nat-out.policy | 12 ++++++++++++
src/network/libvirt-routed-in.policy | 11 +++++++++++
src/network/libvirt-routed-out.policy | 12 ++++++++++++
src/network/libvirt-routed.zone | 12 ++++++++++++
src/network/libvirt-to-host.policy | 21 +++++++++++++++++++++
src/network/libvirt.zone | 23 +++++------------------
src/network/meson.build | 25 +++++++++++++++++++++++++
8 files changed, 103 insertions(+), 19 deletions(-)
create mode 100644 src/network/libvirt-nat-out.policy
create mode 100644 src/network/libvirt-routed-in.policy
create mode 100644 src/network/libvirt-routed-out.policy
create mode 100644 src/network/libvirt-routed.zone
create mode 100644 src/network/libvirt-to-host.policy
--
2.33.0
3
19
12 May '22
The qemuDomainManagedSavePath() function does no more than a
g_strdup_printf() and as such can't return NULL really.
Therefore, don't check for its return value.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_driver.c | 25 ++++++-------------------
1 file changed, 6 insertions(+), 19 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 41c6836390..edba400a7b 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2904,8 +2904,7 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int flags)
"save", false)) < 0)
goto cleanup;
- if (!(name = qemuDomainManagedSavePath(driver, vm)))
- goto cleanup;
+ name = qemuDomainManagedSavePath(driver, vm);
VIR_INFO("Saving state of domain '%s' to '%s'", vm->def->name, name);
@@ -2926,19 +2925,15 @@ qemuDomainManagedSaveLoad(virDomainObj *vm,
{
virQEMUDriver *driver = opaque;
g_autofree char *name = NULL;
- int ret = -1;
virObjectLock(vm);
- if (!(name = qemuDomainManagedSavePath(driver, vm)))
- goto cleanup;
+ name = qemuDomainManagedSavePath(driver, vm);
vm->hasManagedSave = virFileExists(name);
- ret = 0;
- cleanup:
virObjectUnlock(vm);
- return ret;
+ return 0;
}
@@ -2979,8 +2974,7 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags)
if (virDomainManagedSaveRemoveEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (!(name = qemuDomainManagedSavePath(driver, vm)))
- goto cleanup;
+ name = qemuDomainManagedSavePath(driver, vm);
if (unlink(name) < 0) {
virReportSystemError(errno,
@@ -6079,8 +6073,7 @@ qemuDomainManagedSaveGetXMLDesc(virDomainPtr dom, unsigned int flags)
if (virDomainManagedSaveGetXMLDescEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (!(path = qemuDomainManagedSavePath(driver, vm)))
- goto cleanup;
+ path = qemuDomainManagedSavePath(driver, vm);
if (!virFileExists(path)) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -6117,8 +6110,7 @@ qemuDomainManagedSaveDefineXML(virDomainPtr dom, const char *dxml,
if (virDomainManagedSaveDefineXMLEnsureACL(conn, vm->def) < 0)
goto cleanup;
- if (!(path = qemuDomainManagedSavePath(driver, vm)))
- goto cleanup;
+ path = qemuDomainManagedSavePath(driver, vm);
if (!virFileExists(path)) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -6427,9 +6419,6 @@ qemuDomainObjStart(virConnectPtr conn,
*/
managed_save = qemuDomainManagedSavePath(driver, vm);
- if (!managed_save)
- return ret;
-
if (virFileExists(managed_save)) {
if (force_boot) {
if (unlink(managed_save) < 0) {
@@ -6690,8 +6679,6 @@ qemuDomainUndefineFlags(virDomainPtr dom,
}
name = qemuDomainManagedSavePath(driver, vm);
- if (name == NULL)
- goto endjob;
if (virFileExists(name)) {
if (flags & VIR_DOMAIN_UNDEFINE_MANAGED_SAVE) {
--
2.35.1
2
1
>From 32dbfbf9857ea72b69ea175ea7f8b21210f4e5d2 Mon Sep 17 00:00:00 2001
From: Efim Shevrin <efim.shevrin(a)virtuozzo.com>
Date: Tue, 10 May 2022 17:03:11 +0300
Subject: [PATCH] Send event on persistent config modification
Libvirt is not sending events in case of a device update, thus any services
listening to events are unaware of the changes.This patch suggests to send event in
case of a persistent config modification, it should keep subscribed services in sync with VM configuration.
Signed-off-by: Efim Shevrin <efim.shevrin(a)virtuozzo.com>
---
src/qemu/qemu_driver.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e3582f62a7..6008a4c8f3 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7942,6 +7942,7 @@ static int qemuDomainUpdateDeviceFlags(virDomainPtr dom,
virQEMUDriver *driver = dom->conn->privateData;
virDomainObj *vm = NULL;
qemuDomainObjPrivate *priv;
+ virObjectEvent *event = NULL;
g_autoview.settings().get('font_face')ptr(virDomainDef) vmdef = NULL;
g_autoptr(virDomainDeviceDef) dev = NULL;
virDomainDeviceDef *dev_copy = NULL;
@@ -8019,8 +8020,16 @@ static int qemuDomainUpdateDeviceFlags(virDomainPtr dom,
/* Finally, if no error until here, we can save config. */
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
ret = virDomainDefSave(vmdef, driver->xmlopt, cfg->configDir);
- if (!ret)
+ if (!ret) {
virDomainObjAssignDef(vm, &vmdef, false, NULL);
+
+ /* Event sending if persistent config has changed */
+ event = virDomainEventLifecycleNewFromObj(vm,
+ VIR_DOMAIN_EVENT_DEFINED,
+ VIR_DOMAIN_EVENT_DEFINED_UPDATED);
+
+ virObjectEventStateQueue(driver->domainEventState, event);
+ }
}
endjob:
--
2.31.1
1
0
libvirt patch in master, [PATCH] Send event on persistent config modification
by Efim Shevrin 12 May '22
by Efim Shevrin 12 May '22
12 May '22
>From 32dbfbf9857ea72b69ea175ea7f8b21210f4e5d2 Mon Sep 17 00:00:00 2001
From: Efim Shevrin <efim.shevrin(a)virtuozzo.com>
Date: Tue, 10 May 2022 17:03:11 +0300
Subject: [PATCH] Send event on persistent config modification
Libvirt is not sending events in case of a device update, thus any services
listening to events are unaware of the changes.This patch suggests to send event in
case of a persistent config modification, it should keep subscribed services in sync with VM configuration.
Signed-off-by: Efim Shevrin <efim.shevrin(a)virtuozzo.com>
---
src/qemu/qemu_driver.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e3582f62a7..6008a4c8f3 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7942,6 +7942,7 @@ static int qemuDomainUpdateDeviceFlags(virDomainPtr dom,
virQEMUDriver *driver = dom->conn->privateData;
virDomainObj *vm = NULL;
qemuDomainObjPrivate *priv;
+ virObjectEvent *event = NULL;
g_autoview.settings().get('font_face')ptr(virDomainDef) vmdef = NULL;
g_autoptr(virDomainDeviceDef) dev = NULL;
virDomainDeviceDef *dev_copy = NULL;
@@ -8019,8 +8020,16 @@ static int qemuDomainUpdateDeviceFlags(virDomainPtr dom,
/* Finally, if no error until here, we can save config. */
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
ret = virDomainDefSave(vmdef, driver->xmlopt, cfg->configDir);
- if (!ret)
+ if (!ret) {
virDomainObjAssignDef(vm, &vmdef, false, NULL);
+
+ /* Event sending if persistent config has changed */
+ event = virDomainEventLifecycleNewFromObj(vm,
+ VIR_DOMAIN_EVENT_DEFINED,
+ VIR_DOMAIN_EVENT_DEFINED_UPDATED);
+
+ virObjectEventStateQueue(driver->domainEventState, event);
+ }
}
endjob:
--
2.31.1
1
0
All QEMU versions we care about already support migration events.
Jiri Denemark (4):
qemu: Drop QEMU_CAPS_MIGRATION_EVENT
qemu: Refactor qemuDomainGetJobInfoMigrationStats
qemu: Make migration events mandatory
qemu: Enable migration events only for fresh QEMU process
src/qemu/qemu_capabilities.c | 3 +-
src/qemu/qemu_capabilities.h | 2 +-
src/qemu/qemu_driver.c | 36 +++++++++---------
src/qemu/qemu_migration.c | 37 ++++---------------
src/qemu/qemu_migration_params.c | 15 +++-----
src/qemu/qemu_migration_params.h | 3 +-
src/qemu/qemu_process.c | 14 ++++---
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 -
.../caps_3.1.0.x86_64.xml | 1 -
.../caps_4.0.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 -
.../caps_4.0.0.riscv32.xml | 1 -
.../caps_4.0.0.riscv64.xml | 1 -
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 -
.../caps_4.0.0.x86_64.xml | 1 -
.../caps_4.1.0.x86_64.xml | 1 -
.../caps_4.2.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 -
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 -
.../caps_4.2.0.x86_64.xml | 1 -
.../caps_5.0.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 -
.../caps_5.0.0.riscv64.xml | 1 -
.../caps_5.0.0.x86_64.xml | 1 -
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 -
.../caps_5.1.0.x86_64.xml | 1 -
.../caps_5.2.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 -
.../caps_5.2.0.riscv64.xml | 1 -
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 -
.../caps_5.2.0.x86_64.xml | 1 -
.../caps_6.0.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 -
.../caps_6.0.0.x86_64.xml | 1 -
.../caps_6.1.0.x86_64.xml | 1 -
.../caps_6.2.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 -
.../caps_6.2.0.x86_64.xml | 1 -
.../caps_7.0.0.aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 -
.../caps_7.0.0.x86_64.xml | 1 -
.../caps_7.1.0.x86_64.xml | 1 -
42 files changed, 46 insertions(+), 99 deletions(-)
--
2.35.1
3
15
[libvirt PATCH v2 0/5] ci: Add an integration test job utilizing upstream QEMU
by Erik Skultety 12 May '22
by Erik Skultety 12 May '22
12 May '22
Since QEMU doesn't maintain a spec file in upstream, we cannot build RPM
artifacts as part of the CI as we do for libvirt. Instead, we build QEMU from
source manually.
Since v1:
- hard-code the QEMU build steps rather than pulling the build template from
upstream QEMU's CI due to a possibility of QEMU moving the template file or
renaming the build template itself
-> only patch 3/5 was modified, the rest remained the same
Successful pipeline:
https://gitlab.com/eskultety/libvirt/-/pipelines/537225094
Erik Skultety (5):
ci: Separate the integration job template to a separate file
ci: Break off the integration_tests template into more templates
ci: Introduce a template for upstream QEMU build
ci: Add a new integration job template for the upstream QEMU scenario
ci: Add a Fedora integration test job utilizing upstream QEMU
ci/integration-template.yml | 100 ++++++++++++++++++++++++++++++++++++
ci/integration.yml | 70 +++++++------------------
2 files changed, 118 insertions(+), 52 deletions(-)
create mode 100644 ci/integration-template.yml
--
2.34.3
2
7
12 May '22
A few commits ago new APIs were introduced (virDomainSaveParams()
and virDomainRestoreParams()) and with them new typed parameters:
VIR_SAVE_PARAM_FILE and VIR_SAVE_PARAM_DXML. But their name does
not suggest they apply to either of the APIs nor that they are
intended for domain related APIs. Switch to
VIR_DOMAIN_SAVE_PARAM prefix to make it obvious.
It's true we already have VIR_DOMAIN_SAVE_* symbols which are
part of virDomainSaveRestoreFlags enum, therefore stick also with
'_PARAM_ ' part of the name to differentiate the two.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
include/libvirt/libvirt-domain.h | 8 ++++----
src/qemu/qemu_driver.c | 22 ++++++++++++++--------
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index cf9d9efd51..24846046aa 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -1579,16 +1579,16 @@ int virDomainRestoreParams (virConnectPtr conn,
unsigned int flags);
/**
- * VIR_SAVE_PARAM_FILE:
+ * VIR_DOMAIN_SAVE_PARAM_FILE:
*
* the parameter used to specify the savestate file to save to or restore from.
*
* Since: 8.4.0
*/
-# define VIR_SAVE_PARAM_FILE "file"
+# define VIR_DOMAIN_SAVE_PARAM_FILE "file"
/**
- * VIR_SAVE_PARAM_DXML:
+ * VIR_DOMAIN_SAVE_PARAM_DXML:
*
* an optional parameter used to adjust guest xml on restore.
* If the hypervisor supports it, it can be used to alter
@@ -1598,7 +1598,7 @@ int virDomainRestoreParams (virConnectPtr conn,
*
* Since: 8.4.0
*/
-# define VIR_SAVE_PARAM_DXML "dxml"
+# define VIR_DOMAIN_SAVE_PARAM_DXML "dxml"
/* See below for virDomainSaveImageXMLFlags */
char * virDomainSaveImageGetXMLDesc (virConnectPtr conn,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e3582f62a7..41c6836390 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2823,14 +2823,18 @@ qemuDomainSaveParams(virDomainPtr dom,
VIR_DOMAIN_SAVE_PAUSED, -1);
if (virTypedParamsValidate(params, nparams,
- VIR_SAVE_PARAM_FILE, VIR_TYPED_PARAM_STRING,
- VIR_SAVE_PARAM_DXML, VIR_TYPED_PARAM_STRING,
+ VIR_DOMAIN_SAVE_PARAM_FILE,
+ VIR_TYPED_PARAM_STRING,
+ VIR_DOMAIN_SAVE_PARAM_DXML,
+ VIR_TYPED_PARAM_STRING,
NULL) < 0)
return -1;
- if (virTypedParamsGetString(params, nparams, VIR_SAVE_PARAM_FILE, &to) < 0)
+ if (virTypedParamsGetString(params, nparams,
+ VIR_DOMAIN_SAVE_PARAM_FILE, &to) < 0)
return -1;
- if (virTypedParamsGetString(params, nparams, VIR_SAVE_PARAM_DXML, &dxml) < 0)
+ if (virTypedParamsGetString(params, nparams,
+ VIR_DOMAIN_SAVE_PARAM_DXML, &dxml) < 0)
return -1;
cfg = virQEMUDriverGetConfig(driver);
@@ -5936,14 +5940,16 @@ qemuDomainRestoreParams(virConnectPtr conn,
int ret = -1;
if (virTypedParamsValidate(params, nparams,
- VIR_SAVE_PARAM_FILE, VIR_TYPED_PARAM_STRING,
- VIR_SAVE_PARAM_DXML, VIR_TYPED_PARAM_STRING,
+ VIR_DOMAIN_SAVE_PARAM_FILE, VIR_TYPED_PARAM_STRING,
+ VIR_DOMAIN_SAVE_PARAM_DXML, VIR_TYPED_PARAM_STRING,
NULL) < 0)
return -1;
- if (virTypedParamsGetString(params, nparams, VIR_SAVE_PARAM_FILE, &path) < 0)
+ if (virTypedParamsGetString(params, nparams,
+ VIR_DOMAIN_SAVE_PARAM_FILE, &path) < 0)
return -1;
- if (virTypedParamsGetString(params, nparams, VIR_SAVE_PARAM_DXML, &dxml) < 0)
+ if (virTypedParamsGetString(params, nparams,
+ VIR_DOMAIN_SAVE_PARAM_DXML, &dxml) < 0)
return -1;
ret = qemuDomainRestoreInternal(conn, path, dxml, flags,
--
2.35.1
2
1
12 May '22
Without spice graphics non of the spicevmc, spiceport and spice audiodev do not
make sense. We could also check if the QEMU supports spice, but that check
would be a redundant check, which is redundant.
Martin Kletzander (4):
Remove serial-spiceport-nospice test
tests: Adjust for invalid qemu command combinations
conf: Add virDomainDefHasSpiceGraphics
qemu: Disable spice-related devices without spice graphics
src/conf/domain_conf.c | 14 ++++++
src/conf/domain_conf.h | 3 ++
src/libvirt_private.syms | 1 +
src/qemu/qemu_validate.c | 34 ++++++++++----
.../audio-spice-best.x86_64-4.1.0.args | 3 +-
.../audio-spice-best.x86_64-latest.args | 3 +-
tests/qemuxml2argvdata/audio-spice-best.xml | 7 +++
.../audio-spice-full.x86_64-latest.args | 3 +-
tests/qemuxml2argvdata/audio-spice-full.xml | 7 +++
.../audio-spice-minimal.x86_64-4.1.0.args | 3 +-
.../audio-spice-minimal.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/audio-spice-minimal.xml | 7 +++
.../channel-virtio-default.args | 9 ++--
.../channel-virtio-default.xml | 1 +
.../serial-spiceport-nospice.args | 33 -------------
...erial-spiceport-nospice.x86_64-latest.args | 37 ---------------
.../serial-spiceport-nospice.xml | 37 ---------------
.../smartcard-passthrough-spicevmc.args | 7 +--
.../smartcard-passthrough-spicevmc.xml | 1 +
tests/qemuxml2argvdata/usb-redir-boot.args | 7 +--
tests/qemuxml2argvdata/usb-redir-boot.xml | 1 +
.../usb-redir-filter-version.args | 7 +--
.../usb-redir-filter-version.xml | 1 +
tests/qemuxml2argvdata/usb-redir-filter.args | 7 +--
tests/qemuxml2argvdata/usb-redir-filter.xml | 1 +
tests/qemuxml2argvdata/usb-redir.args | 7 +--
tests/qemuxml2argvdata/usb-redir.xml | 1 +
tests/qemuxml2argvtest.c | 21 +++++----
.../serial-spiceport-nospice.xml | 47 -------------------
.../smartcard-passthrough-spicevmc.xml | 11 ++++-
.../usb-redir-filter-version.xml | 11 ++++-
tests/qemuxml2xmloutdata/usb-redir-filter.xml | 11 ++++-
tests/qemuxml2xmloutdata/usb-redir.xml | 11 ++++-
tests/qemuxml2xmltest.c | 31 ++++++++----
34 files changed, 178 insertions(+), 210 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/serial-spiceport-nospice.args
delete mode 100644 tests/qemuxml2argvdata/serial-spiceport-nospice.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/serial-spiceport-nospice.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-spiceport-nospice.xml
--
2.35.1
2
5
As I tried to explain the purpose of virDomainObj to somebody I've
came across this very weirdly placed member: originalMemlock. Let's move
it into qemuDomainObjPrivate. But after I've done so I've realized the
error label is needless. So that's dropped too.
Michal Prívozník (4):
conf: Move virDomainObj::originalMemlock into qemuDomainObjPrivate
qemu_domain: Format qemuDomainObjPrivate::originalMemlock
qemu_domain: Drop needless free from qemuDomainObjPrivateXMLParse()
qemu_domain: Drop needless 'error' label in
qemuDomainObjPrivateXMLParse()
src/conf/domain_conf.h | 3 --
src/qemu/qemu_domain.c | 76 +++++++++++++++++++++++-------------------
src/qemu/qemu_domain.h | 3 ++
3 files changed, 45 insertions(+), 37 deletions(-)
--
2.35.1
2
6
[libvirt PATCH 0/5] ci: Add an integration test job utilizing upstream QEMU
by Erik Skultety 11 May '22
by Erik Skultety 11 May '22
11 May '22
Since QEMU doesn't maintain a spec file in upstream, we cannot build RPM
artifacts as part of the CI as we do for libvirt. Instead of hard-coding the
build steps for QEMU though patch 3/5 pulls in QEMU's CI job template which
means we'll remain in sync if QEMU makes changes to its build process.
Erik Skultety (5):
ci: Separate the integration job template to a separate file
ci: Break off the integration_tests template into more templates
ci: Introduce a template for upstream QEMU build
ci: Add a new integration job template for the upstream QEMU scenario
ci: Add a Fedora integration test job utilizing upstream QEMU
ci/integration-template.yml | 98 +++++++++++++++++++++++++++++++++++++
ci/integration.yml | 70 +++++++-------------------
2 files changed, 116 insertions(+), 52 deletions(-)
create mode 100644 ci/integration-template.yml
--
2.34.1
3
18
[PATCH] ui: Remove deprecated parameters of -display sdl and switch to QAPI parser
by Thomas Huth 11 May '22
by Thomas Huth 11 May '22
11 May '22
The "-display sdl" option still used a hand-crafted parser for its
parameters since some of them used underscores which is forbidden
in QAPI. Now that they've been deprecated and the deprecation period
is over, we can remove the problematic parameters and switch to use
the QAPI parser instead.
Signed-off-by: Thomas Huth <thuth(a)redhat.com>
---
docs/about/deprecated.rst | 16 -----
docs/about/removed-features.rst | 17 +++++
qapi/ui.json | 16 ++++-
include/sysemu/sysemu.h | 2 -
softmmu/globals.c | 2 -
softmmu/vl.c | 109 +-------------------------------
ui/sdl2.c | 13 ++++
qemu-options.hx | 32 +---------
8 files changed, 48 insertions(+), 159 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 896e5a97ab..ce7a5b97fc 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -109,22 +109,6 @@ other options have been processed. This will either have no effect (if
if they were not given. The property is therefore useless and should not be
specified.
-``-display sdl,window_close=...`` (since 6.1)
-'''''''''''''''''''''''''''''''''''''''''''''
-
-Use ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
-an underscore between "window" and "close").
-
-``-alt-grab`` and ``-display sdl,alt_grab=on`` (since 6.2)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-Use ``-display sdl,grab-mod=lshift-lctrl-lalt`` instead.
-
-``-ctrl-grab`` and ``-display sdl,ctrl_grab=on`` (since 6.2)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-Use ``-display sdl,grab-mod=rctrl`` instead.
-
``-sdl`` (since 6.2)
''''''''''''''''''''
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 4a0b270296..51bfc844f6 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -355,6 +355,23 @@ The ``-writeconfig`` option was not able to serialize the entire contents
of the QEMU command line. It is thus considered a failed experiment
and removed without a replacement.
+``-display sdl,window_close=...`` (removed in 7.1)
+''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Use ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
+an underscore between "window" and "close").
+
+``-alt-grab`` and ``-display sdl,alt_grab=on`` (removed in 7.1)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Use ``-display sdl,grab-mod=lshift-lctrl-lalt`` instead.
+
+``-ctrl-grab`` and ``-display sdl,ctrl_grab=on`` (removed in 7.1)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Use ``-display sdl,grab-mod=rctrl`` instead.
+
+
QEMU Machine Protocol (QMP) commands
------------------------------------
diff --git a/qapi/ui.json b/qapi/ui.json
index 059302a5ef..7d5097808a 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1309,6 +1309,19 @@
'*swap-opt-cmd': 'bool'
} }
+##
+# @DisplaySDL:
+#
+# SDL2 display options.
+#
+# @grab-mod: Modifier keys that should be pressed together
+# with "G" to release the mouse grab.
+#
+# Since: 7.1
+##
+{ 'struct' : 'DisplaySDL',
+ 'data' : { '*grab-mod' : 'str' } }
+
##
# @DisplayType:
#
@@ -1391,7 +1404,8 @@
'curses': { 'type': 'DisplayCurses', 'if': 'CONFIG_CURSES' },
'egl-headless': { 'type': 'DisplayEGLHeadless',
'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
- 'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' }
+ 'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' },
+ 'sdl': { 'type': 'DisplaySDL', 'if': 'CONFIG_SDL' }
}
}
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 360a408edf..7cca797450 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -42,8 +42,6 @@ extern int graphic_depth;
extern int display_opengl;
extern const char *keyboard_layout;
extern int win2k_install_hack;
-extern int alt_grab;
-extern int ctrl_grab;
extern int graphic_rotate;
extern int old_param;
extern int boot_menu;
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 98b64e0492..12611c2a7a 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -50,8 +50,6 @@ QEMUOptionRom option_rom[MAX_OPTION_ROMS];
int nb_option_roms;
int old_param;
const char *qemu_name;
-int alt_grab;
-int ctrl_grab;
unsigned int nb_prom_envs;
const char *prom_envs[MAX_PROM_ENVS];
int boot_menu;
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 488cc4d09e..90a0a4d393 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1045,100 +1045,7 @@ static void parse_display(const char *p)
exit(0);
}
- if (strstart(p, "sdl", &opts)) {
- /*
- * sdl DisplayType needs hand-crafted parser instead of
- * parse_display_qapi() due to some options not in
- * DisplayOptions, specifically:
- * - ctrl_grab + alt_grab
- * They can't be moved into the QAPI since they use underscores,
- * thus they will get replaced by "grab-mod" in the long term
- */
-#if defined(CONFIG_SDL)
- dpy.type = DISPLAY_TYPE_SDL;
- while (*opts) {
- const char *nextopt;
-
- if (strstart(opts, ",grab-mod=", &nextopt)) {
- opts = nextopt;
- if (strstart(opts, "lshift-lctrl-lalt", &nextopt)) {
- alt_grab = 1;
- } else if (strstart(opts, "rctrl", &nextopt)) {
- ctrl_grab = 1;
- } else {
- goto invalid_sdl_args;
- }
- } else if (strstart(opts, ",alt_grab=", &nextopt)) {
- opts = nextopt;
- if (strstart(opts, "on", &nextopt)) {
- alt_grab = 1;
- } else if (strstart(opts, "off", &nextopt)) {
- alt_grab = 0;
- } else {
- goto invalid_sdl_args;
- }
- warn_report("alt_grab is deprecated, use grab-mod instead.");
- } else if (strstart(opts, ",ctrl_grab=", &nextopt)) {
- opts = nextopt;
- if (strstart(opts, "on", &nextopt)) {
- ctrl_grab = 1;
- } else if (strstart(opts, "off", &nextopt)) {
- ctrl_grab = 0;
- } else {
- goto invalid_sdl_args;
- }
- warn_report("ctrl_grab is deprecated, use grab-mod instead.");
- } else if (strstart(opts, ",window_close=", &nextopt) ||
- strstart(opts, ",window-close=", &nextopt)) {
- if (strstart(opts, ",window_close=", NULL)) {
- warn_report("window_close with an underscore is deprecated,"
- " please use window-close instead.");
- }
- opts = nextopt;
- dpy.has_window_close = true;
- if (strstart(opts, "on", &nextopt)) {
- dpy.window_close = true;
- } else if (strstart(opts, "off", &nextopt)) {
- dpy.window_close = false;
- } else {
- goto invalid_sdl_args;
- }
- } else if (strstart(opts, ",show-cursor=", &nextopt)) {
- opts = nextopt;
- dpy.has_show_cursor = true;
- if (strstart(opts, "on", &nextopt)) {
- dpy.show_cursor = true;
- } else if (strstart(opts, "off", &nextopt)) {
- dpy.show_cursor = false;
- } else {
- goto invalid_sdl_args;
- }
- } else if (strstart(opts, ",gl=", &nextopt)) {
- opts = nextopt;
- dpy.has_gl = true;
- if (strstart(opts, "on", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_ON;
- } else if (strstart(opts, "core", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_CORE;
- } else if (strstart(opts, "es", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_ES;
- } else if (strstart(opts, "off", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_OFF;
- } else {
- goto invalid_sdl_args;
- }
- } else {
- invalid_sdl_args:
- error_report("invalid SDL option string");
- exit(1);
- }
- opts = nextopt;
- }
-#else
- error_report("SDL display supported is not available in this binary");
- exit(1);
-#endif
- } else if (strstart(p, "vnc", &opts)) {
+ if (strstart(p, "vnc", &opts)) {
/*
* vnc isn't a (local) DisplayType but a protocol for remote
* display access.
@@ -1943,10 +1850,6 @@ static void qemu_create_early_backends(void)
const bool use_gtk = false;
#endif
- if ((alt_grab || ctrl_grab) && !use_sdl) {
- error_report("-alt-grab and -ctrl-grab are only valid "
- "for SDL, ignoring option");
- }
if (dpy.has_window_close && !use_gtk && !use_sdl) {
error_report("window-close is only valid for GTK and SDL, "
"ignoring option");
@@ -3302,16 +3205,6 @@ void qemu_init(int argc, char **argv, char **envp)
dpy.has_full_screen = true;
dpy.full_screen = true;
break;
- case QEMU_OPTION_alt_grab:
- alt_grab = 1;
- warn_report("-alt-grab is deprecated, please use "
- "-display sdl,grab-mod=lshift-lctrl-lalt instead.");
- break;
- case QEMU_OPTION_ctrl_grab:
- ctrl_grab = 1;
- warn_report("-ctrl-grab is deprecated, please use "
- "-display sdl,grab-mod=rctrl instead.");
- break;
case QEMU_OPTION_sdl:
warn_report("-sdl is deprecated, use -display sdl instead.");
#ifdef CONFIG_SDL
diff --git a/ui/sdl2.c b/ui/sdl2.c
index d3741f9b75..18c63e1fc9 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -40,6 +40,8 @@ static struct sdl2_console *sdl2_console;
static SDL_Surface *guest_sprite_surface;
static int gui_grab; /* if true, all keyboard/mouse events are grabbed */
+static bool alt_grab;
+static bool ctrl_grab;
static int gui_saved_grab;
static int gui_fullscreen;
@@ -853,6 +855,17 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
gui_fullscreen = o->has_full_screen && o->full_screen;
+ if (o->u.sdl.has_grab_mod) {
+ if (g_str_equal(o->u.sdl.grab_mod, "lshift-lctrl-lalt")) {
+ alt_grab = true;
+ } else if (g_str_equal(o->u.sdl.grab_mod, "rctrl")) {
+ ctrl_grab = true;
+ } else {
+ error_report("Unsupported grab-mod: %s", o->u.sdl.grab_mod);
+ exit(1);
+ }
+ }
+
for (i = 0;; i++) {
QemuConsole *con = qemu_console_lookup_by_index(i);
if (!con) {
diff --git a/qemu-options.hx b/qemu-options.hx
index 796229c433..0fa873d088 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1903,8 +1903,8 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
"-display spice-app[,gl=on|off]\n"
#endif
#if defined(CONFIG_SDL)
- "-display sdl[,alt_grab=on|off][,ctrl_grab=on|off][,gl=on|core|es|off]\n"
- " [,grab-mod=<mod>][,show-cursor=on|off][,window-close=on|off]\n"
+ "-display sdl[,gl=on|core|es|off][,grab-mod=<mod>][,show-cursor=on|off]\n"
+ " [,window-close=on|off]\n"
#endif
#if defined(CONFIG_GTK)
"-display gtk[,full-screen=on|off][,gl=on|off][,grab-on-hover=on|off]\n"
@@ -1977,12 +1977,6 @@ SRST
the mouse grabbing in conjunction with the "g" key. ``<mods>`` can be
either ``lshift-lctrl-lalt`` or ``rctrl``.
- ``alt_grab=on|off`` : Use Control+Alt+Shift-g to toggle mouse grabbing.
- This parameter is deprecated - use ``grab-mod`` instead.
-
- ``ctrl_grab=on|off`` : Use Right-Control-g to toggle mouse grabbing.
- This parameter is deprecated - use ``grab-mod`` instead.
-
``gl=on|off|core|es`` : Use OpenGL for displaying
``show-cursor=on|off`` : Force showing the mouse cursor
@@ -2068,28 +2062,6 @@ SRST
is displayed in graphical mode.
ERST
-DEF("alt-grab", 0, QEMU_OPTION_alt_grab,
- "-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n",
- QEMU_ARCH_ALL)
-SRST
-``-alt-grab``
- Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt). Note that
- this also affects the special keys (for fullscreen, monitor-mode
- switching, etc). This option is deprecated - please use
- ``-display sdl,grab-mod=lshift-lctrl-lalt`` instead.
-ERST
-
-DEF("ctrl-grab", 0, QEMU_OPTION_ctrl_grab,
- "-ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)\n",
- QEMU_ARCH_ALL)
-SRST
-``-ctrl-grab``
- Use Right-Ctrl to grab mouse (instead of Ctrl-Alt). Note that this
- also affects the special keys (for fullscreen, monitor-mode
- switching, etc). This option is deprecated - please use
- ``-display sdl,grab-mod=rctrl`` instead.
-ERST
-
DEF("sdl", 0, QEMU_OPTION_sdl,
"-sdl shorthand for -display sdl\n", QEMU_ARCH_ALL)
SRST
--
2.27.0
2
2
The qemu-vdagent channel is introduced since:
"05b09f039e conf: add qemu-vdagent channel"
It will be in the version 8.4.0.
Signed-off-by: Han Han <hhan(a)redhat.com>
---
docs/formatdomain.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 993c65e50b..c1e99951a6 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -6630,7 +6630,7 @@ types have different ``target`` attributes.
Mouse mode is set by the ``mouse`` element, setting its ``mode`` attribute
to one of ``server`` or ``client``. If no mode is specified, the qemu
default will be used (client mode).
- :since:`Since 8.2.0`
+ :since:`Since 8.4.0`
:anchor:`<a id="elementsCharHostInterface"/>`
--
2.36.0
1
0
[PATCH] qemucapabilitiestest: Add test data for the qemu-7.1 dev cycle on x86_64
by Peter Krempa 10 May '22
by Peter Krempa 10 May '22
10 May '22
Notable schema changes:
- 'cluster-id' is now reported for CPU topology
- 'display-update' QMP command added
- 'main-loop' QOM object added with a whole set of properties
- 'cpu0-id' field reported in SEV data
- 'blockdev-change-medium' command now has 'force' property
- 'screendump' QMP command now has a 'format' property
- supported formats are 'ppm' and 'png'
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 231 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 245 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 231 +
.../caps_7.1.0.x86_64.replies | 38204 ++++++++++++++++
.../caps_7.1.0.x86_64.xml | 3777 ++
5 files changed, 42688 insertions(+)
create mode 100644 tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.1.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
new file mode 100644
index 0000000000..b6bb9e3ffe
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -0,0 +1,231 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>kvm</domain>
+ <machine>pc-q35-7.1</machine>
+ <arch>x86_64</arch>
+ <vcpu max='288'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'>
+ <enum name='hostPassthroughMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='arch-capabilities'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <feature policy='require' name='virt-ssbd'/>
+ <feature policy='require' name='tsc-scale'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='require' name='rdctl-no'/>
+ <feature policy='require' name='skip-l1dfl-vmentry'/>
+ <feature policy='require' name='mds-no'/>
+ <feature policy='require' name='pschange-mc-no'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes'>qemu64</model>
+ <model usable='yes'>qemu32</model>
+ <model usable='no'>phenom</model>
+ <model usable='yes'>pentium3</model>
+ <model usable='yes'>pentium2</model>
+ <model usable='yes'>pentium</model>
+ <model usable='no'>n270</model>
+ <model usable='yes'>kvm64</model>
+ <model usable='yes'>kvm32</model>
+ <model usable='no'>coreduo</model>
+ <model usable='no'>core2duo</model>
+ <model usable='no'>athlon</model>
+ <model usable='no'>Westmere-IBRS</model>
+ <model usable='yes'>Westmere</model>
+ <model usable='no'>Snowridge</model>
+ <model usable='no'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Server-IBRS</model>
+ <model usable='no'>Skylake-Server</model>
+ <model usable='no'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Client-IBRS</model>
+ <model usable='no'>Skylake-Client</model>
+ <model usable='no'>SandyBridge-IBRS</model>
+ <model usable='yes'>SandyBridge</model>
+ <model usable='yes'>Penryn</model>
+ <model usable='no'>Opteron_G5</model>
+ <model usable='no'>Opteron_G4</model>
+ <model usable='yes'>Opteron_G3</model>
+ <model usable='yes'>Opteron_G2</model>
+ <model usable='yes'>Opteron_G1</model>
+ <model usable='no'>Nehalem-IBRS</model>
+ <model usable='yes'>Nehalem</model>
+ <model usable='no'>IvyBridge-IBRS</model>
+ <model usable='no'>IvyBridge</model>
+ <model usable='no'>Icelake-Server-noTSX</model>
+ <model usable='no'>Icelake-Server</model>
+ <model usable='no' deprecated='yes'>Icelake-Client-noTSX</model>
+ <model usable='no' deprecated='yes'>Icelake-Client</model>
+ <model usable='no'>Haswell-noTSX-IBRS</model>
+ <model usable='no'>Haswell-noTSX</model>
+ <model usable='no'>Haswell-IBRS</model>
+ <model usable='no'>Haswell</model>
+ <model usable='yes'>EPYC-Rome</model>
+ <model usable='no'>EPYC-Milan</model>
+ <model usable='yes'>EPYC-IBPB</model>
+ <model usable='yes'>EPYC</model>
+ <model usable='yes'>Dhyana</model>
+ <model usable='no'>Cooperlake</model>
+ <model usable='yes'>Conroe</model>
+ <model usable='no'>Cascadelake-Server-noTSX</model>
+ <model usable='no'>Cascadelake-Server</model>
+ <model usable='no'>Broadwell-noTSX-IBRS</model>
+ <model usable='no'>Broadwell-noTSX</model>
+ <model usable='no'>Broadwell-IBRS</model>
+ <model usable='no'>Broadwell</model>
+ <model usable='yes'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ </tpm>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
new file mode 100644
index 0000000000..cd14a10f05
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -0,0 +1,245 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>qemu</domain>
+ <machine>pc-i440fx-7.1</machine>
+ <arch>x86_64</arch>
+ <vcpu max='255'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='no'/>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>Opteron_G3</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='acpi'/>
+ <feature policy='require' name='ss'/>
+ <feature policy='require' name='pclmuldq'/>
+ <feature policy='require' name='monitor'/>
+ <feature policy='require' name='ssse3'/>
+ <feature policy='require' name='sse4.1'/>
+ <feature policy='require' name='sse4.2'/>
+ <feature policy='require' name='movbe'/>
+ <feature policy='require' name='aes'/>
+ <feature policy='require' name='xsave'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='erms'/>
+ <feature policy='require' name='mpx'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='pcommit'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='clwb'/>
+ <feature policy='require' name='umip'/>
+ <feature policy='require' name='pku'/>
+ <feature policy='require' name='la57'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xgetbv1'/>
+ <feature policy='require' name='mmxext'/>
+ <feature policy='require' name='pdpe1gb'/>
+ <feature policy='require' name='3dnowext'/>
+ <feature policy='require' name='3dnow'/>
+ <feature policy='require' name='cr8legacy'/>
+ <feature policy='require' name='npt'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='disable' name='misalignsse'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes'>qemu64</model>
+ <model usable='yes'>qemu32</model>
+ <model usable='no'>phenom</model>
+ <model usable='yes'>pentium3</model>
+ <model usable='yes'>pentium2</model>
+ <model usable='yes'>pentium</model>
+ <model usable='yes'>n270</model>
+ <model usable='yes'>kvm64</model>
+ <model usable='yes'>kvm32</model>
+ <model usable='yes'>coreduo</model>
+ <model usable='yes'>core2duo</model>
+ <model usable='yes'>athlon</model>
+ <model usable='no'>Westmere-IBRS</model>
+ <model usable='yes'>Westmere</model>
+ <model usable='no'>Snowridge</model>
+ <model usable='no'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Server-IBRS</model>
+ <model usable='no'>Skylake-Server</model>
+ <model usable='no'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Client-IBRS</model>
+ <model usable='no'>Skylake-Client</model>
+ <model usable='no'>SandyBridge-IBRS</model>
+ <model usable='no'>SandyBridge</model>
+ <model usable='yes'>Penryn</model>
+ <model usable='no'>Opteron_G5</model>
+ <model usable='no'>Opteron_G4</model>
+ <model usable='no'>Opteron_G3</model>
+ <model usable='yes'>Opteron_G2</model>
+ <model usable='yes'>Opteron_G1</model>
+ <model usable='no'>Nehalem-IBRS</model>
+ <model usable='yes'>Nehalem</model>
+ <model usable='no'>IvyBridge-IBRS</model>
+ <model usable='no'>IvyBridge</model>
+ <model usable='no'>Icelake-Server-noTSX</model>
+ <model usable='no'>Icelake-Server</model>
+ <model usable='no' deprecated='yes'>Icelake-Client-noTSX</model>
+ <model usable='no' deprecated='yes'>Icelake-Client</model>
+ <model usable='no'>Haswell-noTSX-IBRS</model>
+ <model usable='no'>Haswell-noTSX</model>
+ <model usable='no'>Haswell-IBRS</model>
+ <model usable='no'>Haswell</model>
+ <model usable='no'>EPYC-Rome</model>
+ <model usable='no'>EPYC-Milan</model>
+ <model usable='no'>EPYC-IBPB</model>
+ <model usable='no'>EPYC</model>
+ <model usable='no'>Dhyana</model>
+ <model usable='no'>Cooperlake</model>
+ <model usable='yes'>Conroe</model>
+ <model usable='no'>Cascadelake-Server-noTSX</model>
+ <model usable='no'>Cascadelake-Server</model>
+ <model usable='no'>Broadwell-noTSX-IBRS</model>
+ <model usable='no'>Broadwell-noTSX</model>
+ <model usable='no'>Broadwell-IBRS</model>
+ <model usable='no'>Broadwell</model>
+ <model usable='yes'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ </tpm>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
new file mode 100644
index 0000000000..58bce4251e
--- /dev/null
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -0,0 +1,231 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>kvm</domain>
+ <machine>pc-i440fx-7.1</machine>
+ <arch>x86_64</arch>
+ <vcpu max='255'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'>
+ <value>bios</value>
+ <value>efi</value>
+ </enum>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'>
+ <enum name='hostPassthroughMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='arch-capabilities'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='require' name='amd-ssbd'/>
+ <feature policy='require' name='virt-ssbd'/>
+ <feature policy='require' name='tsc-scale'/>
+ <feature policy='require' name='svme-addr-chk'/>
+ <feature policy='require' name='rdctl-no'/>
+ <feature policy='require' name='skip-l1dfl-vmentry'/>
+ <feature policy='require' name='mds-no'/>
+ <feature policy='require' name='pschange-mc-no'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes'>qemu64</model>
+ <model usable='yes'>qemu32</model>
+ <model usable='no'>phenom</model>
+ <model usable='yes'>pentium3</model>
+ <model usable='yes'>pentium2</model>
+ <model usable='yes'>pentium</model>
+ <model usable='no'>n270</model>
+ <model usable='yes'>kvm64</model>
+ <model usable='yes'>kvm32</model>
+ <model usable='no'>coreduo</model>
+ <model usable='no'>core2duo</model>
+ <model usable='no'>athlon</model>
+ <model usable='no'>Westmere-IBRS</model>
+ <model usable='yes'>Westmere</model>
+ <model usable='no'>Snowridge</model>
+ <model usable='no'>Skylake-Server-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Server-IBRS</model>
+ <model usable='no'>Skylake-Server</model>
+ <model usable='no'>Skylake-Client-noTSX-IBRS</model>
+ <model usable='no'>Skylake-Client-IBRS</model>
+ <model usable='no'>Skylake-Client</model>
+ <model usable='no'>SandyBridge-IBRS</model>
+ <model usable='yes'>SandyBridge</model>
+ <model usable='yes'>Penryn</model>
+ <model usable='no'>Opteron_G5</model>
+ <model usable='no'>Opteron_G4</model>
+ <model usable='yes'>Opteron_G3</model>
+ <model usable='yes'>Opteron_G2</model>
+ <model usable='yes'>Opteron_G1</model>
+ <model usable='no'>Nehalem-IBRS</model>
+ <model usable='yes'>Nehalem</model>
+ <model usable='no'>IvyBridge-IBRS</model>
+ <model usable='no'>IvyBridge</model>
+ <model usable='no'>Icelake-Server-noTSX</model>
+ <model usable='no'>Icelake-Server</model>
+ <model usable='no' deprecated='yes'>Icelake-Client-noTSX</model>
+ <model usable='no' deprecated='yes'>Icelake-Client</model>
+ <model usable='no'>Haswell-noTSX-IBRS</model>
+ <model usable='no'>Haswell-noTSX</model>
+ <model usable='no'>Haswell-IBRS</model>
+ <model usable='no'>Haswell</model>
+ <model usable='yes'>EPYC-Rome</model>
+ <model usable='no'>EPYC-Milan</model>
+ <model usable='yes'>EPYC-IBPB</model>
+ <model usable='yes'>EPYC</model>
+ <model usable='yes'>Dhyana</model>
+ <model usable='no'>Cooperlake</model>
+ <model usable='yes'>Conroe</model>
+ <model usable='no'>Cascadelake-Server-noTSX</model>
+ <model usable='no'>Cascadelake-Server</model>
+ <model usable='no'>Broadwell-noTSX-IBRS</model>
+ <model usable='no'>Broadwell-noTSX</model>
+ <model usable='no'>Broadwell-IBRS</model>
+ <model usable='no'>Broadwell</model>
+ <model usable='yes'>486</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ <value>sata</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>spice</value>
+ <value>egl-headless</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>qxl</value>
+ <value>virtio</value>
+ <value>none</value>
+ <value>bochs</value>
+ <value>ramfb</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='yes'>
+ <enum name='model'>
+ <value>tpm-tis</value>
+ <value>tpm-crb</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>passthrough</value>
+ <value>emulator</value>
+ </enum>
+ </tpm>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='yes'/>
+ <genid supported='yes'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <sev supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
new file mode 100644
index 0000000000..8444825cb7
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
@@ -0,0 +1,38204 @@
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-version",
+ "id": "libvirt-2"
+}
+
+{
+ "return": {
+ "qemu": {
+ "micro": 50,
+ "minor": 0,
+ "major": 7
+ },
+ "package": "v7.0.0-930-g178bacb66d"
+ },
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-target",
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "arch": "x86_64"
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "execute": "query-qmp-schema",
+ "id": "libvirt-4"
+}
+
+{
+ "return": [
+ {
+ "name": "query-status",
+ "ret-type": "1",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "SHUTDOWN",
+ "meta-type": "event",
+ "arg-type": "2"
+ },
+ {
+ "name": "POWERDOWN",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "RESET",
+ "meta-type": "event",
+ "arg-type": "3"
+ },
+ {
+ "name": "STOP",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "RESUME",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "SUSPEND",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "SUSPEND_DISK",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "WAKEUP",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "WATCHDOG",
+ "meta-type": "event",
+ "arg-type": "4"
+ },
+ {
+ "name": "watchdog-set-action",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "5"
+ },
+ {
+ "name": "set-action",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "6"
+ },
+ {
+ "name": "GUEST_PANICKED",
+ "meta-type": "event",
+ "arg-type": "7"
+ },
+ {
+ "name": "GUEST_CRASHLOADED",
+ "meta-type": "event",
+ "arg-type": "8"
+ },
+ {
+ "name": "MEMORY_FAILURE",
+ "meta-type": "event",
+ "arg-type": "9"
+ },
+ {
+ "name": "query-pr-managers",
+ "ret-type": "[10]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "eject",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "11"
+ },
+ {
+ "name": "blockdev-open-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "12"
+ },
+ {
+ "name": "blockdev-close-tray",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "13"
+ },
+ {
+ "name": "blockdev-remove-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "14"
+ },
+ {
+ "name": "blockdev-insert-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "15"
+ },
+ {
+ "name": "blockdev-change-medium",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "16"
+ },
+ {
+ "name": "DEVICE_TRAY_MOVED",
+ "meta-type": "event",
+ "arg-type": "17"
+ },
+ {
+ "name": "PR_MANAGER_STATUS_CHANGED",
+ "meta-type": "event",
+ "arg-type": "18"
+ },
+ {
+ "name": "block_set_io_throttle",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "19"
+ },
+ {
+ "name": "block-latency-histogram-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "20"
+ },
+ {
+ "name": "query-block",
+ "ret-type": "[21]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-blockstats",
+ "ret-type": "[23]",
+ "meta-type": "command",
+ "arg-type": "22"
+ },
+ {
+ "name": "query-block-jobs",
+ "ret-type": "[24]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "block_resize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "25"
+ },
+ {
+ "name": "blockdev-snapshot-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "26"
+ },
+ {
+ "name": "blockdev-snapshot",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "27",
+ "features": [
+ "allow-write-only-overlay"
+ ]
+ },
+ {
+ "name": "change-backing-file",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "28"
+ },
+ {
+ "name": "block-commit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "29"
+ },
+ {
+ "name": "drive-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "30",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "blockdev-backup",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "31"
+ },
+ {
+ "name": "query-named-block-nodes",
+ "ret-type": "[33]",
+ "meta-type": "command",
+ "arg-type": "32"
+ },
+ {
+ "name": "x-debug-query-block-graph",
+ "ret-type": "34",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "drive-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "35"
+ },
+ {
+ "name": "block-dirty-bitmap-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "36"
+ },
+ {
+ "name": "block-dirty-bitmap-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-clear",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-enable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-disable",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "37"
+ },
+ {
+ "name": "block-dirty-bitmap-merge",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "38"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256",
+ "ret-type": "39",
+ "meta-type": "command",
+ "arg-type": "37",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "blockdev-mirror",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "40"
+ },
+ {
+ "name": "block-stream",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "41"
+ },
+ {
+ "name": "block-job-set-speed",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "42"
+ },
+ {
+ "name": "block-job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "43"
+ },
+ {
+ "name": "block-job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "44"
+ },
+ {
+ "name": "block-job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "45"
+ },
+ {
+ "name": "block-job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "46"
+ },
+ {
+ "name": "block-job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "47"
+ },
+ {
+ "name": "block-job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "48"
+ },
+ {
+ "name": "blockdev-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "49"
+ },
+ {
+ "name": "blockdev-reopen",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "50"
+ },
+ {
+ "name": "blockdev-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "51"
+ },
+ {
+ "name": "blockdev-create",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "52"
+ },
+ {
+ "name": "x-blockdev-amend",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "53",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "BLOCK_IMAGE_CORRUPTED",
+ "meta-type": "event",
+ "arg-type": "54"
+ },
+ {
+ "name": "BLOCK_IO_ERROR",
+ "meta-type": "event",
+ "arg-type": "55"
+ },
+ {
+ "name": "BLOCK_JOB_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "56"
+ },
+ {
+ "name": "BLOCK_JOB_CANCELLED",
+ "meta-type": "event",
+ "arg-type": "57"
+ },
+ {
+ "name": "BLOCK_JOB_ERROR",
+ "meta-type": "event",
+ "arg-type": "58"
+ },
+ {
+ "name": "BLOCK_JOB_READY",
+ "meta-type": "event",
+ "arg-type": "59"
+ },
+ {
+ "name": "BLOCK_JOB_PENDING",
+ "meta-type": "event",
+ "arg-type": "60"
+ },
+ {
+ "name": "BLOCK_WRITE_THRESHOLD",
+ "meta-type": "event",
+ "arg-type": "61"
+ },
+ {
+ "name": "block-set-write-threshold",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "62"
+ },
+ {
+ "name": "x-blockdev-change",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "63",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-blockdev-set-iothread",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "64",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "QUORUM_FAILURE",
+ "meta-type": "event",
+ "arg-type": "65"
+ },
+ {
+ "name": "QUORUM_REPORT_BAD",
+ "meta-type": "event",
+ "arg-type": "66"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "67"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync",
+ "ret-type": "69",
+ "meta-type": "command",
+ "arg-type": "68"
+ },
+ {
+ "name": "JOB_STATUS_CHANGE",
+ "meta-type": "event",
+ "arg-type": "70"
+ },
+ {
+ "name": "job-pause",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "71"
+ },
+ {
+ "name": "job-resume",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "72"
+ },
+ {
+ "name": "job-cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "73"
+ },
+ {
+ "name": "job-complete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "74"
+ },
+ {
+ "name": "job-dismiss",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "75"
+ },
+ {
+ "name": "job-finalize",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "76"
+ },
+ {
+ "name": "query-jobs",
+ "ret-type": "[77]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "nbd-server-start",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "78"
+ },
+ {
+ "name": "nbd-server-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "79",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "nbd-server-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "80",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "nbd-server-stop",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "block-export-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "81"
+ },
+ {
+ "name": "block-export-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "82"
+ },
+ {
+ "name": "BLOCK_EXPORT_DELETED",
+ "meta-type": "event",
+ "arg-type": "83"
+ },
+ {
+ "name": "query-block-exports",
+ "ret-type": "[84]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev",
+ "ret-type": "[85]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-chardev-backends",
+ "ret-type": "[86]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ringbuf-write",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "87"
+ },
+ {
+ "name": "ringbuf-read",
+ "ret-type": "str",
+ "meta-type": "command",
+ "arg-type": "88"
+ },
+ {
+ "name": "chardev-add",
+ "ret-type": "90",
+ "meta-type": "command",
+ "arg-type": "89"
+ },
+ {
+ "name": "chardev-change",
+ "ret-type": "90",
+ "meta-type": "command",
+ "arg-type": "91"
+ },
+ {
+ "name": "chardev-remove",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "92"
+ },
+ {
+ "name": "chardev-send-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "93"
+ },
+ {
+ "name": "VSERPORT_CHANGE",
+ "meta-type": "event",
+ "arg-type": "94"
+ },
+ {
+ "name": "dump-guest-memory",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "95"
+ },
+ {
+ "name": "query-dump",
+ "ret-type": "96",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "DUMP_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "97"
+ },
+ {
+ "name": "query-dump-guest-memory-capability",
+ "ret-type": "98",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_link",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "99"
+ },
+ {
+ "name": "netdev_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "100"
+ },
+ {
+ "name": "netdev_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "101"
+ },
+ {
+ "name": "query-rx-filter",
+ "ret-type": "[103]",
+ "meta-type": "command",
+ "arg-type": "102"
+ },
+ {
+ "name": "NIC_RX_FILTER_CHANGED",
+ "meta-type": "event",
+ "arg-type": "104"
+ },
+ {
+ "name": "announce-self",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "105"
+ },
+ {
+ "name": "FAILOVER_NEGOTIATED",
+ "meta-type": "event",
+ "arg-type": "106"
+ },
+ {
+ "name": "RDMA_GID_STATUS_CHANGED",
+ "meta-type": "event",
+ "arg-type": "107"
+ },
+ {
+ "name": "query-rocker",
+ "ret-type": "109",
+ "meta-type": "command",
+ "arg-type": "108"
+ },
+ {
+ "name": "query-rocker-ports",
+ "ret-type": "[111]",
+ "meta-type": "command",
+ "arg-type": "110"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows",
+ "ret-type": "[113]",
+ "meta-type": "command",
+ "arg-type": "112"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups",
+ "ret-type": "[115]",
+ "meta-type": "command",
+ "arg-type": "114"
+ },
+ {
+ "name": "query-tpm-models",
+ "ret-type": "[116]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm-types",
+ "ret-type": "[117]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-tpm",
+ "ret-type": "[118]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "119"
+ },
+ {
+ "name": "expire_password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "120"
+ },
+ {
+ "name": "screendump",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "121"
+ },
+ {
+ "name": "query-spice",
+ "ret-type": "122",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "SPICE_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "123"
+ },
+ {
+ "name": "SPICE_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "124"
+ },
+ {
+ "name": "SPICE_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "125"
+ },
+ {
+ "name": "SPICE_MIGRATE_COMPLETED",
+ "meta-type": "event",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vnc",
+ "ret-type": "126",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vnc-servers",
+ "ret-type": "[127]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "change-vnc-password",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "128"
+ },
+ {
+ "name": "VNC_CONNECTED",
+ "meta-type": "event",
+ "arg-type": "129"
+ },
+ {
+ "name": "VNC_INITIALIZED",
+ "meta-type": "event",
+ "arg-type": "130"
+ },
+ {
+ "name": "VNC_DISCONNECTED",
+ "meta-type": "event",
+ "arg-type": "131"
+ },
+ {
+ "name": "query-mice",
+ "ret-type": "[132]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "send-key",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "133"
+ },
+ {
+ "name": "input-send-event",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "134"
+ },
+ {
+ "name": "query-display-options",
+ "ret-type": "135",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "display-reload",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "136"
+ },
+ {
+ "name": "display-update",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "137"
+ },
+ {
+ "name": "query-migrate",
+ "ret-type": "138",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "139"
+ },
+ {
+ "name": "query-migrate-capabilities",
+ "ret-type": "[140]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-set-parameters",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "141"
+ },
+ {
+ "name": "query-migrate-parameters",
+ "ret-type": "142",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "client_migrate_info",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "143"
+ },
+ {
+ "name": "migrate-start-postcopy",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MIGRATION",
+ "meta-type": "event",
+ "arg-type": "144"
+ },
+ {
+ "name": "MIGRATION_PASS",
+ "meta-type": "event",
+ "arg-type": "145"
+ },
+ {
+ "name": "COLO_EXIT",
+ "meta-type": "event",
+ "arg-type": "146"
+ },
+ {
+ "name": "x-colo-lost-heartbeat",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "migrate_cancel",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-continue",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "147"
+ },
+ {
+ "name": "migrate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "148"
+ },
+ {
+ "name": "migrate-incoming",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "149"
+ },
+ {
+ "name": "xen-save-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "150"
+ },
+ {
+ "name": "xen-set-global-dirty-log",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "151"
+ },
+ {
+ "name": "xen-load-devices-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "152"
+ },
+ {
+ "name": "xen-set-replication",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "153"
+ },
+ {
+ "name": "query-xen-replication-status",
+ "ret-type": "154",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "xen-colo-do-checkpoint",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-colo-status",
+ "ret-type": "155",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "migrate-recover",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "156"
+ },
+ {
+ "name": "migrate-pause",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "UNPLUG_PRIMARY",
+ "meta-type": "event",
+ "arg-type": "157"
+ },
+ {
+ "name": "calc-dirty-rate",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "158"
+ },
+ {
+ "name": "query-dirty-rate",
+ "ret-type": "159",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "snapshot-save",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "160"
+ },
+ {
+ "name": "snapshot-load",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "161"
+ },
+ {
+ "name": "snapshot-delete",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "162"
+ },
+ {
+ "name": "transaction",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "163"
+ },
+ {
+ "name": "trace-event-get-state",
+ "ret-type": "[165]",
+ "meta-type": "command",
+ "arg-type": "164"
+ },
+ {
+ "name": "trace-event-set-state",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "166"
+ },
+ {
+ "name": "qmp_capabilities",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "167"
+ },
+ {
+ "name": "query-version",
+ "ret-type": "168",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-commands",
+ "ret-type": "[169]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "quit",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-qmp-schema",
+ "ret-type": "[170]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "qom-list",
+ "ret-type": "[172]",
+ "meta-type": "command",
+ "arg-type": "171"
+ },
+ {
+ "name": "qom-get",
+ "ret-type": "any",
+ "meta-type": "command",
+ "arg-type": "173"
+ },
+ {
+ "name": "qom-set",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "174"
+ },
+ {
+ "name": "qom-list-types",
+ "ret-type": "[176]",
+ "meta-type": "command",
+ "arg-type": "175"
+ },
+ {
+ "name": "qom-list-properties",
+ "ret-type": "[172]",
+ "meta-type": "command",
+ "arg-type": "177"
+ },
+ {
+ "name": "object-add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "178"
+ },
+ {
+ "name": "object-del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "179"
+ },
+ {
+ "name": "device-list-properties",
+ "ret-type": "[172]",
+ "meta-type": "command",
+ "arg-type": "180"
+ },
+ {
+ "name": "device_add",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "181",
+ "features": [
+ "json-cli",
+ "json-cli-hotplug"
+ ]
+ },
+ {
+ "name": "device_del",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "182"
+ },
+ {
+ "name": "DEVICE_DELETED",
+ "meta-type": "event",
+ "arg-type": "183"
+ },
+ {
+ "name": "DEVICE_UNPLUG_GUEST_ERROR",
+ "meta-type": "event",
+ "arg-type": "184"
+ },
+ {
+ "name": "query-cpus-fast",
+ "ret-type": "[185]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-machines",
+ "ret-type": "[186]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-current-machine",
+ "ret-type": "187",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-target",
+ "ret-type": "188",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-uuid",
+ "ret-type": "189",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-vm-generation-id",
+ "ret-type": "190",
+ "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": "191",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "memsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "192"
+ },
+ {
+ "name": "pmemsave",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "193"
+ },
+ {
+ "name": "query-memdev",
+ "ret-type": "[194]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-hotpluggable-cpus",
+ "ret-type": "[195]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "set-numa-node",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "196"
+ },
+ {
+ "name": "balloon",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "197"
+ },
+ {
+ "name": "query-balloon",
+ "ret-type": "198",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "BALLOON_CHANGE",
+ "meta-type": "event",
+ "arg-type": "199"
+ },
+ {
+ "name": "query-memory-size-summary",
+ "ret-type": "200",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-memory-devices",
+ "ret-type": "[201]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "MEMORY_DEVICE_SIZE_CHANGE",
+ "meta-type": "event",
+ "arg-type": "202"
+ },
+ {
+ "name": "MEM_UNPLUG_ERROR",
+ "meta-type": "event",
+ "arg-type": "203",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "x-query-irq",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-jit",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-numa",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-opcount",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-profile",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-ramblock",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-rdma",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-roms",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "x-query-usb",
+ "ret-type": "204",
+ "meta-type": "command",
+ "arg-type": "0",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "query-cpu-model-expansion",
+ "ret-type": "210",
+ "meta-type": "command",
+ "arg-type": "209"
+ },
+ {
+ "name": "query-cpu-definitions",
+ "ret-type": "[211]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-replay",
+ "ret-type": "212",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "213"
+ },
+ {
+ "name": "replay-delete-break",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "replay-seek",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "214"
+ },
+ {
+ "name": "yank",
+ "ret-type": "0",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "215"
+ },
+ {
+ "name": "query-yank",
+ "ret-type": "[216]",
+ "allow-oob": true,
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "add_client",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "217"
+ },
+ {
+ "name": "query-name",
+ "ret-type": "218",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-iothreads",
+ "ret-type": "[219]",
+ "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": "220",
+ "features": [
+ "savevm-monitor-nodes"
+ ]
+ },
+ {
+ "name": "getfd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "221"
+ },
+ {
+ "name": "closefd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "222"
+ },
+ {
+ "name": "add-fd",
+ "ret-type": "224",
+ "meta-type": "command",
+ "arg-type": "223"
+ },
+ {
+ "name": "remove-fd",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "225"
+ },
+ {
+ "name": "query-fdsets",
+ "ret-type": "[226]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-command-line-options",
+ "ret-type": "[228]",
+ "meta-type": "command",
+ "arg-type": "227"
+ },
+ {
+ "name": "RTC_CHANGE",
+ "meta-type": "event",
+ "arg-type": "229"
+ },
+ {
+ "name": "rtc-reset-reinjection",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev",
+ "ret-type": "230",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev-launch-measure",
+ "ret-type": "231",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sev-capabilities",
+ "ret-type": "232",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "sev-inject-launch-secret",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "233"
+ },
+ {
+ "name": "query-sev-attestation-report",
+ "ret-type": "235",
+ "meta-type": "command",
+ "arg-type": "234"
+ },
+ {
+ "name": "query-sgx",
+ "ret-type": "238",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-sgx-capabilities",
+ "ret-type": "238",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "query-acpi-ospm-status",
+ "ret-type": "[239]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "ACPI_DEVICE_OST",
+ "meta-type": "event",
+ "arg-type": "240"
+ },
+ {
+ "name": "query-pci",
+ "ret-type": "[241]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "0",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "1",
+ "members": [
+ {
+ "name": "running",
+ "type": "bool"
+ },
+ {
+ "name": "singlestep",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "242"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "2",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "243"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "3",
+ "members": [
+ {
+ "name": "guest",
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "243"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "4",
+ "members": [
+ {
+ "name": "action",
+ "type": "244"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "5",
+ "members": [
+ {
+ "name": "action",
+ "type": "244"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "6",
+ "members": [
+ {
+ "name": "reboot",
+ "default": null,
+ "type": "245"
+ },
+ {
+ "name": "shutdown",
+ "default": null,
+ "type": "246"
+ },
+ {
+ "name": "panic",
+ "default": null,
+ "type": "247"
+ },
+ {
+ "name": "watchdog",
+ "default": null,
+ "type": "244"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "7",
+ "members": [
+ {
+ "name": "action",
+ "type": "248"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "249"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "8",
+ "members": [
+ {
+ "name": "action",
+ "type": "248"
+ },
+ {
+ "name": "info",
+ "default": null,
+ "type": "249"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "9",
+ "members": [
+ {
+ "name": "recipient",
+ "type": "250"
+ },
+ {
+ "name": "action",
+ "type": "251"
+ },
+ {
+ "name": "flags",
+ "type": "252"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[10]",
+ "element-type": "10",
+ "meta-type": "array"
+ },
+ {
+ "name": "10",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "11",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "12",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "13",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "14",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "15",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "16",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-only-mode",
+ "default": null,
+ "type": "253"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "17",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "tray-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "18",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "19",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bps",
+ "type": "int"
+ },
+ {
+ "name": "bps_rd",
+ "type": "int"
+ },
+ {
+ "name": "bps_wr",
+ "type": "int"
+ },
+ {
+ "name": "iops",
+ "type": "int"
+ },
+ {
+ "name": "iops_rd",
+ "type": "int"
+ },
+ {
+ "name": "iops_wr",
+ "type": "int"
+ },
+ {
+ "name": "bps_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bps_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_rd_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_wr_max_length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iops_size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "20",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "boundaries",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-read",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-write",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "boundaries-flush",
+ "default": null,
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[21]",
+ "element-type": "21",
+ "meta-type": "array"
+ },
+ {
+ "name": "21",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "qdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "removable",
+ "type": "bool"
+ },
+ {
+ "name": "locked",
+ "type": "bool"
+ },
+ {
+ "name": "inserted",
+ "default": null,
+ "type": "33"
+ },
+ {
+ "name": "tray_open",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "io-status",
+ "default": null,
+ "type": "254"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "22",
+ "members": [
+ {
+ "name": "query-nodes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[23]",
+ "element-type": "23",
+ "meta-type": "array"
+ },
+ {
+ "name": "23",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "qdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "stats",
+ "type": "255"
+ },
+ {
+ "name": "driver-specific",
+ "default": null,
+ "type": "256"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "23"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "23"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[24]",
+ "element-type": "24",
+ "meta-type": "array"
+ },
+ {
+ "name": "24",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "busy",
+ "type": "bool"
+ },
+ {
+ "name": "paused",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "io-status",
+ "type": "254"
+ },
+ {
+ "name": "ready",
+ "type": "bool"
+ },
+ {
+ "name": "status",
+ "type": "257"
+ },
+ {
+ "name": "auto-finalize",
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "type": "bool"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "25",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "26",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshot-file",
+ "type": "str"
+ },
+ {
+ "name": "snapshot-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "258"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "27",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "overlay",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "28",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "image-node-name",
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "29",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "base-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "top-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "top",
+ "default": null,
+ "type": "str",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "30",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "260"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "261"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "262",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "258"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "31",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "260"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmap-mode",
+ "default": null,
+ "type": "261"
+ },
+ {
+ "name": "compress",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "on-source-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "x-perf",
+ "default": null,
+ "type": "262",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "target",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "32",
+ "members": [
+ {
+ "name": "flat",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[33]",
+ "element-type": "33",
+ "meta-type": "array"
+ },
+ {
+ "name": "33",
+ "members": [
+ {
+ "name": "file",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ro",
+ "type": "bool"
+ },
+ {
+ "name": "drv",
+ "type": "str"
+ },
+ {
+ "name": "backing_file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing_file_depth",
+ "type": "int"
+ },
+ {
+ "name": "encrypted",
+ "type": "bool"
+ },
+ {
+ "name": "detect_zeroes",
+ "type": "263"
+ },
+ {
+ "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": "264"
+ },
+ {
+ "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": "265"
+ },
+ {
+ "name": "write_threshold",
+ "type": "int"
+ },
+ {
+ "name": "dirty-bitmaps",
+ "default": null,
+ "type": "[266]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "34",
+ "members": [
+ {
+ "name": "nodes",
+ "type": "[267]"
+ },
+ {
+ "name": "edges",
+ "type": "[268]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "35",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "replaces",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "260"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "258"
+ },
+ {
+ "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": "259"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "unmap",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "269"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "36",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "granularity",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "persistent",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "disabled",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "37",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "38",
+ "members": [
+ {
+ "name": "node",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[270]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "39",
+ "members": [
+ {
+ "name": "sha256",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "40",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "target",
+ "type": "str"
+ },
+ {
+ "name": "replaces",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sync",
+ "type": "260"
+ },
+ {
+ "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": "259"
+ },
+ {
+ "name": "on-target-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "copy-mode",
+ "default": null,
+ "type": "269"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "41",
+ "members": [
+ {
+ "name": "job-id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "base",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "base-node",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bottom",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "on-error",
+ "default": null,
+ "type": "259"
+ },
+ {
+ "name": "filter-node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auto-finalize",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "auto-dismiss",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "42",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "43",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "44",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "45",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "46",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "47",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "48",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "49",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "blkdebug",
+ "type": "274"
+ },
+ {
+ "case": "blklogwrites",
+ "type": "275"
+ },
+ {
+ "case": "blkverify",
+ "type": "276"
+ },
+ {
+ "case": "blkreplay",
+ "type": "277"
+ },
+ {
+ "case": "bochs",
+ "type": "278"
+ },
+ {
+ "case": "cloop",
+ "type": "278"
+ },
+ {
+ "case": "compress",
+ "type": "278"
+ },
+ {
+ "case": "copy-before-write",
+ "type": "279"
+ },
+ {
+ "case": "copy-on-read",
+ "type": "280"
+ },
+ {
+ "case": "dmg",
+ "type": "278"
+ },
+ {
+ "case": "file",
+ "type": "281"
+ },
+ {
+ "case": "ftp",
+ "type": "282"
+ },
+ {
+ "case": "ftps",
+ "type": "283"
+ },
+ {
+ "case": "gluster",
+ "type": "284"
+ },
+ {
+ "case": "host_cdrom",
+ "type": "281"
+ },
+ {
+ "case": "host_device",
+ "type": "281"
+ },
+ {
+ "case": "http",
+ "type": "285"
+ },
+ {
+ "case": "https",
+ "type": "286"
+ },
+ {
+ "case": "iscsi",
+ "type": "287"
+ },
+ {
+ "case": "luks",
+ "type": "288"
+ },
+ {
+ "case": "nbd",
+ "type": "289"
+ },
+ {
+ "case": "nfs",
+ "type": "290"
+ },
+ {
+ "case": "null-aio",
+ "type": "291"
+ },
+ {
+ "case": "null-co",
+ "type": "291"
+ },
+ {
+ "case": "nvme",
+ "type": "292"
+ },
+ {
+ "case": "parallels",
+ "type": "278"
+ },
+ {
+ "case": "preallocate",
+ "type": "293"
+ },
+ {
+ "case": "qcow2",
+ "type": "294"
+ },
+ {
+ "case": "qcow",
+ "type": "295"
+ },
+ {
+ "case": "qed",
+ "type": "296"
+ },
+ {
+ "case": "quorum",
+ "type": "297"
+ },
+ {
+ "case": "raw",
+ "type": "298"
+ },
+ {
+ "case": "rbd",
+ "type": "299"
+ },
+ {
+ "case": "replication",
+ "type": "300"
+ },
+ {
+ "case": "snapshot-access",
+ "type": "278"
+ },
+ {
+ "case": "ssh",
+ "type": "301"
+ },
+ {
+ "case": "throttle",
+ "type": "302"
+ },
+ {
+ "case": "vdi",
+ "type": "278"
+ },
+ {
+ "case": "vhdx",
+ "type": "278"
+ },
+ {
+ "case": "vmdk",
+ "type": "296"
+ },
+ {
+ "case": "vpc",
+ "type": "278"
+ },
+ {
+ "case": "vvfat",
+ "type": "303"
+ }
+ ],
+ "members": [
+ {
+ "name": "driver",
+ "type": "271"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "discard",
+ "default": null,
+ "type": "272"
+ },
+ {
+ "name": "cache",
+ "default": null,
+ "type": "273"
+ },
+ {
+ "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": "263"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "50",
+ "members": [
+ {
+ "name": "options",
+ "type": "[49]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "51",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "52",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "304"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "53",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "options",
+ "type": "305"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "54",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "msg",
+ "type": "str"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "fatal",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "55",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "306"
+ },
+ {
+ "name": "action",
+ "type": "307"
+ },
+ {
+ "name": "nospace",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reason",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "56",
+ "members": [
+ {
+ "name": "type",
+ "type": "308"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "57",
+ "members": [
+ {
+ "name": "type",
+ "type": "308"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "58",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "operation",
+ "type": "306"
+ },
+ {
+ "name": "action",
+ "type": "307"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "59",
+ "members": [
+ {
+ "name": "type",
+ "type": "308"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "len",
+ "type": "int"
+ },
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "60",
+ "members": [
+ {
+ "name": "type",
+ "type": "308"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "61",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "amount-exceeded",
+ "type": "int"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "62",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "write-threshold",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "63",
+ "members": [
+ {
+ "name": "parent",
+ "type": "str"
+ },
+ {
+ "name": "child",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "64",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "iothread",
+ "type": "309"
+ },
+ {
+ "name": "force",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "65",
+ "members": [
+ {
+ "name": "reference",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "66",
+ "members": [
+ {
+ "name": "type",
+ "type": "310"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "sector-num",
+ "type": "int"
+ },
+ {
+ "name": "sectors-count",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "67",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "68",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "69",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "vm-state-size",
+ "type": "int"
+ },
+ {
+ "name": "date-sec",
+ "type": "int"
+ },
+ {
+ "name": "date-nsec",
+ "type": "int"
+ },
+ {
+ "name": "vm-clock-sec",
+ "type": "int"
+ },
+ {
+ "name": "vm-clock-nsec",
+ "type": "int"
+ },
+ {
+ "name": "icount",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "70",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "status",
+ "type": "257"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "71",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "72",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "73",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "74",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "75",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "76",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[77]",
+ "element-type": "77",
+ "meta-type": "array"
+ },
+ {
+ "name": "77",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "308"
+ },
+ {
+ "name": "status",
+ "type": "257"
+ },
+ {
+ "name": "current-progress",
+ "type": "int"
+ },
+ {
+ "name": "total-progress",
+ "type": "int"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "78",
+ "members": [
+ {
+ "name": "addr",
+ "type": "311"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "max-connections",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "79",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "writable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "80",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "312"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "81",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nbd",
+ "type": "314"
+ },
+ {
+ "case": "vhost-user-blk",
+ "type": "315"
+ },
+ {
+ "case": "fuse",
+ "type": "316"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "313"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "fixed-iothread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "writable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "writethrough",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "82",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "312"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "83",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[84]",
+ "element-type": "84",
+ "meta-type": "array"
+ },
+ {
+ "name": "84",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "313"
+ },
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "shutting-down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[85]",
+ "element-type": "85",
+ "meta-type": "array"
+ },
+ {
+ "name": "85",
+ "members": [
+ {
+ "name": "label",
+ "type": "str"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "frontend-open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[86]",
+ "element-type": "86",
+ "meta-type": "array"
+ },
+ {
+ "name": "86",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "87",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "data",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "317"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "88",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "317"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "str",
+ "json-type": "string",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "89",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "318"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "90",
+ "members": [
+ {
+ "name": "pty",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "91",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "backend",
+ "type": "318"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "92",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "93",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "94",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "open",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "95",
+ "members": [
+ {
+ "name": "paging",
+ "type": "bool"
+ },
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "begin",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "length",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "319"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "96",
+ "members": [
+ {
+ "name": "status",
+ "type": "320"
+ },
+ {
+ "name": "completed",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "97",
+ "members": [
+ {
+ "name": "result",
+ "type": "96"
+ },
+ {
+ "name": "error",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "98",
+ "members": [
+ {
+ "name": "formats",
+ "type": "[319]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "99",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "up",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "100",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "nic",
+ "type": "322"
+ },
+ {
+ "case": "user",
+ "type": "323"
+ },
+ {
+ "case": "tap",
+ "type": "324"
+ },
+ {
+ "case": "l2tpv3",
+ "type": "325"
+ },
+ {
+ "case": "socket",
+ "type": "326"
+ },
+ {
+ "case": "vde",
+ "type": "327"
+ },
+ {
+ "case": "bridge",
+ "type": "328"
+ },
+ {
+ "case": "hubport",
+ "type": "329"
+ },
+ {
+ "case": "netmap",
+ "type": "330"
+ },
+ {
+ "case": "vhost-user",
+ "type": "331"
+ },
+ {
+ "case": "vhost-vdpa",
+ "type": "332"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "321"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "101",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "102",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[103]",
+ "element-type": "103",
+ "meta-type": "array"
+ },
+ {
+ "name": "103",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "promiscuous",
+ "type": "bool"
+ },
+ {
+ "name": "multicast",
+ "type": "333"
+ },
+ {
+ "name": "unicast",
+ "type": "333"
+ },
+ {
+ "name": "vlan",
+ "type": "333"
+ },
+ {
+ "name": "broadcast-allowed",
+ "type": "bool"
+ },
+ {
+ "name": "multicast-overflow",
+ "type": "bool"
+ },
+ {
+ "name": "unicast-overflow",
+ "type": "bool"
+ },
+ {
+ "name": "main-mac",
+ "type": "str"
+ },
+ {
+ "name": "vlan-table",
+ "type": "[int]"
+ },
+ {
+ "name": "unicast-table",
+ "type": "[str]"
+ },
+ {
+ "name": "multicast-table",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "104",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "105",
+ "members": [
+ {
+ "name": "initial",
+ "type": "int"
+ },
+ {
+ "name": "max",
+ "type": "int"
+ },
+ {
+ "name": "rounds",
+ "type": "int"
+ },
+ {
+ "name": "step",
+ "type": "int"
+ },
+ {
+ "name": "interfaces",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "106",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "107",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "gid-status",
+ "type": "bool"
+ },
+ {
+ "name": "subnet-prefix",
+ "type": "int"
+ },
+ {
+ "name": "interface-id",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "108",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "109",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "ports",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "110",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[111]",
+ "element-type": "111",
+ "meta-type": "array"
+ },
+ {
+ "name": "111",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "link-up",
+ "type": "bool"
+ },
+ {
+ "name": "speed",
+ "type": "int"
+ },
+ {
+ "name": "duplex",
+ "type": "334"
+ },
+ {
+ "name": "autoneg",
+ "type": "335"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "112",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "tbl-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[113]",
+ "element-type": "113",
+ "meta-type": "array"
+ },
+ {
+ "name": "113",
+ "members": [
+ {
+ "name": "cookie",
+ "type": "int"
+ },
+ {
+ "name": "hits",
+ "type": "int"
+ },
+ {
+ "name": "key",
+ "type": "336"
+ },
+ {
+ "name": "mask",
+ "type": "337"
+ },
+ {
+ "name": "action",
+ "type": "338"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "114",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[115]",
+ "element-type": "115",
+ "meta-type": "array"
+ },
+ {
+ "name": "115",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "int"
+ },
+ {
+ "name": "vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "index",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "out-pport",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "set-vlan-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "pop-vlan",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "group-ids",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "set-eth-src",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "set-eth-dst",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "ttl-check",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[116]",
+ "element-type": "116",
+ "meta-type": "array"
+ },
+ {
+ "name": "116",
+ "members": [
+ {
+ "name": "tpm-tis"
+ },
+ {
+ "name": "tpm-crb"
+ },
+ {
+ "name": "tpm-spapr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tpm-tis",
+ "tpm-crb",
+ "tpm-spapr"
+ ]
+ },
+ {
+ "name": "[117]",
+ "element-type": "117",
+ "meta-type": "array"
+ },
+ {
+ "name": "117",
+ "members": [
+ {
+ "name": "passthrough"
+ },
+ {
+ "name": "emulator"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "passthrough",
+ "emulator"
+ ]
+ },
+ {
+ "name": "[118]",
+ "element-type": "118",
+ "meta-type": "array"
+ },
+ {
+ "name": "118",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "model",
+ "type": "116"
+ },
+ {
+ "name": "options",
+ "type": "339"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "119",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "342"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "340"
+ },
+ {
+ "name": "password",
+ "type": "str"
+ },
+ {
+ "name": "connected",
+ "default": null,
+ "type": "341"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "120",
+ "tag": "protocol",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "343"
+ },
+ {
+ "case": "spice",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "protocol",
+ "type": "340"
+ },
+ {
+ "name": "time",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "121",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "344"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "122",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "migrated",
+ "type": "bool"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "compiled-version",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "mouse-mode",
+ "type": "345"
+ },
+ {
+ "name": "channels",
+ "default": null,
+ "type": "[346]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "123",
+ "members": [
+ {
+ "name": "server",
+ "type": "347"
+ },
+ {
+ "name": "client",
+ "type": "347"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "124",
+ "members": [
+ {
+ "name": "server",
+ "type": "348"
+ },
+ {
+ "name": "client",
+ "type": "346"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "125",
+ "members": [
+ {
+ "name": "server",
+ "type": "347"
+ },
+ {
+ "name": "client",
+ "type": "347"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "126",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "host",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "default": null,
+ "type": "349"
+ },
+ {
+ "name": "service",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "clients",
+ "default": null,
+ "type": "[350]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[127]",
+ "element-type": "127",
+ "meta-type": "array"
+ },
+ {
+ "name": "127",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[351]"
+ },
+ {
+ "name": "clients",
+ "type": "[350]"
+ },
+ {
+ "name": "auth",
+ "type": "352"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "353"
+ },
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "128",
+ "members": [
+ {
+ "name": "password",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "129",
+ "members": [
+ {
+ "name": "server",
+ "type": "354"
+ },
+ {
+ "name": "client",
+ "type": "355"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "130",
+ "members": [
+ {
+ "name": "server",
+ "type": "354"
+ },
+ {
+ "name": "client",
+ "type": "350"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "131",
+ "members": [
+ {
+ "name": "server",
+ "type": "354"
+ },
+ {
+ "name": "client",
+ "type": "350"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[132]",
+ "element-type": "132",
+ "meta-type": "array"
+ },
+ {
+ "name": "132",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "name": "current",
+ "type": "bool"
+ },
+ {
+ "name": "absolute",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "133",
+ "members": [
+ {
+ "name": "keys",
+ "type": "[356]"
+ },
+ {
+ "name": "hold-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "134",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "head",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "events",
+ "type": "[357]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "135",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "curses",
+ "type": "362"
+ },
+ {
+ "case": "egl-headless",
+ "type": "363"
+ },
+ {
+ "case": "dbus",
+ "type": "364"
+ },
+ {
+ "case": "default",
+ "type": "0"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ },
+ {
+ "case": "sdl",
+ "type": "0"
+ },
+ {
+ "case": "spice-app",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "358"
+ },
+ {
+ "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": "359"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "136",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "366"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "365"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "137",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "vnc",
+ "type": "368"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "367"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "138",
+ "members": [
+ {
+ "name": "status",
+ "default": null,
+ "type": "369"
+ },
+ {
+ "name": "ram",
+ "default": null,
+ "type": "370"
+ },
+ {
+ "name": "disk",
+ "default": null,
+ "type": "370"
+ },
+ {
+ "name": "vfio",
+ "default": null,
+ "type": "371"
+ },
+ {
+ "name": "xbzrle-cache",
+ "default": null,
+ "type": "372"
+ },
+ {
+ "name": "total-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "expected-downtime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "setup-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-percentage",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "error-desc",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "blocked-reasons",
+ "default": null,
+ "type": "[str]"
+ },
+ {
+ "name": "postcopy-blocktime",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "postcopy-vcpu-blocktime",
+ "default": null,
+ "type": "[int]"
+ },
+ {
+ "name": "compression",
+ "default": null,
+ "type": "373"
+ },
+ {
+ "name": "socket-address",
+ "default": null,
+ "type": "[374]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "139",
+ "members": [
+ {
+ "name": "capabilities",
+ "type": "[140]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[140]",
+ "element-type": "140",
+ "meta-type": "array"
+ },
+ {
+ "name": "140",
+ "members": [
+ {
+ "name": "capability",
+ "type": "375"
+ },
+ {
+ "name": "state",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "141",
+ "members": [
+ {
+ "name": "announce-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-rounds",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-step",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-wait-thread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-trigger-threshold",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "309"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "309"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "309"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-postcopy-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-cpu-throttle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-compression",
+ "default": null,
+ "type": "376"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[377]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "142",
+ "members": [
+ {
+ "name": "announce-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-max",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-rounds",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "announce-step",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compress-wait-thread",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "decompress-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "throttle-trigger-threshold",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-initial",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-increment",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-hostname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "max-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "downtime-limit",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "x-checkpoint-delay",
+ "default": null,
+ "type": "int",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "block-incremental",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "multifd-channels",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "xbzrle-cache-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-postcopy-bandwidth",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-cpu-throttle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-compression",
+ "default": null,
+ "type": "376"
+ },
+ {
+ "name": "multifd-zlib-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "multifd-zstd-level",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-bitmap-mapping",
+ "default": null,
+ "type": "[377]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "143",
+ "members": [
+ {
+ "name": "protocol",
+ "type": "str"
+ },
+ {
+ "name": "hostname",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "tls-port",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cert-subject",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "144",
+ "members": [
+ {
+ "name": "status",
+ "type": "369"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "145",
+ "members": [
+ {
+ "name": "pass",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "146",
+ "members": [
+ {
+ "name": "mode",
+ "type": "378"
+ },
+ {
+ "name": "reason",
+ "type": "379"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "147",
+ "members": [
+ {
+ "name": "state",
+ "type": "369"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "148",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ },
+ {
+ "name": "blk",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "inc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "detach",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "resume",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "149",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "150",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "live",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "151",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "152",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "153",
+ "members": [
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "primary",
+ "type": "bool"
+ },
+ {
+ "name": "failover",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "154",
+ "members": [
+ {
+ "name": "error",
+ "type": "bool"
+ },
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "155",
+ "members": [
+ {
+ "name": "mode",
+ "type": "378"
+ },
+ {
+ "name": "last-mode",
+ "type": "378"
+ },
+ {
+ "name": "reason",
+ "type": "379"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "156",
+ "members": [
+ {
+ "name": "uri",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "157",
+ "members": [
+ {
+ "name": "device-id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "158",
+ "members": [
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "sample-pages",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "default": null,
+ "type": "380"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "159",
+ "members": [
+ {
+ "name": "dirty-rate",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "381"
+ },
+ {
+ "name": "start-time",
+ "type": "int"
+ },
+ {
+ "name": "calc-time",
+ "type": "int"
+ },
+ {
+ "name": "sample-pages",
+ "type": "int"
+ },
+ {
+ "name": "mode",
+ "type": "380"
+ },
+ {
+ "name": "vcpu-dirty-rate",
+ "default": null,
+ "type": "[382]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "160",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "161",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "vmstate",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "162",
+ "members": [
+ {
+ "name": "job-id",
+ "type": "str"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "name": "devices",
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "163",
+ "members": [
+ {
+ "name": "actions",
+ "type": "[383]"
+ },
+ {
+ "name": "properties",
+ "default": null,
+ "type": "384"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "164",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "vcpu",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[165]",
+ "element-type": "165",
+ "meta-type": "array"
+ },
+ {
+ "name": "165",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "state",
+ "type": "385"
+ },
+ {
+ "name": "vcpu",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "166",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "enable",
+ "type": "bool"
+ },
+ {
+ "name": "ignore-unavailable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "vcpu",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "167",
+ "members": [
+ {
+ "name": "enable",
+ "default": null,
+ "type": "[386]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "168",
+ "members": [
+ {
+ "name": "qemu",
+ "type": "387"
+ },
+ {
+ "name": "package",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[169]",
+ "element-type": "169",
+ "meta-type": "array"
+ },
+ {
+ "name": "169",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[170]",
+ "element-type": "170",
+ "meta-type": "array"
+ },
+ {
+ "name": "170",
+ "tag": "meta-type",
+ "variants": [
+ {
+ "case": "builtin",
+ "type": "389"
+ },
+ {
+ "case": "enum",
+ "type": "390"
+ },
+ {
+ "case": "array",
+ "type": "391"
+ },
+ {
+ "case": "object",
+ "type": "392"
+ },
+ {
+ "case": "alternate",
+ "type": "393"
+ },
+ {
+ "case": "command",
+ "type": "394"
+ },
+ {
+ "case": "event",
+ "type": "395"
+ }
+ ],
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "meta-type",
+ "type": "388"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "171",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[172]",
+ "element-type": "172",
+ "meta-type": "array"
+ },
+ {
+ "name": "172",
+ "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": "173",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "any",
+ "json-type": "value",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "174",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "property",
+ "type": "str"
+ },
+ {
+ "name": "value",
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "175",
+ "members": [
+ {
+ "name": "implements",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[176]",
+ "element-type": "176",
+ "meta-type": "array"
+ },
+ {
+ "name": "176",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "parent",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "177",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "178",
+ "tag": "qom-type",
+ "variants": [
+ {
+ "case": "authz-list",
+ "type": "397"
+ },
+ {
+ "case": "authz-listfile",
+ "type": "398"
+ },
+ {
+ "case": "authz-pam",
+ "type": "399"
+ },
+ {
+ "case": "authz-simple",
+ "type": "400"
+ },
+ {
+ "case": "can-host-socketcan",
+ "type": "401"
+ },
+ {
+ "case": "colo-compare",
+ "type": "402"
+ },
+ {
+ "case": "cryptodev-backend",
+ "type": "403"
+ },
+ {
+ "case": "cryptodev-backend-builtin",
+ "type": "403"
+ },
+ {
+ "case": "cryptodev-vhost-user",
+ "type": "404"
+ },
+ {
+ "case": "dbus-vmstate",
+ "type": "405"
+ },
+ {
+ "case": "filter-buffer",
+ "type": "406"
+ },
+ {
+ "case": "filter-dump",
+ "type": "407"
+ },
+ {
+ "case": "filter-mirror",
+ "type": "408"
+ },
+ {
+ "case": "filter-redirector",
+ "type": "409"
+ },
+ {
+ "case": "filter-replay",
+ "type": "410"
+ },
+ {
+ "case": "filter-rewriter",
+ "type": "411"
+ },
+ {
+ "case": "input-barrier",
+ "type": "412"
+ },
+ {
+ "case": "input-linux",
+ "type": "413"
+ },
+ {
+ "case": "iothread",
+ "type": "414"
+ },
+ {
+ "case": "main-loop",
+ "type": "415"
+ },
+ {
+ "case": "memory-backend-epc",
+ "type": "416"
+ },
+ {
+ "case": "memory-backend-file",
+ "type": "417"
+ },
+ {
+ "case": "memory-backend-memfd",
+ "type": "418"
+ },
+ {
+ "case": "memory-backend-ram",
+ "type": "419"
+ },
+ {
+ "case": "pr-manager-helper",
+ "type": "420"
+ },
+ {
+ "case": "qtest",
+ "type": "421"
+ },
+ {
+ "case": "rng-builtin",
+ "type": "422"
+ },
+ {
+ "case": "rng-egd",
+ "type": "423"
+ },
+ {
+ "case": "rng-random",
+ "type": "424"
+ },
+ {
+ "case": "secret",
+ "type": "425"
+ },
+ {
+ "case": "secret_keyring",
+ "type": "426"
+ },
+ {
+ "case": "sev-guest",
+ "type": "427"
+ },
+ {
+ "case": "throttle-group",
+ "type": "428"
+ },
+ {
+ "case": "tls-creds-anon",
+ "type": "429"
+ },
+ {
+ "case": "tls-creds-psk",
+ "type": "430"
+ },
+ {
+ "case": "tls-creds-x509",
+ "type": "431"
+ },
+ {
+ "case": "tls-cipher-suites",
+ "type": "432"
+ },
+ {
+ "case": "x-remote-object",
+ "type": "433"
+ },
+ {
+ "case": "can-bus",
+ "type": "0"
+ },
+ {
+ "case": "pef-guest",
+ "type": "0"
+ },
+ {
+ "case": "s390-pv-guest",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "qom-type",
+ "type": "396"
+ },
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "179",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "180",
+ "members": [
+ {
+ "name": "typename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "181",
+ "members": [
+ {
+ "name": "driver",
+ "type": "str"
+ },
+ {
+ "name": "bus",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "182",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "183",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "184",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[185]",
+ "element-type": "185",
+ "meta-type": "array"
+ },
+ {
+ "name": "185",
+ "tag": "target",
+ "variants": [
+ {
+ "case": "s390x",
+ "type": "436"
+ },
+ {
+ "case": "aarch64",
+ "type": "0"
+ },
+ {
+ "case": "alpha",
+ "type": "0"
+ },
+ {
+ "case": "arm",
+ "type": "0"
+ },
+ {
+ "case": "avr",
+ "type": "0"
+ },
+ {
+ "case": "cris",
+ "type": "0"
+ },
+ {
+ "case": "hppa",
+ "type": "0"
+ },
+ {
+ "case": "i386",
+ "type": "0"
+ },
+ {
+ "case": "m68k",
+ "type": "0"
+ },
+ {
+ "case": "microblaze",
+ "type": "0"
+ },
+ {
+ "case": "microblazeel",
+ "type": "0"
+ },
+ {
+ "case": "mips",
+ "type": "0"
+ },
+ {
+ "case": "mips64",
+ "type": "0"
+ },
+ {
+ "case": "mips64el",
+ "type": "0"
+ },
+ {
+ "case": "mipsel",
+ "type": "0"
+ },
+ {
+ "case": "nios2",
+ "type": "0"
+ },
+ {
+ "case": "or1k",
+ "type": "0"
+ },
+ {
+ "case": "ppc",
+ "type": "0"
+ },
+ {
+ "case": "ppc64",
+ "type": "0"
+ },
+ {
+ "case": "riscv32",
+ "type": "0"
+ },
+ {
+ "case": "riscv64",
+ "type": "0"
+ },
+ {
+ "case": "rx",
+ "type": "0"
+ },
+ {
+ "case": "sh4",
+ "type": "0"
+ },
+ {
+ "case": "sh4eb",
+ "type": "0"
+ },
+ {
+ "case": "sparc",
+ "type": "0"
+ },
+ {
+ "case": "sparc64",
+ "type": "0"
+ },
+ {
+ "case": "tricore",
+ "type": "0"
+ },
+ {
+ "case": "x86_64",
+ "type": "0"
+ },
+ {
+ "case": "xtensa",
+ "type": "0"
+ },
+ {
+ "case": "xtensaeb",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "cpu-index",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ },
+ {
+ "name": "thread-id",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "434"
+ },
+ {
+ "name": "target",
+ "type": "435"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[186]",
+ "element-type": "186",
+ "meta-type": "array"
+ },
+ {
+ "name": "186",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "is-default",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "cpu-max",
+ "type": "int"
+ },
+ {
+ "name": "hotpluggable-cpus",
+ "type": "bool"
+ },
+ {
+ "name": "numa-mem-supported",
+ "type": "bool"
+ },
+ {
+ "name": "deprecated",
+ "type": "bool"
+ },
+ {
+ "name": "default-cpu-type",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default-ram-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "187",
+ "members": [
+ {
+ "name": "wakeup-suspend-support",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "188",
+ "members": [
+ {
+ "name": "arch",
+ "type": "435"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "189",
+ "members": [
+ {
+ "name": "UUID",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "190",
+ "members": [
+ {
+ "name": "guid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "191",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "present",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "192",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "193",
+ "members": [
+ {
+ "name": "val",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "filename",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[194]",
+ "element-type": "194",
+ "meta-type": "array"
+ },
+ {
+ "name": "194",
+ "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": "437"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[195]",
+ "element-type": "195",
+ "meta-type": "array"
+ },
+ {
+ "name": "195",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ },
+ {
+ "name": "vcpus-count",
+ "type": "int"
+ },
+ {
+ "name": "props",
+ "type": "434"
+ },
+ {
+ "name": "qom-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "196",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "node",
+ "type": "439"
+ },
+ {
+ "case": "dist",
+ "type": "440"
+ },
+ {
+ "case": "cpu",
+ "type": "441"
+ },
+ {
+ "case": "hmat-lb",
+ "type": "442"
+ },
+ {
+ "case": "hmat-cache",
+ "type": "443"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "438"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "197",
+ "members": [
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "198",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "199",
+ "members": [
+ {
+ "name": "actual",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "200",
+ "members": [
+ {
+ "name": "base-memory",
+ "type": "int"
+ },
+ {
+ "name": "plugged-memory",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[201]",
+ "element-type": "201",
+ "meta-type": "array"
+ },
+ {
+ "name": "201",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "dimm",
+ "type": "445"
+ },
+ {
+ "case": "nvdimm",
+ "type": "445"
+ },
+ {
+ "case": "virtio-pmem",
+ "type": "446"
+ },
+ {
+ "case": "virtio-mem",
+ "type": "447"
+ },
+ {
+ "case": "sgx-epc",
+ "type": "448"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "444"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "202",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "203",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "msg",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "204",
+ "members": [
+ {
+ "name": "human-readable-text",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "209",
+ "members": [
+ {
+ "name": "type",
+ "type": "451"
+ },
+ {
+ "name": "model",
+ "type": "449"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "210",
+ "members": [
+ {
+ "name": "model",
+ "type": "449"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[211]",
+ "element-type": "211",
+ "meta-type": "array"
+ },
+ {
+ "name": "211",
+ "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": "212",
+ "members": [
+ {
+ "name": "mode",
+ "type": "452"
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "213",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "214",
+ "members": [
+ {
+ "name": "icount",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "215",
+ "members": [
+ {
+ "name": "instances",
+ "type": "[216]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[216]",
+ "element-type": "216",
+ "meta-type": "array"
+ },
+ {
+ "name": "216",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "block-node",
+ "type": "454"
+ },
+ {
+ "case": "chardev",
+ "type": "455"
+ },
+ {
+ "case": "migration",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "453"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "217",
+ "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": "218",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[219]",
+ "element-type": "219",
+ "meta-type": "array"
+ },
+ {
+ "name": "219",
+ "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": "220",
+ "members": [
+ {
+ "name": "command-line",
+ "type": "str"
+ },
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "221",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "222",
+ "members": [
+ {
+ "name": "fdname",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "223",
+ "members": [
+ {
+ "name": "fdset-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "224",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "225",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fd",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[226]",
+ "element-type": "226",
+ "meta-type": "array"
+ },
+ {
+ "name": "226",
+ "members": [
+ {
+ "name": "fdset-id",
+ "type": "int"
+ },
+ {
+ "name": "fds",
+ "type": "[456]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "227",
+ "members": [
+ {
+ "name": "option",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[228]",
+ "element-type": "228",
+ "meta-type": "array"
+ },
+ {
+ "name": "228",
+ "members": [
+ {
+ "name": "option",
+ "type": "str"
+ },
+ {
+ "name": "parameters",
+ "type": "[457]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "229",
+ "members": [
+ {
+ "name": "offset",
+ "type": "int"
+ },
+ {
+ "name": "qom-path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "230",
+ "members": [
+ {
+ "name": "enabled",
+ "type": "bool"
+ },
+ {
+ "name": "api-major",
+ "type": "int"
+ },
+ {
+ "name": "api-minor",
+ "type": "int"
+ },
+ {
+ "name": "build-id",
+ "type": "int"
+ },
+ {
+ "name": "policy",
+ "type": "int"
+ },
+ {
+ "name": "state",
+ "type": "458"
+ },
+ {
+ "name": "handle",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "231",
+ "members": [
+ {
+ "name": "data",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "232",
+ "members": [
+ {
+ "name": "pdh",
+ "type": "str"
+ },
+ {
+ "name": "cert-chain",
+ "type": "str"
+ },
+ {
+ "name": "cpu0-id",
+ "type": "str"
+ },
+ {
+ "name": "cbitpos",
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "233",
+ "members": [
+ {
+ "name": "packet-header",
+ "type": "str"
+ },
+ {
+ "name": "secret",
+ "type": "str"
+ },
+ {
+ "name": "gpa",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "234",
+ "members": [
+ {
+ "name": "mnonce",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "235",
+ "members": [
+ {
+ "name": "data",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "238",
+ "members": [
+ {
+ "name": "sgx",
+ "type": "bool"
+ },
+ {
+ "name": "sgx1",
+ "type": "bool"
+ },
+ {
+ "name": "sgx2",
+ "type": "bool"
+ },
+ {
+ "name": "flc",
+ "type": "bool"
+ },
+ {
+ "name": "section-size",
+ "type": "int",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "sections",
+ "type": "[459]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[239]",
+ "element-type": "239",
+ "meta-type": "array"
+ },
+ {
+ "name": "239",
+ "members": [
+ {
+ "name": "device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "slot",
+ "type": "str"
+ },
+ {
+ "name": "slot-type",
+ "type": "460"
+ },
+ {
+ "name": "source",
+ "type": "int"
+ },
+ {
+ "name": "status",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "240",
+ "members": [
+ {
+ "name": "info",
+ "type": "239"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[241]",
+ "element-type": "241",
+ "meta-type": "array"
+ },
+ {
+ "name": "241",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "devices",
+ "type": "[461]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "bool",
+ "json-type": "boolean",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "242",
+ "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": "243",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "host-error"
+ },
+ {
+ "name": "host-qmp-quit"
+ },
+ {
+ "name": "host-qmp-system-reset"
+ },
+ {
+ "name": "host-signal"
+ },
+ {
+ "name": "host-ui"
+ },
+ {
+ "name": "guest-shutdown"
+ },
+ {
+ "name": "guest-reset"
+ },
+ {
+ "name": "guest-panic"
+ },
+ {
+ "name": "subsystem-reset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "host-error",
+ "host-qmp-quit",
+ "host-qmp-system-reset",
+ "host-signal",
+ "host-ui",
+ "guest-shutdown",
+ "guest-reset",
+ "guest-panic",
+ "subsystem-reset"
+ ]
+ },
+ {
+ "name": "244",
+ "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": "245",
+ "members": [
+ {
+ "name": "reset"
+ },
+ {
+ "name": "shutdown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "reset",
+ "shutdown"
+ ]
+ },
+ {
+ "name": "246",
+ "members": [
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "pause"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "poweroff",
+ "pause"
+ ]
+ },
+ {
+ "name": "247",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "shutdown"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "shutdown",
+ "none"
+ ]
+ },
+ {
+ "name": "248",
+ "members": [
+ {
+ "name": "pause"
+ },
+ {
+ "name": "poweroff"
+ },
+ {
+ "name": "run"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "pause",
+ "poweroff",
+ "run"
+ ]
+ },
+ {
+ "name": "249",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "hyper-v",
+ "type": "463"
+ },
+ {
+ "case": "s390",
+ "type": "464"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "462"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "250",
+ "members": [
+ {
+ "name": "hypervisor"
+ },
+ {
+ "name": "guest"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hypervisor",
+ "guest"
+ ]
+ },
+ {
+ "name": "251",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "inject"
+ },
+ {
+ "name": "fatal"
+ },
+ {
+ "name": "reset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "inject",
+ "fatal",
+ "reset"
+ ]
+ },
+ {
+ "name": "252",
+ "members": [
+ {
+ "name": "action-required",
+ "type": "bool"
+ },
+ {
+ "name": "recursive",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "253",
+ "members": [
+ {
+ "name": "retain"
+ },
+ {
+ "name": "read-only"
+ },
+ {
+ "name": "read-write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "retain",
+ "read-only",
+ "read-write"
+ ]
+ },
+ {
+ "name": "int",
+ "json-type": "int",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "[int]",
+ "element-type": "int",
+ "meta-type": "array"
+ },
+ {
+ "name": "254",
+ "members": [
+ {
+ "name": "ok"
+ },
+ {
+ "name": "failed"
+ },
+ {
+ "name": "nospace"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ok",
+ "failed",
+ "nospace"
+ ]
+ },
+ {
+ "name": "255",
+ "members": [
+ {
+ "name": "rd_bytes",
+ "type": "int"
+ },
+ {
+ "name": "wr_bytes",
+ "type": "int"
+ },
+ {
+ "name": "unmap_bytes",
+ "type": "int"
+ },
+ {
+ "name": "rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "rd_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "flush_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "unmap_total_time_ns",
+ "type": "int"
+ },
+ {
+ "name": "wr_highest_offset",
+ "type": "int"
+ },
+ {
+ "name": "rd_merged",
+ "type": "int"
+ },
+ {
+ "name": "wr_merged",
+ "type": "int"
+ },
+ {
+ "name": "unmap_merged",
+ "type": "int"
+ },
+ {
+ "name": "idle_time_ns",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "failed_rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "failed_wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "failed_flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "failed_unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_rd_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_wr_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_flush_operations",
+ "type": "int"
+ },
+ {
+ "name": "invalid_unmap_operations",
+ "type": "int"
+ },
+ {
+ "name": "account_invalid",
+ "type": "bool"
+ },
+ {
+ "name": "account_failed",
+ "type": "bool"
+ },
+ {
+ "name": "timed_stats",
+ "type": "[465]"
+ },
+ {
+ "name": "rd_latency_histogram",
+ "default": null,
+ "type": "466"
+ },
+ {
+ "name": "wr_latency_histogram",
+ "default": null,
+ "type": "466"
+ },
+ {
+ "name": "flush_latency_histogram",
+ "default": null,
+ "type": "466"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "256",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "467"
+ },
+ {
+ "case": "host_device",
+ "type": "467"
+ },
+ {
+ "case": "nvme",
+ "type": "468"
+ },
+ {
+ "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": "271"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "257",
+ "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": "258",
+ "members": [
+ {
+ "name": "existing"
+ },
+ {
+ "name": "absolute-paths"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "existing",
+ "absolute-paths"
+ ]
+ },
+ {
+ "name": "259",
+ "members": [
+ {
+ "name": "report"
+ },
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "enospc"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "report",
+ "ignore",
+ "enospc",
+ "stop",
+ "auto"
+ ]
+ },
+ {
+ "name": "260",
+ "members": [
+ {
+ "name": "top"
+ },
+ {
+ "name": "full"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "incremental"
+ },
+ {
+ "name": "bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "top",
+ "full",
+ "none",
+ "incremental",
+ "bitmap"
+ ]
+ },
+ {
+ "name": "261",
+ "members": [
+ {
+ "name": "on-success"
+ },
+ {
+ "name": "never"
+ },
+ {
+ "name": "always"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "on-success",
+ "never",
+ "always"
+ ]
+ },
+ {
+ "name": "262",
+ "members": [
+ {
+ "name": "use-copy-range",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "max-workers",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "max-chunk",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "263",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "unmap"
+ ]
+ },
+ {
+ "name": "264",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "format",
+ "type": "str"
+ },
+ {
+ "name": "dirty-flag",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "actual-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "virtual-size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "compressed",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "backing-filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "full-backing-filename",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-filename-format",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "snapshots",
+ "default": null,
+ "type": "[69]"
+ },
+ {
+ "name": "backing-image",
+ "default": null,
+ "type": "264"
+ },
+ {
+ "name": "format-specific",
+ "default": null,
+ "type": "469"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "265",
+ "members": [
+ {
+ "name": "writeback",
+ "type": "bool"
+ },
+ {
+ "name": "direct",
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[266]",
+ "element-type": "266",
+ "meta-type": "array"
+ },
+ {
+ "name": "266",
+ "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": "[267]",
+ "element-type": "267",
+ "meta-type": "array"
+ },
+ {
+ "name": "267",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "type",
+ "type": "470"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[268]",
+ "element-type": "268",
+ "meta-type": "array"
+ },
+ {
+ "name": "268",
+ "members": [
+ {
+ "name": "parent",
+ "type": "int"
+ },
+ {
+ "name": "child",
+ "type": "int"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "perm",
+ "type": "[471]"
+ },
+ {
+ "name": "shared-perm",
+ "type": "[471]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "269",
+ "members": [
+ {
+ "name": "background"
+ },
+ {
+ "name": "write-blocking"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "background",
+ "write-blocking"
+ ]
+ },
+ {
+ "name": "[270]",
+ "element-type": "270",
+ "meta-type": "array"
+ },
+ {
+ "name": "270",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "37"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "271",
+ "members": [
+ {
+ "name": "blkdebug"
+ },
+ {
+ "name": "blklogwrites"
+ },
+ {
+ "name": "blkreplay"
+ },
+ {
+ "name": "blkverify"
+ },
+ {
+ "name": "bochs"
+ },
+ {
+ "name": "cloop"
+ },
+ {
+ "name": "compress"
+ },
+ {
+ "name": "copy-before-write"
+ },
+ {
+ "name": "copy-on-read"
+ },
+ {
+ "name": "dmg"
+ },
+ {
+ "name": "file"
+ },
+ {
+ "name": "snapshot-access"
+ },
+ {
+ "name": "ftp"
+ },
+ {
+ "name": "ftps"
+ },
+ {
+ "name": "gluster"
+ },
+ {
+ "name": "host_cdrom"
+ },
+ {
+ "name": "host_device"
+ },
+ {
+ "name": "http"
+ },
+ {
+ "name": "https"
+ },
+ {
+ "name": "iscsi"
+ },
+ {
+ "name": "luks"
+ },
+ {
+ "name": "nbd"
+ },
+ {
+ "name": "nfs"
+ },
+ {
+ "name": "null-aio"
+ },
+ {
+ "name": "null-co"
+ },
+ {
+ "name": "nvme"
+ },
+ {
+ "name": "parallels"
+ },
+ {
+ "name": "preallocate"
+ },
+ {
+ "name": "qcow"
+ },
+ {
+ "name": "qcow2"
+ },
+ {
+ "name": "qed"
+ },
+ {
+ "name": "quorum"
+ },
+ {
+ "name": "raw"
+ },
+ {
+ "name": "rbd"
+ },
+ {
+ "name": "replication"
+ },
+ {
+ "name": "ssh"
+ },
+ {
+ "name": "throttle"
+ },
+ {
+ "name": "vdi"
+ },
+ {
+ "name": "vhdx"
+ },
+ {
+ "name": "vmdk"
+ },
+ {
+ "name": "vpc"
+ },
+ {
+ "name": "vvfat"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "blkdebug",
+ "blklogwrites",
+ "blkreplay",
+ "blkverify",
+ "bochs",
+ "cloop",
+ "compress",
+ "copy-before-write",
+ "copy-on-read",
+ "dmg",
+ "file",
+ "snapshot-access",
+ "ftp",
+ "ftps",
+ "gluster",
+ "host_cdrom",
+ "host_device",
+ "http",
+ "https",
+ "iscsi",
+ "luks",
+ "nbd",
+ "nfs",
+ "null-aio",
+ "null-co",
+ "nvme",
+ "parallels",
+ "preallocate",
+ "qcow",
+ "qcow2",
+ "qed",
+ "quorum",
+ "raw",
+ "rbd",
+ "replication",
+ "ssh",
+ "throttle",
+ "vdi",
+ "vhdx",
+ "vmdk",
+ "vpc",
+ "vvfat"
+ ]
+ },
+ {
+ "name": "272",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "unmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "unmap"
+ ]
+ },
+ {
+ "name": "273",
+ "members": [
+ {
+ "name": "direct",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "no-flush",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "274",
+ "members": [
+ {
+ "name": "image",
+ "type": "472"
+ },
+ {
+ "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": "[473]"
+ },
+ {
+ "name": "set-state",
+ "default": null,
+ "type": "[474]"
+ },
+ {
+ "name": "take-child-perms",
+ "default": null,
+ "type": "[471]"
+ },
+ {
+ "name": "unshare-child-perms",
+ "default": null,
+ "type": "[471]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "275",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "log",
+ "type": "472"
+ },
+ {
+ "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": "276",
+ "members": [
+ {
+ "name": "test",
+ "type": "472"
+ },
+ {
+ "name": "raw",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "277",
+ "members": [
+ {
+ "name": "image",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "278",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "279",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "target",
+ "type": "472"
+ },
+ {
+ "name": "bitmap",
+ "default": null,
+ "type": "37"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "280",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "bottom",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "281",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "pr-manager",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "locking",
+ "default": null,
+ "type": "475"
+ },
+ {
+ "name": "aio",
+ "default": null,
+ "type": "476"
+ },
+ {
+ "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": "282",
+ "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": "283",
+ "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": "284",
+ "members": [
+ {
+ "name": "volume",
+ "type": "str"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "type": "[374]"
+ },
+ {
+ "name": "debug",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "285",
+ "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": "286",
+ "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": "287",
+ "members": [
+ {
+ "name": "transport",
+ "type": "477"
+ },
+ {
+ "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": "478"
+ },
+ {
+ "name": "timeout",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "288",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "289",
+ "members": [
+ {
+ "name": "server",
+ "type": "374"
+ },
+ {
+ "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": "290",
+ "members": [
+ {
+ "name": "server",
+ "type": "479"
+ },
+ {
+ "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": "291",
+ "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": "292",
+ "members": [
+ {
+ "name": "device",
+ "type": "str"
+ },
+ {
+ "name": "namespace",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "293",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "prealloc-align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "prealloc-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "294",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "480"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-request",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-snapshot",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "pass-discard-other",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "overlap-check",
+ "default": null,
+ "type": "481"
+ },
+ {
+ "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": "482"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "295",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "480"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "483"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "296",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "backing",
+ "default": null,
+ "type": "480"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "297",
+ "members": [
+ {
+ "name": "blkverify",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "children",
+ "type": "[472]"
+ },
+ {
+ "name": "vote-threshold",
+ "type": "int"
+ },
+ {
+ "name": "rewrite-corrupted",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "read-pattern",
+ "default": null,
+ "type": "484"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "298",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "offset",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "299",
+ "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": "485"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "auth-client-required",
+ "default": null,
+ "type": "[486]"
+ },
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "[487]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "300",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "mode",
+ "type": "488"
+ },
+ {
+ "name": "top-id",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "301",
+ "members": [
+ {
+ "name": "server",
+ "type": "489"
+ },
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "user",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "host-key-check",
+ "default": null,
+ "type": "490"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "302",
+ "members": [
+ {
+ "name": "throttle-group",
+ "type": "str"
+ },
+ {
+ "name": "file",
+ "type": "472"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "303",
+ "members": [
+ {
+ "name": "dir",
+ "type": "str"
+ },
+ {
+ "name": "fat-type",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "floppy",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "label",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "rw",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[49]",
+ "element-type": "49",
+ "meta-type": "array"
+ },
+ {
+ "name": "304",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "file",
+ "type": "491"
+ },
+ {
+ "case": "gluster",
+ "type": "492"
+ },
+ {
+ "case": "luks",
+ "type": "493"
+ },
+ {
+ "case": "nfs",
+ "type": "494"
+ },
+ {
+ "case": "parallels",
+ "type": "495"
+ },
+ {
+ "case": "qcow",
+ "type": "496"
+ },
+ {
+ "case": "qcow2",
+ "type": "497"
+ },
+ {
+ "case": "qed",
+ "type": "498"
+ },
+ {
+ "case": "rbd",
+ "type": "499"
+ },
+ {
+ "case": "ssh",
+ "type": "500"
+ },
+ {
+ "case": "vdi",
+ "type": "501"
+ },
+ {
+ "case": "vhdx",
+ "type": "502"
+ },
+ {
+ "case": "vmdk",
+ "type": "503"
+ },
+ {
+ "case": "vpc",
+ "type": "504"
+ },
+ {
+ "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": "271"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "305",
+ "tag": "driver",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "505"
+ },
+ {
+ "case": "qcow2",
+ "type": "506"
+ },
+ {
+ "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": "271"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "306",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "name": "307",
+ "members": [
+ {
+ "name": "ignore"
+ },
+ {
+ "name": "report"
+ },
+ {
+ "name": "stop"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ignore",
+ "report",
+ "stop"
+ ]
+ },
+ {
+ "name": "308",
+ "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": "309",
+ "members": [
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "310",
+ "members": [
+ {
+ "name": "read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "flush"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "read",
+ "write",
+ "flush"
+ ]
+ },
+ {
+ "name": "311",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "508"
+ },
+ {
+ "case": "unix",
+ "type": "509"
+ },
+ {
+ "case": "vsock",
+ "type": "510"
+ },
+ {
+ "case": "fd",
+ "type": "511"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "312",
+ "members": [
+ {
+ "name": "safe"
+ },
+ {
+ "name": "hard"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "safe",
+ "hard"
+ ]
+ },
+ {
+ "name": "313",
+ "members": [
+ {
+ "name": "nbd"
+ },
+ {
+ "name": "vhost-user-blk"
+ },
+ {
+ "name": "fuse"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "nbd",
+ "vhost-user-blk",
+ "fuse"
+ ]
+ },
+ {
+ "name": "314",
+ "members": [
+ {
+ "name": "name",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "description",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[270]"
+ },
+ {
+ "name": "allocation-depth",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "315",
+ "members": [
+ {
+ "name": "addr",
+ "type": "374"
+ },
+ {
+ "name": "logical-block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "num-queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "316",
+ "members": [
+ {
+ "name": "mountpoint",
+ "type": "str"
+ },
+ {
+ "name": "growable",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "allow-other",
+ "default": null,
+ "type": "512"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "317",
+ "members": [
+ {
+ "name": "utf8"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "utf8",
+ "base64"
+ ]
+ },
+ {
+ "name": "318",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "file",
+ "type": "514"
+ },
+ {
+ "case": "serial",
+ "type": "515"
+ },
+ {
+ "case": "parallel",
+ "type": "515"
+ },
+ {
+ "case": "pipe",
+ "type": "515"
+ },
+ {
+ "case": "socket",
+ "type": "516"
+ },
+ {
+ "case": "udp",
+ "type": "517"
+ },
+ {
+ "case": "pty",
+ "type": "518"
+ },
+ {
+ "case": "null",
+ "type": "518"
+ },
+ {
+ "case": "mux",
+ "type": "519"
+ },
+ {
+ "case": "msmouse",
+ "type": "518"
+ },
+ {
+ "case": "wctablet",
+ "type": "518"
+ },
+ {
+ "case": "braille",
+ "type": "518"
+ },
+ {
+ "case": "testdev",
+ "type": "518"
+ },
+ {
+ "case": "stdio",
+ "type": "520"
+ },
+ {
+ "case": "console",
+ "type": "518"
+ },
+ {
+ "case": "spicevmc",
+ "type": "521"
+ },
+ {
+ "case": "spiceport",
+ "type": "522"
+ },
+ {
+ "case": "qemu-vdagent",
+ "type": "523"
+ },
+ {
+ "case": "dbus",
+ "type": "524"
+ },
+ {
+ "case": "vc",
+ "type": "525"
+ },
+ {
+ "case": "ringbuf",
+ "type": "526"
+ },
+ {
+ "case": "memory",
+ "type": "526"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "513"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "319",
+ "members": [
+ {
+ "name": "elf"
+ },
+ {
+ "name": "kdump-zlib"
+ },
+ {
+ "name": "kdump-lzo"
+ },
+ {
+ "name": "kdump-snappy"
+ },
+ {
+ "name": "win-dmp"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "elf",
+ "kdump-zlib",
+ "kdump-lzo",
+ "kdump-snappy",
+ "win-dmp"
+ ]
+ },
+ {
+ "name": "320",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "completed"
+ },
+ {
+ "name": "failed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "active",
+ "completed",
+ "failed"
+ ]
+ },
+ {
+ "name": "[319]",
+ "element-type": "319",
+ "meta-type": "array"
+ },
+ {
+ "name": "321",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "nic"
+ },
+ {
+ "name": "user"
+ },
+ {
+ "name": "tap"
+ },
+ {
+ "name": "l2tpv3"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "vde"
+ },
+ {
+ "name": "bridge"
+ },
+ {
+ "name": "hubport"
+ },
+ {
+ "name": "netmap"
+ },
+ {
+ "name": "vhost-user"
+ },
+ {
+ "name": "vhost-vdpa"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "nic",
+ "user",
+ "tap",
+ "l2tpv3",
+ "socket",
+ "vde",
+ "bridge",
+ "hubport",
+ "netmap",
+ "vhost-user",
+ "vhost-vdpa"
+ ]
+ },
+ {
+ "name": "322",
+ "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": "323",
+ "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": "[527]"
+ },
+ {
+ "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": "[527]"
+ },
+ {
+ "name": "guestfwd",
+ "default": null,
+ "type": "[527]"
+ },
+ {
+ "name": "tftp-server-name",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "324",
+ "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": "325",
+ "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": "326",
+ "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": "327",
+ "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": "328",
+ "members": [
+ {
+ "name": "br",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "helper",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "329",
+ "members": [
+ {
+ "name": "hubid",
+ "type": "int"
+ },
+ {
+ "name": "netdev",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "330",
+ "members": [
+ {
+ "name": "ifname",
+ "type": "str"
+ },
+ {
+ "name": "devname",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "331",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "vhostforce",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "332",
+ "members": [
+ {
+ "name": "vhostdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "333",
+ "members": [
+ {
+ "name": "normal"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "normal",
+ "none",
+ "all"
+ ]
+ },
+ {
+ "name": "[str]",
+ "element-type": "str",
+ "meta-type": "array"
+ },
+ {
+ "name": "334",
+ "members": [
+ {
+ "name": "half"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "half",
+ "full"
+ ]
+ },
+ {
+ "name": "335",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on"
+ ]
+ },
+ {
+ "name": "336",
+ "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": "337",
+ "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": "338",
+ "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": "339",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "passthrough",
+ "type": "528"
+ },
+ {
+ "case": "emulator",
+ "type": "529"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "117"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "340",
+ "members": [
+ {
+ "name": "vnc"
+ },
+ {
+ "name": "spice"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc",
+ "spice"
+ ]
+ },
+ {
+ "name": "341",
+ "members": [
+ {
+ "name": "keep"
+ },
+ {
+ "name": "fail"
+ },
+ {
+ "name": "disconnect"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "keep",
+ "fail",
+ "disconnect"
+ ]
+ },
+ {
+ "name": "342",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "343",
+ "members": [
+ {
+ "name": "display",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "344",
+ "members": [
+ {
+ "name": "ppm"
+ },
+ {
+ "name": "png"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ppm",
+ "png"
+ ]
+ },
+ {
+ "name": "345",
+ "members": [
+ {
+ "name": "client"
+ },
+ {
+ "name": "server"
+ },
+ {
+ "name": "unknown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[346]",
+ "element-type": "346",
+ "meta-type": "array"
+ },
+ {
+ "name": "346",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "connection-id",
+ "type": "int"
+ },
+ {
+ "name": "channel-type",
+ "type": "int"
+ },
+ {
+ "name": "channel-id",
+ "type": "int"
+ },
+ {
+ "name": "tls",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "347",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "348",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "349",
+ "members": [
+ {
+ "name": "ipv4"
+ },
+ {
+ "name": "ipv6"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "unknown"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ipv4",
+ "ipv6",
+ "unix",
+ "vsock",
+ "unknown"
+ ]
+ },
+ {
+ "name": "[350]",
+ "element-type": "350",
+ "meta-type": "array"
+ },
+ {
+ "name": "350",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "x509_dname",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "sasl_username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[351]",
+ "element-type": "351",
+ "meta-type": "array"
+ },
+ {
+ "name": "351",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "type": "352"
+ },
+ {
+ "name": "vencrypt",
+ "default": null,
+ "type": "353"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "352",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "vnc"
+ },
+ {
+ "name": "ra2"
+ },
+ {
+ "name": "ra2ne"
+ },
+ {
+ "name": "tight"
+ },
+ {
+ "name": "ultra"
+ },
+ {
+ "name": "tls"
+ },
+ {
+ "name": "vencrypt"
+ },
+ {
+ "name": "sasl"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "vnc",
+ "ra2",
+ "ra2ne",
+ "tight",
+ "ultra",
+ "tls",
+ "vencrypt",
+ "sasl"
+ ]
+ },
+ {
+ "name": "353",
+ "members": [
+ {
+ "name": "plain"
+ },
+ {
+ "name": "tls-none"
+ },
+ {
+ "name": "x509-none"
+ },
+ {
+ "name": "tls-vnc"
+ },
+ {
+ "name": "x509-vnc"
+ },
+ {
+ "name": "tls-plain"
+ },
+ {
+ "name": "x509-plain"
+ },
+ {
+ "name": "tls-sasl"
+ },
+ {
+ "name": "x509-sasl"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "tls-none",
+ "x509-none",
+ "tls-vnc",
+ "x509-vnc",
+ "tls-plain",
+ "x509-plain",
+ "tls-sasl",
+ "x509-sasl"
+ ]
+ },
+ {
+ "name": "354",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ },
+ {
+ "name": "auth",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "355",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "service",
+ "type": "str"
+ },
+ {
+ "name": "family",
+ "type": "349"
+ },
+ {
+ "name": "websocket",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[356]",
+ "element-type": "356",
+ "meta-type": "array"
+ },
+ {
+ "name": "356",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "number",
+ "type": "531"
+ },
+ {
+ "case": "qcode",
+ "type": "532"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "530"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[357]",
+ "element-type": "357",
+ "meta-type": "array"
+ },
+ {
+ "name": "357",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "key",
+ "type": "534"
+ },
+ {
+ "case": "btn",
+ "type": "535"
+ },
+ {
+ "case": "rel",
+ "type": "536"
+ },
+ {
+ "case": "abs",
+ "type": "536"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "533"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "358",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "sdl"
+ },
+ {
+ "name": "egl-headless"
+ },
+ {
+ "name": "curses"
+ },
+ {
+ "name": "spice-app"
+ },
+ {
+ "name": "dbus"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "none",
+ "sdl",
+ "egl-headless",
+ "curses",
+ "spice-app",
+ "dbus"
+ ]
+ },
+ {
+ "name": "359",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "core"
+ },
+ {
+ "name": "es"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "core",
+ "es"
+ ]
+ },
+ {
+ "name": "360",
+ "members": [
+ {
+ "name": "grab-on-hover",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "zoom-to-fit",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "361",
+ "members": [
+ {
+ "name": "left-command-key",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "full-grab",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "swap-opt-cmd",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "362",
+ "members": [
+ {
+ "name": "charset",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "363",
+ "members": [
+ {
+ "name": "rendernode",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "364",
+ "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": "365",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "366",
+ "members": [
+ {
+ "name": "tls-certs",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "367",
+ "members": [
+ {
+ "name": "vnc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "vnc"
+ ]
+ },
+ {
+ "name": "368",
+ "members": [
+ {
+ "name": "addresses",
+ "default": null,
+ "type": "[374]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "369",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "setup"
+ },
+ {
+ "name": "cancelling"
+ },
+ {
+ "name": "cancelled"
+ },
+ {
+ "name": "active"
+ },
+ {
+ "name": "postcopy-active"
+ },
+ {
+ "name": "postcopy-paused"
+ },
+ {
+ "name": "postcopy-recover"
+ },
+ {
+ "name": "completed"
+ },
+ {
+ "name": "failed"
+ },
+ {
+ "name": "colo"
+ },
+ {
+ "name": "pre-switchover"
+ },
+ {
+ "name": "device"
+ },
+ {
+ "name": "wait-unplug"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "setup",
+ "cancelling",
+ "cancelled",
+ "active",
+ "postcopy-active",
+ "postcopy-paused",
+ "postcopy-recover",
+ "completed",
+ "failed",
+ "colo",
+ "pre-switchover",
+ "device",
+ "wait-unplug"
+ ]
+ },
+ {
+ "name": "370",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ },
+ {
+ "name": "remaining",
+ "type": "int"
+ },
+ {
+ "name": "total",
+ "type": "int"
+ },
+ {
+ "name": "duplicate",
+ "type": "int"
+ },
+ {
+ "name": "skipped",
+ "type": "int"
+ },
+ {
+ "name": "normal",
+ "type": "int"
+ },
+ {
+ "name": "normal-bytes",
+ "type": "int"
+ },
+ {
+ "name": "dirty-pages-rate",
+ "type": "int"
+ },
+ {
+ "name": "mbps",
+ "type": "number"
+ },
+ {
+ "name": "dirty-sync-count",
+ "type": "int"
+ },
+ {
+ "name": "postcopy-requests",
+ "type": "int"
+ },
+ {
+ "name": "page-size",
+ "type": "int"
+ },
+ {
+ "name": "multifd-bytes",
+ "type": "int"
+ },
+ {
+ "name": "pages-per-second",
+ "type": "int"
+ },
+ {
+ "name": "precopy-bytes",
+ "type": "int"
+ },
+ {
+ "name": "downtime-bytes",
+ "type": "int"
+ },
+ {
+ "name": "postcopy-bytes",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "371",
+ "members": [
+ {
+ "name": "transferred",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "372",
+ "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": "373",
+ "members": [
+ {
+ "name": "pages",
+ "type": "int"
+ },
+ {
+ "name": "busy",
+ "type": "int"
+ },
+ {
+ "name": "busy-rate",
+ "type": "number"
+ },
+ {
+ "name": "compressed-size",
+ "type": "int"
+ },
+ {
+ "name": "compression-rate",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[374]",
+ "element-type": "374",
+ "meta-type": "array"
+ },
+ {
+ "name": "374",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "inet",
+ "type": "489"
+ },
+ {
+ "case": "unix",
+ "type": "537"
+ },
+ {
+ "case": "vsock",
+ "type": "538"
+ },
+ {
+ "case": "fd",
+ "type": "527"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "507"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "375",
+ "members": [
+ {
+ "name": "xbzrle"
+ },
+ {
+ "name": "rdma-pin-all"
+ },
+ {
+ "name": "auto-converge"
+ },
+ {
+ "name": "zero-blocks"
+ },
+ {
+ "name": "compress"
+ },
+ {
+ "name": "events"
+ },
+ {
+ "name": "postcopy-ram"
+ },
+ {
+ "name": "x-colo",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "release-ram"
+ },
+ {
+ "name": "block"
+ },
+ {
+ "name": "return-path"
+ },
+ {
+ "name": "pause-before-switchover"
+ },
+ {
+ "name": "multifd"
+ },
+ {
+ "name": "dirty-bitmaps"
+ },
+ {
+ "name": "postcopy-blocktime"
+ },
+ {
+ "name": "late-block-activate"
+ },
+ {
+ "name": "x-ignore-shared",
+ "features": [
+ "unstable"
+ ]
+ },
+ {
+ "name": "validate-uuid"
+ },
+ {
+ "name": "background-snapshot"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "xbzrle",
+ "rdma-pin-all",
+ "auto-converge",
+ "zero-blocks",
+ "compress",
+ "events",
+ "postcopy-ram",
+ "x-colo",
+ "release-ram",
+ "block",
+ "return-path",
+ "pause-before-switchover",
+ "multifd",
+ "dirty-bitmaps",
+ "postcopy-blocktime",
+ "late-block-activate",
+ "x-ignore-shared",
+ "validate-uuid",
+ "background-snapshot"
+ ]
+ },
+ {
+ "name": "376",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "zlib"
+ },
+ {
+ "name": "zstd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "zlib",
+ "zstd"
+ ]
+ },
+ {
+ "name": "[377]",
+ "element-type": "377",
+ "meta-type": "array"
+ },
+ {
+ "name": "377",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "bitmaps",
+ "type": "[539]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "378",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "379",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "request"
+ },
+ {
+ "name": "error"
+ },
+ {
+ "name": "processing"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "request",
+ "error",
+ "processing"
+ ]
+ },
+ {
+ "name": "380",
+ "members": [
+ {
+ "name": "page-sampling"
+ },
+ {
+ "name": "dirty-ring"
+ },
+ {
+ "name": "dirty-bitmap"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "page-sampling",
+ "dirty-ring",
+ "dirty-bitmap"
+ ]
+ },
+ {
+ "name": "381",
+ "members": [
+ {
+ "name": "unstarted"
+ },
+ {
+ "name": "measuring"
+ },
+ {
+ "name": "measured"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unstarted",
+ "measuring",
+ "measured"
+ ]
+ },
+ {
+ "name": "[382]",
+ "element-type": "382",
+ "meta-type": "array"
+ },
+ {
+ "name": "382",
+ "members": [
+ {
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[383]",
+ "element-type": "383",
+ "meta-type": "array"
+ },
+ {
+ "name": "383",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "abort",
+ "type": "541"
+ },
+ {
+ "case": "block-dirty-bitmap-add",
+ "type": "542"
+ },
+ {
+ "case": "block-dirty-bitmap-remove",
+ "type": "543"
+ },
+ {
+ "case": "block-dirty-bitmap-clear",
+ "type": "543"
+ },
+ {
+ "case": "block-dirty-bitmap-enable",
+ "type": "543"
+ },
+ {
+ "case": "block-dirty-bitmap-disable",
+ "type": "543"
+ },
+ {
+ "case": "block-dirty-bitmap-merge",
+ "type": "544"
+ },
+ {
+ "case": "blockdev-backup",
+ "type": "545"
+ },
+ {
+ "case": "blockdev-snapshot",
+ "type": "546"
+ },
+ {
+ "case": "blockdev-snapshot-internal-sync",
+ "type": "547"
+ },
+ {
+ "case": "blockdev-snapshot-sync",
+ "type": "548"
+ },
+ {
+ "case": "drive-backup",
+ "type": "549"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "540"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "384",
+ "members": [
+ {
+ "name": "completion-mode",
+ "default": null,
+ "type": "550"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "385",
+ "members": [
+ {
+ "name": "unavailable"
+ },
+ {
+ "name": "disabled"
+ },
+ {
+ "name": "enabled"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unavailable",
+ "disabled",
+ "enabled"
+ ]
+ },
+ {
+ "name": "[386]",
+ "element-type": "386",
+ "meta-type": "array"
+ },
+ {
+ "name": "386",
+ "members": [
+ {
+ "name": "oob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "oob"
+ ]
+ },
+ {
+ "name": "387",
+ "members": [
+ {
+ "name": "major",
+ "type": "int"
+ },
+ {
+ "name": "minor",
+ "type": "int"
+ },
+ {
+ "name": "micro",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "388",
+ "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": "389",
+ "members": [
+ {
+ "name": "json-type",
+ "type": "551"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "390",
+ "members": [
+ {
+ "name": "members",
+ "type": "[552]"
+ },
+ {
+ "name": "values",
+ "type": "[str]",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "391",
+ "members": [
+ {
+ "name": "element-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "392",
+ "members": [
+ {
+ "name": "members",
+ "type": "[553]"
+ },
+ {
+ "name": "tag",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "variants",
+ "default": null,
+ "type": "[554]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "393",
+ "members": [
+ {
+ "name": "members",
+ "type": "[555]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "394",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ },
+ {
+ "name": "ret-type",
+ "type": "str"
+ },
+ {
+ "name": "allow-oob",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "395",
+ "members": [
+ {
+ "name": "arg-type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "396",
+ "members": [
+ {
+ "name": "authz-list"
+ },
+ {
+ "name": "authz-listfile"
+ },
+ {
+ "name": "authz-pam"
+ },
+ {
+ "name": "authz-simple"
+ },
+ {
+ "name": "can-bus"
+ },
+ {
+ "name": "can-host-socketcan"
+ },
+ {
+ "name": "colo-compare"
+ },
+ {
+ "name": "cryptodev-backend"
+ },
+ {
+ "name": "cryptodev-backend-builtin"
+ },
+ {
+ "name": "cryptodev-vhost-user"
+ },
+ {
+ "name": "dbus-vmstate"
+ },
+ {
+ "name": "filter-buffer"
+ },
+ {
+ "name": "filter-dump"
+ },
+ {
+ "name": "filter-mirror"
+ },
+ {
+ "name": "filter-redirector"
+ },
+ {
+ "name": "filter-replay"
+ },
+ {
+ "name": "filter-rewriter"
+ },
+ {
+ "name": "input-barrier"
+ },
+ {
+ "name": "input-linux"
+ },
+ {
+ "name": "iothread"
+ },
+ {
+ "name": "main-loop"
+ },
+ {
+ "name": "memory-backend-epc"
+ },
+ {
+ "name": "memory-backend-file"
+ },
+ {
+ "name": "memory-backend-memfd"
+ },
+ {
+ "name": "memory-backend-ram"
+ },
+ {
+ "name": "pef-guest"
+ },
+ {
+ "name": "pr-manager-helper"
+ },
+ {
+ "name": "qtest"
+ },
+ {
+ "name": "rng-builtin"
+ },
+ {
+ "name": "rng-egd"
+ },
+ {
+ "name": "rng-random"
+ },
+ {
+ "name": "secret"
+ },
+ {
+ "name": "secret_keyring"
+ },
+ {
+ "name": "sev-guest"
+ },
+ {
+ "name": "s390-pv-guest"
+ },
+ {
+ "name": "throttle-group"
+ },
+ {
+ "name": "tls-creds-anon"
+ },
+ {
+ "name": "tls-creds-psk"
+ },
+ {
+ "name": "tls-creds-x509"
+ },
+ {
+ "name": "tls-cipher-suites"
+ },
+ {
+ "name": "x-remote-object",
+ "features": [
+ "unstable"
+ ]
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "authz-list",
+ "authz-listfile",
+ "authz-pam",
+ "authz-simple",
+ "can-bus",
+ "can-host-socketcan",
+ "colo-compare",
+ "cryptodev-backend",
+ "cryptodev-backend-builtin",
+ "cryptodev-vhost-user",
+ "dbus-vmstate",
+ "filter-buffer",
+ "filter-dump",
+ "filter-mirror",
+ "filter-redirector",
+ "filter-replay",
+ "filter-rewriter",
+ "input-barrier",
+ "input-linux",
+ "iothread",
+ "main-loop",
+ "memory-backend-epc",
+ "memory-backend-file",
+ "memory-backend-memfd",
+ "memory-backend-ram",
+ "pef-guest",
+ "pr-manager-helper",
+ "qtest",
+ "rng-builtin",
+ "rng-egd",
+ "rng-random",
+ "secret",
+ "secret_keyring",
+ "sev-guest",
+ "s390-pv-guest",
+ "throttle-group",
+ "tls-creds-anon",
+ "tls-creds-psk",
+ "tls-creds-x509",
+ "tls-cipher-suites",
+ "x-remote-object"
+ ]
+ },
+ {
+ "name": "397",
+ "members": [
+ {
+ "name": "policy",
+ "default": null,
+ "type": "556"
+ },
+ {
+ "name": "rules",
+ "default": null,
+ "type": "[557]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "398",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "refresh",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "399",
+ "members": [
+ {
+ "name": "service",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "400",
+ "members": [
+ {
+ "name": "identity",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "401",
+ "members": [
+ {
+ "name": "if",
+ "type": "str"
+ },
+ {
+ "name": "canbus",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "402",
+ "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": "403",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "404",
+ "members": [
+ {
+ "name": "queues",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "405",
+ "members": [
+ {
+ "name": "addr",
+ "type": "str"
+ },
+ {
+ "name": "id-list",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "406",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ },
+ {
+ "name": "interval",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "407",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ },
+ {
+ "name": "file",
+ "type": "str"
+ },
+ {
+ "name": "maxlen",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "408",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ },
+ {
+ "name": "outdev",
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "409",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ },
+ {
+ "name": "indev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "outdev",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "410",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "411",
+ "members": [
+ {
+ "name": "netdev",
+ "type": "str"
+ },
+ {
+ "name": "queue",
+ "default": null,
+ "type": "558"
+ },
+ {
+ "name": "status",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "position",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "insert",
+ "default": null,
+ "type": "559"
+ },
+ {
+ "name": "vnet_hdr_support",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "412",
+ "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": "413",
+ "members": [
+ {
+ "name": "evdev",
+ "type": "str"
+ },
+ {
+ "name": "grab_all",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "repeat",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "grab-toggle",
+ "default": null,
+ "type": "560"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "414",
+ "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": "415",
+ "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": "416",
+ "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": "437"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "417",
+ "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": "437"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "align",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "discard-data",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mem-path",
+ "type": "str"
+ },
+ {
+ "name": "pmem",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "readonly",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "418",
+ "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": "437"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "hugetlb",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "hugetlbsize",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "seal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "419",
+ "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": "437"
+ },
+ {
+ "name": "prealloc",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "share",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "420",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "421",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ },
+ {
+ "name": "log",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "422",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "423",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "424",
+ "members": [
+ {
+ "name": "opened",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "filename",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "425",
+ "members": [
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "561"
+ },
+ {
+ "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": "426",
+ "members": [
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "561"
+ },
+ {
+ "name": "keyid",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "iv",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "serial",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "427",
+ "members": [
+ {
+ "name": "sev-device",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "dh-cert-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "session-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "policy",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "handle",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cbitpos",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "reduced-phys-bits",
+ "type": "int"
+ },
+ {
+ "name": "kernel-hashes",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "428",
+ "members": [
+ {
+ "name": "limits",
+ "default": null,
+ "type": "562"
+ },
+ {
+ "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": "429",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "563"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "430",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "563"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "username",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "431",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "563"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "loaded",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "deprecated"
+ ]
+ },
+ {
+ "name": "sanity-check",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "passwordid",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "432",
+ "members": [
+ {
+ "name": "verify-peer",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "dir",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "endpoint",
+ "default": null,
+ "type": "563"
+ },
+ {
+ "name": "priority",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "433",
+ "members": [
+ {
+ "name": "fd",
+ "type": "str"
+ },
+ {
+ "name": "devid",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "434",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "socket-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "die-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cluster-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "435",
+ "members": [
+ {
+ "name": "aarch64"
+ },
+ {
+ "name": "alpha"
+ },
+ {
+ "name": "arm"
+ },
+ {
+ "name": "avr"
+ },
+ {
+ "name": "cris"
+ },
+ {
+ "name": "hppa"
+ },
+ {
+ "name": "i386"
+ },
+ {
+ "name": "m68k"
+ },
+ {
+ "name": "microblaze"
+ },
+ {
+ "name": "microblazeel"
+ },
+ {
+ "name": "mips"
+ },
+ {
+ "name": "mips64"
+ },
+ {
+ "name": "mips64el"
+ },
+ {
+ "name": "mipsel"
+ },
+ {
+ "name": "nios2"
+ },
+ {
+ "name": "or1k"
+ },
+ {
+ "name": "ppc"
+ },
+ {
+ "name": "ppc64"
+ },
+ {
+ "name": "riscv32"
+ },
+ {
+ "name": "riscv64"
+ },
+ {
+ "name": "rx"
+ },
+ {
+ "name": "s390x"
+ },
+ {
+ "name": "sh4"
+ },
+ {
+ "name": "sh4eb"
+ },
+ {
+ "name": "sparc"
+ },
+ {
+ "name": "sparc64"
+ },
+ {
+ "name": "tricore"
+ },
+ {
+ "name": "x86_64"
+ },
+ {
+ "name": "xtensa"
+ },
+ {
+ "name": "xtensaeb"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aarch64",
+ "alpha",
+ "arm",
+ "avr",
+ "cris",
+ "hppa",
+ "i386",
+ "m68k",
+ "microblaze",
+ "microblazeel",
+ "mips",
+ "mips64",
+ "mips64el",
+ "mipsel",
+ "nios2",
+ "or1k",
+ "ppc",
+ "ppc64",
+ "riscv32",
+ "riscv64",
+ "rx",
+ "s390x",
+ "sh4",
+ "sh4eb",
+ "sparc",
+ "sparc64",
+ "tricore",
+ "x86_64",
+ "xtensa",
+ "xtensaeb"
+ ]
+ },
+ {
+ "name": "436",
+ "members": [
+ {
+ "name": "cpu-state",
+ "type": "564"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "437",
+ "members": [
+ {
+ "name": "default"
+ },
+ {
+ "name": "preferred"
+ },
+ {
+ "name": "bind"
+ },
+ {
+ "name": "interleave"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "default",
+ "preferred",
+ "bind",
+ "interleave"
+ ]
+ },
+ {
+ "name": "438",
+ "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": "439",
+ "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": "440",
+ "members": [
+ {
+ "name": "src",
+ "type": "int"
+ },
+ {
+ "name": "dst",
+ "type": "int"
+ },
+ {
+ "name": "val",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "441",
+ "members": [
+ {
+ "name": "node-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "socket-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "die-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "cluster-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "core-id",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "thread-id",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "442",
+ "members": [
+ {
+ "name": "initiator",
+ "type": "int"
+ },
+ {
+ "name": "target",
+ "type": "int"
+ },
+ {
+ "name": "hierarchy",
+ "type": "565"
+ },
+ {
+ "name": "data-type",
+ "type": "566"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "bandwidth",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "443",
+ "members": [
+ {
+ "name": "node-id",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "level",
+ "type": "int"
+ },
+ {
+ "name": "associativity",
+ "type": "567"
+ },
+ {
+ "name": "policy",
+ "type": "568"
+ },
+ {
+ "name": "line",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "444",
+ "members": [
+ {
+ "name": "dimm"
+ },
+ {
+ "name": "nvdimm"
+ },
+ {
+ "name": "virtio-pmem"
+ },
+ {
+ "name": "virtio-mem"
+ },
+ {
+ "name": "sgx-epc"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dimm",
+ "nvdimm",
+ "virtio-pmem",
+ "virtio-mem",
+ "sgx-epc"
+ ]
+ },
+ {
+ "name": "445",
+ "members": [
+ {
+ "name": "data",
+ "type": "569"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "446",
+ "members": [
+ {
+ "name": "data",
+ "type": "570"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "447",
+ "members": [
+ {
+ "name": "data",
+ "type": "571"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "448",
+ "members": [
+ {
+ "name": "data",
+ "type": "572"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "449",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "props",
+ "default": null,
+ "type": "any"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "450",
+ "members": [
+ {
+ "name": "incompatible"
+ },
+ {
+ "name": "identical"
+ },
+ {
+ "name": "superset"
+ },
+ {
+ "name": "subset"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "incompatible",
+ "identical",
+ "superset",
+ "subset"
+ ]
+ },
+ {
+ "name": "451",
+ "members": [
+ {
+ "name": "static"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "static",
+ "full"
+ ]
+ },
+ {
+ "name": "452",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "record"
+ },
+ {
+ "name": "play"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "record",
+ "play"
+ ]
+ },
+ {
+ "name": "453",
+ "members": [
+ {
+ "name": "block-node"
+ },
+ {
+ "name": "chardev"
+ },
+ {
+ "name": "migration"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-node",
+ "chardev",
+ "migration"
+ ]
+ },
+ {
+ "name": "454",
+ "members": [
+ {
+ "name": "node-name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "455",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[456]",
+ "element-type": "456",
+ "meta-type": "array"
+ },
+ {
+ "name": "456",
+ "members": [
+ {
+ "name": "fd",
+ "type": "int"
+ },
+ {
+ "name": "opaque",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[457]",
+ "element-type": "457",
+ "meta-type": "array"
+ },
+ {
+ "name": "457",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "573"
+ },
+ {
+ "name": "help",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "default",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "458",
+ "members": [
+ {
+ "name": "uninit"
+ },
+ {
+ "name": "launch-update"
+ },
+ {
+ "name": "launch-secret"
+ },
+ {
+ "name": "running"
+ },
+ {
+ "name": "send-update"
+ },
+ {
+ "name": "receive-update"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "uninit",
+ "launch-update",
+ "launch-secret",
+ "running",
+ "send-update",
+ "receive-update"
+ ]
+ },
+ {
+ "name": "[459]",
+ "element-type": "459",
+ "meta-type": "array"
+ },
+ {
+ "name": "459",
+ "members": [
+ {
+ "name": "node",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "460",
+ "members": [
+ {
+ "name": "DIMM"
+ },
+ {
+ "name": "CPU"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "DIMM",
+ "CPU"
+ ]
+ },
+ {
+ "name": "[461]",
+ "element-type": "461",
+ "meta-type": "array"
+ },
+ {
+ "name": "461",
+ "members": [
+ {
+ "name": "bus",
+ "type": "int"
+ },
+ {
+ "name": "slot",
+ "type": "int"
+ },
+ {
+ "name": "function",
+ "type": "int"
+ },
+ {
+ "name": "class_info",
+ "type": "574"
+ },
+ {
+ "name": "id",
+ "type": "575"
+ },
+ {
+ "name": "irq",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "irq_pin",
+ "type": "int"
+ },
+ {
+ "name": "qdev_id",
+ "type": "str"
+ },
+ {
+ "name": "pci_bridge",
+ "default": null,
+ "type": "576"
+ },
+ {
+ "name": "regions",
+ "type": "[577]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "462",
+ "members": [
+ {
+ "name": "hyper-v"
+ },
+ {
+ "name": "s390"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "hyper-v",
+ "s390"
+ ]
+ },
+ {
+ "name": "463",
+ "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": "464",
+ "members": [
+ {
+ "name": "core",
+ "type": "int"
+ },
+ {
+ "name": "psw-mask",
+ "type": "int"
+ },
+ {
+ "name": "psw-addr",
+ "type": "int"
+ },
+ {
+ "name": "reason",
+ "type": "578"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[465]",
+ "element-type": "465",
+ "meta-type": "array"
+ },
+ {
+ "name": "465",
+ "members": [
+ {
+ "name": "interval_length",
+ "type": "int"
+ },
+ {
+ "name": "min_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_rd_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "min_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_wr_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "min_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "max_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_flush_latency_ns",
+ "type": "int"
+ },
+ {
+ "name": "avg_rd_queue_depth",
+ "type": "number"
+ },
+ {
+ "name": "avg_wr_queue_depth",
+ "type": "number"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "466",
+ "members": [
+ {
+ "name": "boundaries",
+ "type": "[int]"
+ },
+ {
+ "name": "bins",
+ "type": "[int]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "467",
+ "members": [
+ {
+ "name": "discard-nb-ok",
+ "type": "int"
+ },
+ {
+ "name": "discard-nb-failed",
+ "type": "int"
+ },
+ {
+ "name": "discard-bytes-ok",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "468",
+ "members": [
+ {
+ "name": "completion-errors",
+ "type": "int"
+ },
+ {
+ "name": "aligned-accesses",
+ "type": "int"
+ },
+ {
+ "name": "unaligned-accesses",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[69]",
+ "element-type": "69",
+ "meta-type": "array"
+ },
+ {
+ "name": "469",
+ "tag": "type",
+ "variants": [
+ {
+ "case": "qcow2",
+ "type": "580"
+ },
+ {
+ "case": "vmdk",
+ "type": "581"
+ },
+ {
+ "case": "luks",
+ "type": "582"
+ },
+ {
+ "case": "rbd",
+ "type": "583"
+ }
+ ],
+ "members": [
+ {
+ "name": "type",
+ "type": "579"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "470",
+ "members": [
+ {
+ "name": "block-backend"
+ },
+ {
+ "name": "block-job"
+ },
+ {
+ "name": "block-driver"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "block-backend",
+ "block-job",
+ "block-driver"
+ ]
+ },
+ {
+ "name": "[471]",
+ "element-type": "471",
+ "meta-type": "array"
+ },
+ {
+ "name": "471",
+ "members": [
+ {
+ "name": "consistent-read"
+ },
+ {
+ "name": "write"
+ },
+ {
+ "name": "write-unchanged"
+ },
+ {
+ "name": "resize"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "consistent-read",
+ "write",
+ "write-unchanged",
+ "resize"
+ ]
+ },
+ {
+ "name": "472",
+ "members": [
+ {
+ "type": "49"
+ },
+ {
+ "type": "str"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "[473]",
+ "element-type": "473",
+ "meta-type": "array"
+ },
+ {
+ "name": "473",
+ "members": [
+ {
+ "name": "event",
+ "type": "584"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "iotype",
+ "default": null,
+ "type": "585"
+ },
+ {
+ "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": "[474]",
+ "element-type": "474",
+ "meta-type": "array"
+ },
+ {
+ "name": "474",
+ "members": [
+ {
+ "name": "event",
+ "type": "584"
+ },
+ {
+ "name": "state",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "new_state",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "475",
+ "members": [
+ {
+ "name": "auto"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "off"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "auto",
+ "on",
+ "off"
+ ]
+ },
+ {
+ "name": "476",
+ "members": [
+ {
+ "name": "threads"
+ },
+ {
+ "name": "native"
+ },
+ {
+ "name": "io_uring"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "threads",
+ "native",
+ "io_uring"
+ ]
+ },
+ {
+ "name": "477",
+ "members": [
+ {
+ "name": "tcp"
+ },
+ {
+ "name": "iser"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "tcp",
+ "iser"
+ ]
+ },
+ {
+ "name": "478",
+ "members": [
+ {
+ "name": "crc32c"
+ },
+ {
+ "name": "none"
+ },
+ {
+ "name": "crc32c-none"
+ },
+ {
+ "name": "none-crc32c"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "crc32c",
+ "none",
+ "crc32c-none",
+ "none-crc32c"
+ ]
+ },
+ {
+ "name": "479",
+ "members": [
+ {
+ "name": "type",
+ "type": "586"
+ },
+ {
+ "name": "host",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "480",
+ "members": [
+ {
+ "type": "49"
+ },
+ {
+ "type": "str"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "481",
+ "members": [
+ {
+ "type": "587"
+ },
+ {
+ "type": "588"
+ }
+ ],
+ "meta-type": "alternate"
+ },
+ {
+ "name": "482",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "590"
+ },
+ {
+ "case": "luks",
+ "type": "591"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "589"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "483",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "aes",
+ "type": "590"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "592"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[472]",
+ "element-type": "472",
+ "meta-type": "array"
+ },
+ {
+ "name": "484",
+ "members": [
+ {
+ "name": "quorum"
+ },
+ {
+ "name": "fifo"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "quorum",
+ "fifo"
+ ]
+ },
+ {
+ "name": "485",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "594"
+ },
+ {
+ "case": "luks2",
+ "type": "595"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "593"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[486]",
+ "element-type": "486",
+ "meta-type": "array"
+ },
+ {
+ "name": "486",
+ "members": [
+ {
+ "name": "cephx"
+ },
+ {
+ "name": "none"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "cephx",
+ "none"
+ ]
+ },
+ {
+ "name": "[487]",
+ "element-type": "487",
+ "meta-type": "array"
+ },
+ {
+ "name": "487",
+ "members": [
+ {
+ "name": "host",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "488",
+ "members": [
+ {
+ "name": "primary"
+ },
+ {
+ "name": "secondary"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "primary",
+ "secondary"
+ ]
+ },
+ {
+ "name": "489",
+ "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": "490",
+ "tag": "mode",
+ "variants": [
+ {
+ "case": "hash",
+ "type": "597"
+ },
+ {
+ "case": "none",
+ "type": "0"
+ },
+ {
+ "case": "known_hosts",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "mode",
+ "type": "596"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "491",
+ "members": [
+ {
+ "name": "filename",
+ "type": "str"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "598"
+ },
+ {
+ "name": "nocow",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extent-size-hint",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "492",
+ "members": [
+ {
+ "name": "location",
+ "type": "284"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "598"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "493",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "599"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "601"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "602"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "602"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "598"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "494",
+ "members": [
+ {
+ "name": "location",
+ "type": "290"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "495",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "496",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "603"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "497",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "data-file",
+ "default": null,
+ "type": "472"
+ },
+ {
+ "name": "data-file-raw",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "extended-l2",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "version",
+ "default": null,
+ "type": "604"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "271"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "603"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "598"
+ },
+ {
+ "name": "lazy-refcounts",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "refcount-bits",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "compression-type",
+ "default": null,
+ "type": "605"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "498",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "backing-fmt",
+ "default": null,
+ "type": "271"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "table-size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "499",
+ "members": [
+ {
+ "name": "location",
+ "type": "299"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "cluster-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "606"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "500",
+ "members": [
+ {
+ "name": "location",
+ "type": "301"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "501",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "preallocation",
+ "default": null,
+ "type": "598"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "502",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "log-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "block-size",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "607"
+ },
+ {
+ "name": "block-state-zero",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "503",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "default": null,
+ "type": "[472]"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "608"
+ },
+ {
+ "name": "backing-file",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "adapter-type",
+ "default": null,
+ "type": "609"
+ },
+ {
+ "name": "hwversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "toolsversion",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "zeroed-grain",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "504",
+ "members": [
+ {
+ "name": "file",
+ "type": "472"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "subformat",
+ "default": null,
+ "type": "610"
+ },
+ {
+ "name": "force-size",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "505",
+ "members": [
+ {
+ "name": "state",
+ "type": "611"
+ },
+ {
+ "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": "506",
+ "members": [
+ {
+ "name": "encrypt",
+ "default": null,
+ "type": "612"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "null",
+ "json-type": "null",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "507",
+ "members": [
+ {
+ "name": "inet"
+ },
+ {
+ "name": "unix"
+ },
+ {
+ "name": "vsock"
+ },
+ {
+ "name": "fd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet",
+ "unix",
+ "vsock",
+ "fd"
+ ]
+ },
+ {
+ "name": "508",
+ "members": [
+ {
+ "name": "data",
+ "type": "489"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "509",
+ "members": [
+ {
+ "name": "data",
+ "type": "537"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "510",
+ "members": [
+ {
+ "name": "data",
+ "type": "538"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "511",
+ "members": [
+ {
+ "name": "data",
+ "type": "527"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "512",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "on"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "on",
+ "auto"
+ ]
+ },
+ {
+ "name": "513",
+ "members": [
+ {
+ "name": "file"
+ },
+ {
+ "name": "serial"
+ },
+ {
+ "name": "parallel"
+ },
+ {
+ "name": "pipe"
+ },
+ {
+ "name": "socket"
+ },
+ {
+ "name": "udp"
+ },
+ {
+ "name": "pty"
+ },
+ {
+ "name": "null"
+ },
+ {
+ "name": "mux"
+ },
+ {
+ "name": "msmouse"
+ },
+ {
+ "name": "wctablet"
+ },
+ {
+ "name": "braille"
+ },
+ {
+ "name": "testdev"
+ },
+ {
+ "name": "stdio"
+ },
+ {
+ "name": "console"
+ },
+ {
+ "name": "spicevmc"
+ },
+ {
+ "name": "spiceport"
+ },
+ {
+ "name": "qemu-vdagent"
+ },
+ {
+ "name": "dbus"
+ },
+ {
+ "name": "vc"
+ },
+ {
+ "name": "ringbuf"
+ },
+ {
+ "name": "memory"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "file",
+ "serial",
+ "parallel",
+ "pipe",
+ "socket",
+ "udp",
+ "pty",
+ "null",
+ "mux",
+ "msmouse",
+ "wctablet",
+ "braille",
+ "testdev",
+ "stdio",
+ "console",
+ "spicevmc",
+ "spiceport",
+ "qemu-vdagent",
+ "dbus",
+ "vc",
+ "ringbuf",
+ "memory"
+ ]
+ },
+ {
+ "name": "514",
+ "members": [
+ {
+ "name": "data",
+ "type": "613"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "515",
+ "members": [
+ {
+ "name": "data",
+ "type": "614"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "516",
+ "members": [
+ {
+ "name": "data",
+ "type": "615"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "517",
+ "members": [
+ {
+ "name": "data",
+ "type": "616"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "518",
+ "members": [
+ {
+ "name": "data",
+ "type": "617"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "519",
+ "members": [
+ {
+ "name": "data",
+ "type": "618"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "520",
+ "members": [
+ {
+ "name": "data",
+ "type": "619"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "521",
+ "members": [
+ {
+ "name": "data",
+ "type": "620"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "522",
+ "members": [
+ {
+ "name": "data",
+ "type": "621"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "523",
+ "members": [
+ {
+ "name": "data",
+ "type": "622"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "524",
+ "members": [
+ {
+ "name": "data",
+ "type": "623"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "525",
+ "members": [
+ {
+ "name": "data",
+ "type": "624"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "526",
+ "members": [
+ {
+ "name": "data",
+ "type": "625"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[527]",
+ "element-type": "527",
+ "meta-type": "array"
+ },
+ {
+ "name": "527",
+ "members": [
+ {
+ "name": "str",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "528",
+ "members": [
+ {
+ "name": "data",
+ "type": "626"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "529",
+ "members": [
+ {
+ "name": "data",
+ "type": "627"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "530",
+ "members": [
+ {
+ "name": "number"
+ },
+ {
+ "name": "qcode"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "number",
+ "qcode"
+ ]
+ },
+ {
+ "name": "531",
+ "members": [
+ {
+ "name": "data",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "532",
+ "members": [
+ {
+ "name": "data",
+ "type": "628"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "533",
+ "members": [
+ {
+ "name": "key"
+ },
+ {
+ "name": "btn"
+ },
+ {
+ "name": "rel"
+ },
+ {
+ "name": "abs"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "key",
+ "btn",
+ "rel",
+ "abs"
+ ]
+ },
+ {
+ "name": "534",
+ "members": [
+ {
+ "name": "data",
+ "type": "629"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "535",
+ "members": [
+ {
+ "name": "data",
+ "type": "630"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "536",
+ "members": [
+ {
+ "name": "data",
+ "type": "631"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "number",
+ "json-type": "number",
+ "meta-type": "builtin"
+ },
+ {
+ "name": "537",
+ "members": [
+ {
+ "name": "path",
+ "type": "str"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tight",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "538",
+ "members": [
+ {
+ "name": "cid",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[539]",
+ "element-type": "539",
+ "meta-type": "array"
+ },
+ {
+ "name": "539",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "alias",
+ "type": "str"
+ },
+ {
+ "name": "transform",
+ "default": null,
+ "type": "632"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "540",
+ "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": "541",
+ "members": [
+ {
+ "name": "data",
+ "type": "633"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "542",
+ "members": [
+ {
+ "name": "data",
+ "type": "36"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "543",
+ "members": [
+ {
+ "name": "data",
+ "type": "37"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "544",
+ "members": [
+ {
+ "name": "data",
+ "type": "38"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "545",
+ "members": [
+ {
+ "name": "data",
+ "type": "31"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "546",
+ "members": [
+ {
+ "name": "data",
+ "type": "27"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "547",
+ "members": [
+ {
+ "name": "data",
+ "type": "67"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "548",
+ "members": [
+ {
+ "name": "data",
+ "type": "26"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "549",
+ "members": [
+ {
+ "name": "data",
+ "type": "30"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "550",
+ "members": [
+ {
+ "name": "individual"
+ },
+ {
+ "name": "grouped"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "individual",
+ "grouped"
+ ]
+ },
+ {
+ "name": "551",
+ "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": "[552]",
+ "element-type": "552",
+ "meta-type": "array"
+ },
+ {
+ "name": "552",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "features",
+ "default": null,
+ "type": "[str]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[553]",
+ "element-type": "553",
+ "meta-type": "array"
+ },
+ {
+ "name": "553",
+ "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": "[554]",
+ "element-type": "554",
+ "meta-type": "array"
+ },
+ {
+ "name": "554",
+ "members": [
+ {
+ "name": "case",
+ "type": "str"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[555]",
+ "element-type": "555",
+ "meta-type": "array"
+ },
+ {
+ "name": "555",
+ "members": [
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "556",
+ "members": [
+ {
+ "name": "deny"
+ },
+ {
+ "name": "allow"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "deny",
+ "allow"
+ ]
+ },
+ {
+ "name": "[557]",
+ "element-type": "557",
+ "meta-type": "array"
+ },
+ {
+ "name": "557",
+ "members": [
+ {
+ "name": "match",
+ "type": "str"
+ },
+ {
+ "name": "policy",
+ "type": "556"
+ },
+ {
+ "name": "format",
+ "default": null,
+ "type": "634"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "558",
+ "members": [
+ {
+ "name": "all"
+ },
+ {
+ "name": "rx"
+ },
+ {
+ "name": "tx"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "all",
+ "rx",
+ "tx"
+ ]
+ },
+ {
+ "name": "559",
+ "members": [
+ {
+ "name": "before"
+ },
+ {
+ "name": "behind"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "before",
+ "behind"
+ ]
+ },
+ {
+ "name": "560",
+ "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": "561",
+ "members": [
+ {
+ "name": "raw"
+ },
+ {
+ "name": "base64"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "raw",
+ "base64"
+ ]
+ },
+ {
+ "name": "562",
+ "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": "563",
+ "members": [
+ {
+ "name": "client"
+ },
+ {
+ "name": "server"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "client",
+ "server"
+ ]
+ },
+ {
+ "name": "564",
+ "members": [
+ {
+ "name": "uninitialized"
+ },
+ {
+ "name": "stopped"
+ },
+ {
+ "name": "check-stop"
+ },
+ {
+ "name": "operating"
+ },
+ {
+ "name": "load"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "uninitialized",
+ "stopped",
+ "check-stop",
+ "operating",
+ "load"
+ ]
+ },
+ {
+ "name": "565",
+ "members": [
+ {
+ "name": "memory"
+ },
+ {
+ "name": "first-level"
+ },
+ {
+ "name": "second-level"
+ },
+ {
+ "name": "third-level"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "memory",
+ "first-level",
+ "second-level",
+ "third-level"
+ ]
+ },
+ {
+ "name": "566",
+ "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": "567",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "direct"
+ },
+ {
+ "name": "complex"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "direct",
+ "complex"
+ ]
+ },
+ {
+ "name": "568",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "write-back"
+ },
+ {
+ "name": "write-through"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "write-back",
+ "write-through"
+ ]
+ },
+ {
+ "name": "569",
+ "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": "570",
+ "members": [
+ {
+ "name": "id",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "memaddr",
+ "type": "int"
+ },
+ {
+ "name": "size",
+ "type": "int"
+ },
+ {
+ "name": "memdev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "571",
+ "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": "572",
+ "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": "573",
+ "members": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "boolean"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "size"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "string",
+ "boolean",
+ "number",
+ "size"
+ ]
+ },
+ {
+ "name": "574",
+ "members": [
+ {
+ "name": "desc",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "class",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "575",
+ "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": "576",
+ "members": [
+ {
+ "name": "bus",
+ "type": "635"
+ },
+ {
+ "name": "devices",
+ "default": null,
+ "type": "[461]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[577]",
+ "element-type": "577",
+ "meta-type": "array"
+ },
+ {
+ "name": "577",
+ "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": "578",
+ "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": "579",
+ "members": [
+ {
+ "name": "qcow2"
+ },
+ {
+ "name": "vmdk"
+ },
+ {
+ "name": "luks"
+ },
+ {
+ "name": "rbd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow2",
+ "vmdk",
+ "luks",
+ "rbd"
+ ]
+ },
+ {
+ "name": "580",
+ "members": [
+ {
+ "name": "data",
+ "type": "636"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "581",
+ "members": [
+ {
+ "name": "data",
+ "type": "637"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "582",
+ "members": [
+ {
+ "name": "data",
+ "type": "638"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "583",
+ "members": [
+ {
+ "name": "data",
+ "type": "639"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "584",
+ "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": "585",
+ "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": "586",
+ "members": [
+ {
+ "name": "inet"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "inet"
+ ]
+ },
+ {
+ "name": "587",
+ "members": [
+ {
+ "name": "template",
+ "default": null,
+ "type": "588"
+ },
+ {
+ "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": "588",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "constant"
+ },
+ {
+ "name": "cached"
+ },
+ {
+ "name": "all"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "constant",
+ "cached",
+ "all"
+ ]
+ },
+ {
+ "name": "589",
+ "members": [
+ {
+ "name": "aes"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes",
+ "luks"
+ ]
+ },
+ {
+ "name": "590",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "591",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "592",
+ "members": [
+ {
+ "name": "aes"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes"
+ ]
+ },
+ {
+ "name": "593",
+ "members": [
+ {
+ "name": "luks"
+ },
+ {
+ "name": "luks2"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "luks",
+ "luks2"
+ ]
+ },
+ {
+ "name": "594",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "595",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "596",
+ "members": [
+ {
+ "name": "none"
+ },
+ {
+ "name": "hash"
+ },
+ {
+ "name": "known_hosts"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "none",
+ "hash",
+ "known_hosts"
+ ]
+ },
+ {
+ "name": "597",
+ "members": [
+ {
+ "name": "type",
+ "type": "640"
+ },
+ {
+ "name": "hash",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "598",
+ "members": [
+ {
+ "name": "off"
+ },
+ {
+ "name": "metadata"
+ },
+ {
+ "name": "falloc"
+ },
+ {
+ "name": "full"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "off",
+ "metadata",
+ "falloc",
+ "full"
+ ]
+ },
+ {
+ "name": "599",
+ "members": [
+ {
+ "name": "aes-128"
+ },
+ {
+ "name": "aes-192"
+ },
+ {
+ "name": "aes-256"
+ },
+ {
+ "name": "des"
+ },
+ {
+ "name": "3des"
+ },
+ {
+ "name": "cast5-128"
+ },
+ {
+ "name": "serpent-128"
+ },
+ {
+ "name": "serpent-192"
+ },
+ {
+ "name": "serpent-256"
+ },
+ {
+ "name": "twofish-128"
+ },
+ {
+ "name": "twofish-192"
+ },
+ {
+ "name": "twofish-256"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "aes-128",
+ "aes-192",
+ "aes-256",
+ "des",
+ "3des",
+ "cast5-128",
+ "serpent-128",
+ "serpent-192",
+ "serpent-256",
+ "twofish-128",
+ "twofish-192",
+ "twofish-256"
+ ]
+ },
+ {
+ "name": "600",
+ "members": [
+ {
+ "name": "ecb"
+ },
+ {
+ "name": "cbc"
+ },
+ {
+ "name": "xts"
+ },
+ {
+ "name": "ctr"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ecb",
+ "cbc",
+ "xts",
+ "ctr"
+ ]
+ },
+ {
+ "name": "601",
+ "members": [
+ {
+ "name": "plain"
+ },
+ {
+ "name": "plain64"
+ },
+ {
+ "name": "essiv"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "plain",
+ "plain64",
+ "essiv"
+ ]
+ },
+ {
+ "name": "602",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha224"
+ },
+ {
+ "name": "sha256"
+ },
+ {
+ "name": "sha384"
+ },
+ {
+ "name": "sha512"
+ },
+ {
+ "name": "ripemd160"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha224",
+ "sha256",
+ "sha384",
+ "sha512",
+ "ripemd160"
+ ]
+ },
+ {
+ "name": "603",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "qcow",
+ "type": "590"
+ },
+ {
+ "case": "luks",
+ "type": "642"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "641"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "604",
+ "members": [
+ {
+ "name": "v2"
+ },
+ {
+ "name": "v3"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "v2",
+ "v3"
+ ]
+ },
+ {
+ "name": "605",
+ "members": [
+ {
+ "name": "zlib"
+ },
+ {
+ "name": "zstd"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "zlib",
+ "zstd"
+ ]
+ },
+ {
+ "name": "606",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "643"
+ },
+ {
+ "case": "luks2",
+ "type": "644"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "593"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "607",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "608",
+ "members": [
+ {
+ "name": "monolithicSparse"
+ },
+ {
+ "name": "monolithicFlat"
+ },
+ {
+ "name": "twoGbMaxExtentSparse"
+ },
+ {
+ "name": "twoGbMaxExtentFlat"
+ },
+ {
+ "name": "streamOptimized"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "monolithicSparse",
+ "monolithicFlat",
+ "twoGbMaxExtentSparse",
+ "twoGbMaxExtentFlat",
+ "streamOptimized"
+ ]
+ },
+ {
+ "name": "609",
+ "members": [
+ {
+ "name": "ide"
+ },
+ {
+ "name": "buslogic"
+ },
+ {
+ "name": "lsilogic"
+ },
+ {
+ "name": "legacyESX"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "ide",
+ "buslogic",
+ "lsilogic",
+ "legacyESX"
+ ]
+ },
+ {
+ "name": "610",
+ "members": [
+ {
+ "name": "dynamic"
+ },
+ {
+ "name": "fixed"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "dynamic",
+ "fixed"
+ ]
+ },
+ {
+ "name": "611",
+ "members": [
+ {
+ "name": "active"
+ },
+ {
+ "name": "inactive"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "active",
+ "inactive"
+ ]
+ },
+ {
+ "name": "612",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "645"
+ },
+ {
+ "case": "qcow",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "641"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "613",
+ "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": "614",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "device",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "615",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "type": "311"
+ },
+ {
+ "name": "tls-creds",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "tls-authz",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "server",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "wait",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "nodelay",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "telnet",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "tn3270",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "websocket",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "reconnect",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "616",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "remote",
+ "type": "311"
+ },
+ {
+ "name": "local",
+ "default": null,
+ "type": "311"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "617",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "618",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "619",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "signal",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "620",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "type",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "621",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "fqdn",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "622",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "mouse",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "clipboard",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "623",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "624",
+ "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": "625",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "size",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "626",
+ "members": [
+ {
+ "name": "path",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cancel-path",
+ "default": null,
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "627",
+ "members": [
+ {
+ "name": "chardev",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "628",
+ "members": [
+ {
+ "name": "unmapped"
+ },
+ {
+ "name": "shift"
+ },
+ {
+ "name": "shift_r"
+ },
+ {
+ "name": "alt"
+ },
+ {
+ "name": "alt_r"
+ },
+ {
+ "name": "ctrl"
+ },
+ {
+ "name": "ctrl_r"
+ },
+ {
+ "name": "menu"
+ },
+ {
+ "name": "esc"
+ },
+ {
+ "name": "1"
+ },
+ {
+ "name": "2"
+ },
+ {
+ "name": "3"
+ },
+ {
+ "name": "4"
+ },
+ {
+ "name": "5"
+ },
+ {
+ "name": "6"
+ },
+ {
+ "name": "7"
+ },
+ {
+ "name": "8"
+ },
+ {
+ "name": "9"
+ },
+ {
+ "name": "0"
+ },
+ {
+ "name": "minus"
+ },
+ {
+ "name": "equal"
+ },
+ {
+ "name": "backspace"
+ },
+ {
+ "name": "tab"
+ },
+ {
+ "name": "q"
+ },
+ {
+ "name": "w"
+ },
+ {
+ "name": "e"
+ },
+ {
+ "name": "r"
+ },
+ {
+ "name": "t"
+ },
+ {
+ "name": "y"
+ },
+ {
+ "name": "u"
+ },
+ {
+ "name": "i"
+ },
+ {
+ "name": "o"
+ },
+ {
+ "name": "p"
+ },
+ {
+ "name": "bracket_left"
+ },
+ {
+ "name": "bracket_right"
+ },
+ {
+ "name": "ret"
+ },
+ {
+ "name": "a"
+ },
+ {
+ "name": "s"
+ },
+ {
+ "name": "d"
+ },
+ {
+ "name": "f"
+ },
+ {
+ "name": "g"
+ },
+ {
+ "name": "h"
+ },
+ {
+ "name": "j"
+ },
+ {
+ "name": "k"
+ },
+ {
+ "name": "l"
+ },
+ {
+ "name": "semicolon"
+ },
+ {
+ "name": "apostrophe"
+ },
+ {
+ "name": "grave_accent"
+ },
+ {
+ "name": "backslash"
+ },
+ {
+ "name": "z"
+ },
+ {
+ "name": "x"
+ },
+ {
+ "name": "c"
+ },
+ {
+ "name": "v"
+ },
+ {
+ "name": "b"
+ },
+ {
+ "name": "n"
+ },
+ {
+ "name": "m"
+ },
+ {
+ "name": "comma"
+ },
+ {
+ "name": "dot"
+ },
+ {
+ "name": "slash"
+ },
+ {
+ "name": "asterisk"
+ },
+ {
+ "name": "spc"
+ },
+ {
+ "name": "caps_lock"
+ },
+ {
+ "name": "f1"
+ },
+ {
+ "name": "f2"
+ },
+ {
+ "name": "f3"
+ },
+ {
+ "name": "f4"
+ },
+ {
+ "name": "f5"
+ },
+ {
+ "name": "f6"
+ },
+ {
+ "name": "f7"
+ },
+ {
+ "name": "f8"
+ },
+ {
+ "name": "f9"
+ },
+ {
+ "name": "f10"
+ },
+ {
+ "name": "num_lock"
+ },
+ {
+ "name": "scroll_lock"
+ },
+ {
+ "name": "kp_divide"
+ },
+ {
+ "name": "kp_multiply"
+ },
+ {
+ "name": "kp_subtract"
+ },
+ {
+ "name": "kp_add"
+ },
+ {
+ "name": "kp_enter"
+ },
+ {
+ "name": "kp_decimal"
+ },
+ {
+ "name": "sysrq"
+ },
+ {
+ "name": "kp_0"
+ },
+ {
+ "name": "kp_1"
+ },
+ {
+ "name": "kp_2"
+ },
+ {
+ "name": "kp_3"
+ },
+ {
+ "name": "kp_4"
+ },
+ {
+ "name": "kp_5"
+ },
+ {
+ "name": "kp_6"
+ },
+ {
+ "name": "kp_7"
+ },
+ {
+ "name": "kp_8"
+ },
+ {
+ "name": "kp_9"
+ },
+ {
+ "name": "less"
+ },
+ {
+ "name": "f11"
+ },
+ {
+ "name": "f12"
+ },
+ {
+ "name": "print"
+ },
+ {
+ "name": "home"
+ },
+ {
+ "name": "pgup"
+ },
+ {
+ "name": "pgdn"
+ },
+ {
+ "name": "end"
+ },
+ {
+ "name": "left"
+ },
+ {
+ "name": "up"
+ },
+ {
+ "name": "down"
+ },
+ {
+ "name": "right"
+ },
+ {
+ "name": "insert"
+ },
+ {
+ "name": "delete"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "again"
+ },
+ {
+ "name": "props"
+ },
+ {
+ "name": "undo"
+ },
+ {
+ "name": "front"
+ },
+ {
+ "name": "copy"
+ },
+ {
+ "name": "open"
+ },
+ {
+ "name": "paste"
+ },
+ {
+ "name": "find"
+ },
+ {
+ "name": "cut"
+ },
+ {
+ "name": "lf"
+ },
+ {
+ "name": "help"
+ },
+ {
+ "name": "meta_l"
+ },
+ {
+ "name": "meta_r"
+ },
+ {
+ "name": "compose"
+ },
+ {
+ "name": "pause"
+ },
+ {
+ "name": "ro"
+ },
+ {
+ "name": "hiragana"
+ },
+ {
+ "name": "henkan"
+ },
+ {
+ "name": "yen"
+ },
+ {
+ "name": "muhenkan"
+ },
+ {
+ "name": "katakanahiragana"
+ },
+ {
+ "name": "kp_comma"
+ },
+ {
+ "name": "kp_equals"
+ },
+ {
+ "name": "power"
+ },
+ {
+ "name": "sleep"
+ },
+ {
+ "name": "wake"
+ },
+ {
+ "name": "audionext"
+ },
+ {
+ "name": "audioprev"
+ },
+ {
+ "name": "audiostop"
+ },
+ {
+ "name": "audioplay"
+ },
+ {
+ "name": "audiomute"
+ },
+ {
+ "name": "volumeup"
+ },
+ {
+ "name": "volumedown"
+ },
+ {
+ "name": "mediaselect"
+ },
+ {
+ "name": "mail"
+ },
+ {
+ "name": "calculator"
+ },
+ {
+ "name": "computer"
+ },
+ {
+ "name": "ac_home"
+ },
+ {
+ "name": "ac_back"
+ },
+ {
+ "name": "ac_forward"
+ },
+ {
+ "name": "ac_refresh"
+ },
+ {
+ "name": "ac_bookmarks"
+ },
+ {
+ "name": "lang1"
+ },
+ {
+ "name": "lang2"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "unmapped",
+ "shift",
+ "shift_r",
+ "alt",
+ "alt_r",
+ "ctrl",
+ "ctrl_r",
+ "menu",
+ "esc",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "0",
+ "minus",
+ "equal",
+ "backspace",
+ "tab",
+ "q",
+ "w",
+ "e",
+ "r",
+ "t",
+ "y",
+ "u",
+ "i",
+ "o",
+ "p",
+ "bracket_left",
+ "bracket_right",
+ "ret",
+ "a",
+ "s",
+ "d",
+ "f",
+ "g",
+ "h",
+ "j",
+ "k",
+ "l",
+ "semicolon",
+ "apostrophe",
+ "grave_accent",
+ "backslash",
+ "z",
+ "x",
+ "c",
+ "v",
+ "b",
+ "n",
+ "m",
+ "comma",
+ "dot",
+ "slash",
+ "asterisk",
+ "spc",
+ "caps_lock",
+ "f1",
+ "f2",
+ "f3",
+ "f4",
+ "f5",
+ "f6",
+ "f7",
+ "f8",
+ "f9",
+ "f10",
+ "num_lock",
+ "scroll_lock",
+ "kp_divide",
+ "kp_multiply",
+ "kp_subtract",
+ "kp_add",
+ "kp_enter",
+ "kp_decimal",
+ "sysrq",
+ "kp_0",
+ "kp_1",
+ "kp_2",
+ "kp_3",
+ "kp_4",
+ "kp_5",
+ "kp_6",
+ "kp_7",
+ "kp_8",
+ "kp_9",
+ "less",
+ "f11",
+ "f12",
+ "print",
+ "home",
+ "pgup",
+ "pgdn",
+ "end",
+ "left",
+ "up",
+ "down",
+ "right",
+ "insert",
+ "delete",
+ "stop",
+ "again",
+ "props",
+ "undo",
+ "front",
+ "copy",
+ "open",
+ "paste",
+ "find",
+ "cut",
+ "lf",
+ "help",
+ "meta_l",
+ "meta_r",
+ "compose",
+ "pause",
+ "ro",
+ "hiragana",
+ "henkan",
+ "yen",
+ "muhenkan",
+ "katakanahiragana",
+ "kp_comma",
+ "kp_equals",
+ "power",
+ "sleep",
+ "wake",
+ "audionext",
+ "audioprev",
+ "audiostop",
+ "audioplay",
+ "audiomute",
+ "volumeup",
+ "volumedown",
+ "mediaselect",
+ "mail",
+ "calculator",
+ "computer",
+ "ac_home",
+ "ac_back",
+ "ac_forward",
+ "ac_refresh",
+ "ac_bookmarks",
+ "lang1",
+ "lang2"
+ ]
+ },
+ {
+ "name": "629",
+ "members": [
+ {
+ "name": "key",
+ "type": "356"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "630",
+ "members": [
+ {
+ "name": "button",
+ "type": "646"
+ },
+ {
+ "name": "down",
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "631",
+ "members": [
+ {
+ "name": "axis",
+ "type": "647"
+ },
+ {
+ "name": "value",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "632",
+ "members": [
+ {
+ "name": "persistent",
+ "default": null,
+ "type": "bool"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "633",
+ "members": [
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "634",
+ "members": [
+ {
+ "name": "exact"
+ },
+ {
+ "name": "glob"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "exact",
+ "glob"
+ ]
+ },
+ {
+ "name": "635",
+ "members": [
+ {
+ "name": "number",
+ "type": "int"
+ },
+ {
+ "name": "secondary",
+ "type": "int"
+ },
+ {
+ "name": "subordinate",
+ "type": "int"
+ },
+ {
+ "name": "io_range",
+ "type": "648"
+ },
+ {
+ "name": "memory_range",
+ "type": "648"
+ },
+ {
+ "name": "prefetchable_range",
+ "type": "648"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "636",
+ "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": "649"
+ },
+ {
+ "name": "bitmaps",
+ "default": null,
+ "type": "[650]"
+ },
+ {
+ "name": "compression-type",
+ "type": "605"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "637",
+ "members": [
+ {
+ "name": "create-type",
+ "type": "str"
+ },
+ {
+ "name": "cid",
+ "type": "int"
+ },
+ {
+ "name": "parent-cid",
+ "type": "int"
+ },
+ {
+ "name": "extents",
+ "type": "[264]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "638",
+ "members": [
+ {
+ "name": "cipher-alg",
+ "type": "599"
+ },
+ {
+ "name": "cipher-mode",
+ "type": "600"
+ },
+ {
+ "name": "ivgen-alg",
+ "type": "601"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "602"
+ },
+ {
+ "name": "hash-alg",
+ "type": "602"
+ },
+ {
+ "name": "payload-offset",
+ "type": "int"
+ },
+ {
+ "name": "master-key-iters",
+ "type": "int"
+ },
+ {
+ "name": "uuid",
+ "type": "str"
+ },
+ {
+ "name": "slots",
+ "type": "[651]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "639",
+ "members": [
+ {
+ "name": "encryption-format",
+ "default": null,
+ "type": "593"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "640",
+ "members": [
+ {
+ "name": "md5"
+ },
+ {
+ "name": "sha1"
+ },
+ {
+ "name": "sha256"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "md5",
+ "sha1",
+ "sha256"
+ ]
+ },
+ {
+ "name": "641",
+ "members": [
+ {
+ "name": "qcow"
+ },
+ {
+ "name": "luks"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "qcow",
+ "luks"
+ ]
+ },
+ {
+ "name": "642",
+ "members": [
+ {
+ "name": "key-secret",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "599"
+ },
+ {
+ "name": "cipher-mode",
+ "default": null,
+ "type": "600"
+ },
+ {
+ "name": "ivgen-alg",
+ "default": null,
+ "type": "601"
+ },
+ {
+ "name": "ivgen-hash-alg",
+ "default": null,
+ "type": "602"
+ },
+ {
+ "name": "hash-alg",
+ "default": null,
+ "type": "602"
+ },
+ {
+ "name": "iter-time",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "643",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "599"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "644",
+ "members": [
+ {
+ "name": "key-secret",
+ "type": "str"
+ },
+ {
+ "name": "cipher-alg",
+ "default": null,
+ "type": "599"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "645",
+ "members": [
+ {
+ "name": "state",
+ "type": "611"
+ },
+ {
+ "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": "646",
+ "members": [
+ {
+ "name": "left"
+ },
+ {
+ "name": "middle"
+ },
+ {
+ "name": "right"
+ },
+ {
+ "name": "wheel-up"
+ },
+ {
+ "name": "wheel-down"
+ },
+ {
+ "name": "side"
+ },
+ {
+ "name": "extra"
+ },
+ {
+ "name": "wheel-left"
+ },
+ {
+ "name": "wheel-right"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "left",
+ "middle",
+ "right",
+ "wheel-up",
+ "wheel-down",
+ "side",
+ "extra",
+ "wheel-left",
+ "wheel-right"
+ ]
+ },
+ {
+ "name": "647",
+ "members": [
+ {
+ "name": "x"
+ },
+ {
+ "name": "y"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "x",
+ "y"
+ ]
+ },
+ {
+ "name": "648",
+ "members": [
+ {
+ "name": "base",
+ "type": "int"
+ },
+ {
+ "name": "limit",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "649",
+ "tag": "format",
+ "variants": [
+ {
+ "case": "luks",
+ "type": "638"
+ },
+ {
+ "case": "aes",
+ "type": "0"
+ }
+ ],
+ "members": [
+ {
+ "name": "format",
+ "type": "589"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[650]",
+ "element-type": "650",
+ "meta-type": "array"
+ },
+ {
+ "name": "650",
+ "members": [
+ {
+ "name": "name",
+ "type": "str"
+ },
+ {
+ "name": "granularity",
+ "type": "int"
+ },
+ {
+ "name": "flags",
+ "type": "[652]"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[264]",
+ "element-type": "264",
+ "meta-type": "array"
+ },
+ {
+ "name": "[651]",
+ "element-type": "651",
+ "meta-type": "array"
+ },
+ {
+ "name": "651",
+ "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": "[652]",
+ "element-type": "652",
+ "meta-type": "array"
+ },
+ {
+ "name": "652",
+ "members": [
+ {
+ "name": "in-use"
+ },
+ {
+ "name": "auto"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "in-use",
+ "auto"
+ ]
+ }
+ ],
+ "id": "libvirt-4"
+}
+
+{
+ "execute": "query-commands",
+ "id": "libvirt-5"
+}
+
+{
+ "return": [
+ {
+ "name": "device_add"
+ },
+ {
+ "name": "query-pci"
+ },
+ {
+ "name": "query-acpi-ospm-status"
+ },
+ {
+ "name": "query-sgx-capabilities"
+ },
+ {
+ "name": "query-sgx"
+ },
+ {
+ "name": "query-sev-attestation-report"
+ },
+ {
+ "name": "sev-inject-launch-secret"
+ },
+ {
+ "name": "query-sev-capabilities"
+ },
+ {
+ "name": "query-sev-launch-measure"
+ },
+ {
+ "name": "query-sev"
+ },
+ {
+ "name": "rtc-reset-reinjection"
+ },
+ {
+ "name": "query-command-line-options"
+ },
+ {
+ "name": "query-fdsets"
+ },
+ {
+ "name": "remove-fd"
+ },
+ {
+ "name": "add-fd"
+ },
+ {
+ "name": "closefd"
+ },
+ {
+ "name": "getfd"
+ },
+ {
+ "name": "human-monitor-command"
+ },
+ {
+ "name": "x-exit-preconfig"
+ },
+ {
+ "name": "cont"
+ },
+ {
+ "name": "stop"
+ },
+ {
+ "name": "query-iothreads"
+ },
+ {
+ "name": "query-name"
+ },
+ {
+ "name": "add_client"
+ },
+ {
+ "name": "query-yank"
+ },
+ {
+ "name": "yank"
+ },
+ {
+ "name": "replay-seek"
+ },
+ {
+ "name": "replay-delete-break"
+ },
+ {
+ "name": "replay-break"
+ },
+ {
+ "name": "query-replay"
+ },
+ {
+ "name": "query-cpu-definitions"
+ },
+ {
+ "name": "query-cpu-model-expansion"
+ },
+ {
+ "name": "x-query-usb"
+ },
+ {
+ "name": "x-query-roms"
+ },
+ {
+ "name": "x-query-rdma"
+ },
+ {
+ "name": "x-query-ramblock"
+ },
+ {
+ "name": "x-query-profile"
+ },
+ {
+ "name": "x-query-opcount"
+ },
+ {
+ "name": "x-query-numa"
+ },
+ {
+ "name": "x-query-jit"
+ },
+ {
+ "name": "x-query-irq"
+ },
+ {
+ "name": "query-memory-devices"
+ },
+ {
+ "name": "query-memory-size-summary"
+ },
+ {
+ "name": "query-balloon"
+ },
+ {
+ "name": "balloon"
+ },
+ {
+ "name": "set-numa-node"
+ },
+ {
+ "name": "query-hotpluggable-cpus"
+ },
+ {
+ "name": "query-memdev"
+ },
+ {
+ "name": "pmemsave"
+ },
+ {
+ "name": "memsave"
+ },
+ {
+ "name": "query-kvm"
+ },
+ {
+ "name": "inject-nmi"
+ },
+ {
+ "name": "system_wakeup"
+ },
+ {
+ "name": "system_powerdown"
+ },
+ {
+ "name": "system_reset"
+ },
+ {
+ "name": "query-vm-generation-id"
+ },
+ {
+ "name": "query-uuid"
+ },
+ {
+ "name": "query-target"
+ },
+ {
+ "name": "query-current-machine"
+ },
+ {
+ "name": "query-machines"
+ },
+ {
+ "name": "query-cpus-fast"
+ },
+ {
+ "name": "device_del"
+ },
+ {
+ "name": "device-list-properties"
+ },
+ {
+ "name": "object-del"
+ },
+ {
+ "name": "object-add"
+ },
+ {
+ "name": "qom-list-properties"
+ },
+ {
+ "name": "qom-list-types"
+ },
+ {
+ "name": "qom-set"
+ },
+ {
+ "name": "qom-get"
+ },
+ {
+ "name": "qom-list"
+ },
+ {
+ "name": "query-qmp-schema"
+ },
+ {
+ "name": "quit"
+ },
+ {
+ "name": "query-commands"
+ },
+ {
+ "name": "query-version"
+ },
+ {
+ "name": "qmp_capabilities"
+ },
+ {
+ "name": "trace-event-set-state"
+ },
+ {
+ "name": "trace-event-get-state"
+ },
+ {
+ "name": "transaction"
+ },
+ {
+ "name": "snapshot-delete"
+ },
+ {
+ "name": "snapshot-load"
+ },
+ {
+ "name": "snapshot-save"
+ },
+ {
+ "name": "query-dirty-rate"
+ },
+ {
+ "name": "calc-dirty-rate"
+ },
+ {
+ "name": "migrate-pause"
+ },
+ {
+ "name": "migrate-recover"
+ },
+ {
+ "name": "query-colo-status"
+ },
+ {
+ "name": "xen-colo-do-checkpoint"
+ },
+ {
+ "name": "query-xen-replication-status"
+ },
+ {
+ "name": "xen-set-replication"
+ },
+ {
+ "name": "xen-load-devices-state"
+ },
+ {
+ "name": "xen-set-global-dirty-log"
+ },
+ {
+ "name": "xen-save-devices-state"
+ },
+ {
+ "name": "migrate-incoming"
+ },
+ {
+ "name": "migrate"
+ },
+ {
+ "name": "migrate-continue"
+ },
+ {
+ "name": "migrate_cancel"
+ },
+ {
+ "name": "x-colo-lost-heartbeat"
+ },
+ {
+ "name": "migrate-start-postcopy"
+ },
+ {
+ "name": "client_migrate_info"
+ },
+ {
+ "name": "query-migrate-parameters"
+ },
+ {
+ "name": "migrate-set-parameters"
+ },
+ {
+ "name": "query-migrate-capabilities"
+ },
+ {
+ "name": "migrate-set-capabilities"
+ },
+ {
+ "name": "query-migrate"
+ },
+ {
+ "name": "display-update"
+ },
+ {
+ "name": "display-reload"
+ },
+ {
+ "name": "query-display-options"
+ },
+ {
+ "name": "input-send-event"
+ },
+ {
+ "name": "send-key"
+ },
+ {
+ "name": "query-mice"
+ },
+ {
+ "name": "change-vnc-password"
+ },
+ {
+ "name": "query-vnc-servers"
+ },
+ {
+ "name": "query-vnc"
+ },
+ {
+ "name": "query-spice"
+ },
+ {
+ "name": "screendump"
+ },
+ {
+ "name": "expire_password"
+ },
+ {
+ "name": "set_password"
+ },
+ {
+ "name": "query-tpm"
+ },
+ {
+ "name": "query-tpm-types"
+ },
+ {
+ "name": "query-tpm-models"
+ },
+ {
+ "name": "query-rocker-of-dpa-groups"
+ },
+ {
+ "name": "query-rocker-of-dpa-flows"
+ },
+ {
+ "name": "query-rocker-ports"
+ },
+ {
+ "name": "query-rocker"
+ },
+ {
+ "name": "announce-self"
+ },
+ {
+ "name": "query-rx-filter"
+ },
+ {
+ "name": "netdev_del"
+ },
+ {
+ "name": "netdev_add"
+ },
+ {
+ "name": "set_link"
+ },
+ {
+ "name": "query-dump-guest-memory-capability"
+ },
+ {
+ "name": "query-dump"
+ },
+ {
+ "name": "dump-guest-memory"
+ },
+ {
+ "name": "chardev-send-break"
+ },
+ {
+ "name": "chardev-remove"
+ },
+ {
+ "name": "chardev-change"
+ },
+ {
+ "name": "chardev-add"
+ },
+ {
+ "name": "ringbuf-read"
+ },
+ {
+ "name": "ringbuf-write"
+ },
+ {
+ "name": "query-chardev-backends"
+ },
+ {
+ "name": "query-chardev"
+ },
+ {
+ "name": "query-block-exports"
+ },
+ {
+ "name": "block-export-del"
+ },
+ {
+ "name": "block-export-add"
+ },
+ {
+ "name": "nbd-server-stop"
+ },
+ {
+ "name": "nbd-server-remove"
+ },
+ {
+ "name": "nbd-server-add"
+ },
+ {
+ "name": "nbd-server-start"
+ },
+ {
+ "name": "query-jobs"
+ },
+ {
+ "name": "job-finalize"
+ },
+ {
+ "name": "job-dismiss"
+ },
+ {
+ "name": "job-complete"
+ },
+ {
+ "name": "job-cancel"
+ },
+ {
+ "name": "job-resume"
+ },
+ {
+ "name": "job-pause"
+ },
+ {
+ "name": "blockdev-snapshot-delete-internal-sync"
+ },
+ {
+ "name": "blockdev-snapshot-internal-sync"
+ },
+ {
+ "name": "x-blockdev-set-iothread"
+ },
+ {
+ "name": "x-blockdev-change"
+ },
+ {
+ "name": "block-set-write-threshold"
+ },
+ {
+ "name": "x-blockdev-amend"
+ },
+ {
+ "name": "blockdev-create"
+ },
+ {
+ "name": "blockdev-del"
+ },
+ {
+ "name": "blockdev-reopen"
+ },
+ {
+ "name": "blockdev-add"
+ },
+ {
+ "name": "block-job-finalize"
+ },
+ {
+ "name": "block-job-dismiss"
+ },
+ {
+ "name": "block-job-complete"
+ },
+ {
+ "name": "block-job-resume"
+ },
+ {
+ "name": "block-job-pause"
+ },
+ {
+ "name": "block-job-cancel"
+ },
+ {
+ "name": "block-job-set-speed"
+ },
+ {
+ "name": "block-stream"
+ },
+ {
+ "name": "blockdev-mirror"
+ },
+ {
+ "name": "x-debug-block-dirty-bitmap-sha256"
+ },
+ {
+ "name": "block-dirty-bitmap-merge"
+ },
+ {
+ "name": "block-dirty-bitmap-disable"
+ },
+ {
+ "name": "block-dirty-bitmap-enable"
+ },
+ {
+ "name": "block-dirty-bitmap-clear"
+ },
+ {
+ "name": "block-dirty-bitmap-remove"
+ },
+ {
+ "name": "block-dirty-bitmap-add"
+ },
+ {
+ "name": "drive-mirror"
+ },
+ {
+ "name": "x-debug-query-block-graph"
+ },
+ {
+ "name": "query-named-block-nodes"
+ },
+ {
+ "name": "blockdev-backup"
+ },
+ {
+ "name": "drive-backup"
+ },
+ {
+ "name": "block-commit"
+ },
+ {
+ "name": "change-backing-file"
+ },
+ {
+ "name": "blockdev-snapshot"
+ },
+ {
+ "name": "blockdev-snapshot-sync"
+ },
+ {
+ "name": "block_resize"
+ },
+ {
+ "name": "query-block-jobs"
+ },
+ {
+ "name": "query-blockstats"
+ },
+ {
+ "name": "query-block"
+ },
+ {
+ "name": "block-latency-histogram-set"
+ },
+ {
+ "name": "block_set_io_throttle"
+ },
+ {
+ "name": "blockdev-change-medium"
+ },
+ {
+ "name": "blockdev-insert-medium"
+ },
+ {
+ "name": "blockdev-remove-medium"
+ },
+ {
+ "name": "blockdev-close-tray"
+ },
+ {
+ "name": "blockdev-open-tray"
+ },
+ {
+ "name": "eject"
+ },
+ {
+ "name": "query-pr-managers"
+ },
+ {
+ "name": "set-action"
+ },
+ {
+ "name": "watchdog-set-action"
+ },
+ {
+ "name": "query-status"
+ }
+ ],
+ "id": "libvirt-5"
+}
+
+{
+ "execute": "query-kvm",
+ "id": "libvirt-6"
+}
+
+{
+ "return": {
+ "enabled": true,
+ "present": true
+ },
+ "id": "libvirt-6"
+}
+
+{
+ "execute": "qom-list-types",
+ "id": "libvirt-7"
+}
+
+{
+ "return": [
+ {
+ "name": "vhost-user-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "pcie-pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "pc-q35-2.11-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "acpi-erst",
+ "parent": "pci-device"
+ },
+ {
+ "name": "isa-applesmc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Westmere-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-input-pci",
+ "parent": "vhost-user-input-pci-base-type"
+ },
+ {
+ "name": "usb-redir",
+ "parent": "usb-device"
+ },
+ {
+ "name": "floppy-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "virtio-crypto-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "chardev-testdev",
+ "parent": "chardev"
+ },
+ {
+ "name": "Denverton-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Icelake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-stdio",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "pci-ipmi-bt",
+ "parent": "pci-device"
+ },
+ {
+ "name": "filter-buffer",
+ "parent": "netfilter"
+ },
+ {
+ "name": "usb-wacom-tablet",
+ "parent": "usb-device"
+ },
+ {
+ "name": "ich9-usb-uhci6",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "secondary-vga",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "kvm-pit",
+ "parent": "pit-common"
+ },
+ {
+ "name": "Haswell-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "rtl8139",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-rng-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "pci-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "pc-i440fx-3.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "sev-guest",
+ "parent": "confidential-guest-support"
+ },
+ {
+ "name": "core2duo-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ich9-usb-uhci5",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pcm3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-2.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "max-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmware-svga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "tpm-crb",
+ "parent": "device"
+ },
+ {
+ "name": "kvm-ioapic",
+ "parent": "ioapic-common"
+ },
+ {
+ "name": "virtio-mmio-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "serial",
+ "parent": "device"
+ },
+ {
+ "name": "gus",
+ "parent": "isa-device"
+ },
+ {
+ "name": "ich9-usb-uhci4",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "usb-hub",
+ "parent": "usb-device"
+ },
+ {
+ "name": "chardev-pty",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-blk-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "ich9-usb-uhci3",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "Opteron_G5-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Icelake-Client-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-wctablet",
+ "parent": "chardev"
+ },
+ {
+ "name": "Westmere-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-6.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "ich9-usb-uhci2",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pc-i440fx-2.8-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-serial",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "virtio-gpu-gl-device",
+ "parent": "virtio-gpu-device"
+ },
+ {
+ "name": "qtest-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "vhost-user-vsock-pci",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "ich9-usb-uhci1",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "Icelake-Client-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-5.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "scsi-generic",
+ "parent": "scsi-device"
+ },
+ {
+ "name": "ICH9-SMB",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvmclock",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-serial-pci-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "x3130-upstream",
+ "parent": "pcie-port"
+ },
+ {
+ "name": "memory-backend-ram",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "PCIE",
+ "parent": "PCI"
+ },
+ {
+ "name": "e1000e",
+ "parent": "pci-device"
+ },
+ {
+ "name": "n270-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cooperlake-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pxb-host",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "virtio-9p-pci-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "chardev-file",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "Icelake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "tpm-passthrough",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "pentium3-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-serial-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "usb-host",
+ "parent": "usb-device"
+ },
+ {
+ "name": "tulip",
+ "parent": "pci-device"
+ },
+ {
+ "name": "piix3-ide",
+ "parent": "pci-ide"
+ },
+ {
+ "name": "filter-rewriter",
+ "parent": "netfilter"
+ },
+ {
+ "name": "pc-i440fx-4.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-scsi-pci",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "ICH9-LPC",
+ "parent": "pci-device"
+ },
+ {
+ "name": "acpi-ged",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "isa-ipmi-bt",
+ "parent": "isa-device"
+ },
+ {
+ "name": "virtio-gpu-pci",
+ "parent": "virtio-gpu-pci-base-type"
+ },
+ {
+ "name": "Snowridge-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pci-ipmi-kcs",
+ "parent": "pci-device"
+ },
+ {
+ "name": "xio3130-downstream",
+ "parent": "pcie-slot"
+ },
+ {
+ "name": "intel-iommu-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "vhost-user-vsock-pci-non-transitional",
+ "parent": "vhost-user-vsock-pci-base"
+ },
+ {
+ "name": "pc-i440fx-2.3-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "PCI",
+ "parent": "bus"
+ },
+ {
+ "name": "microvm-machine",
+ "parent": "x86-machine"
+ },
+ {
+ "name": "sdhci-bus",
+ "parent": "sd-bus"
+ },
+ {
+ "name": "imx-usdhc",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "pci-serial-2x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "igd-passthrough-isa-bridge",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-i2c-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virtio-9p-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "virtio-scsi-pci",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "ipmi-bmc-extern",
+ "parent": "ipmi-bmc"
+ },
+ {
+ "name": "pc-q35-4.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "authz-list-file",
+ "parent": "authz"
+ },
+ {
+ "name": "usb-audio",
+ "parent": "usb-device"
+ },
+ {
+ "name": "EPYC-Rome-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-6.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qemu32-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Client-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-net",
+ "parent": "usb-device"
+ },
+ {
+ "name": "vhost-vsock-pci-non-transitional",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "ich9-usb-ehci2",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "isa-debug-exit",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vfio-pci-nohotplug",
+ "parent": "vfio-pci"
+ },
+ {
+ "name": "KnightsMill-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i2c-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "memory-region",
+ "parent": "object"
+ },
+ {
+ "name": "Skylake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ctucan_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "ich9-usb-ehci1",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "mch",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-input-host-pci",
+ "parent": "virtio-input-host-pci-base-type"
+ },
+ {
+ "name": "nvdimm",
+ "parent": "pc-dimm"
+ },
+ {
+ "name": "pc-q35-3.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-mem",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "serial-mm",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pr-manager-helper",
+ "parent": "pr-manager"
+ },
+ {
+ "name": "pc-i440fx-2.10-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82557c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "i82557b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-scsi-device",
+ "parent": "virtio-scsi-common"
+ },
+ {
+ "name": "pxb-pcie",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Haswell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-i2c-pci",
+ "parent": "vhost-user-i2c-pci-base"
+ },
+ {
+ "name": "input-barrier",
+ "parent": "object"
+ },
+ {
+ "name": "cpu-cluster",
+ "parent": "device"
+ },
+ {
+ "name": "sysbus-xhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "i82557a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-scsi-pci-non-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "vmmouse",
+ "parent": "isa-device"
+ },
+ {
+ "name": "chardev-udp",
+ "parent": "chardev"
+ },
+ {
+ "name": "pc-q35-2.8-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "generic-sdhci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "virtio-scsi-pci-non-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "Haswell-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "migration",
+ "parent": "device"
+ },
+ {
+ "name": "athlon-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-memory",
+ "parent": "chardev-ringbuf"
+ },
+ {
+ "name": "EPYC-Rome-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-mouse-pci",
+ "parent": "virtio-mouse-pci-base-type"
+ },
+ {
+ "name": "pc-q35-5.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-1.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Skylake-Client-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-vga",
+ "parent": "vhost-user-vga-base-type"
+ },
+ {
+ "name": "Opteron_G2-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-dbus",
+ "parent": "chardev-socket"
+ },
+ {
+ "name": "Broadwell-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-7.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "usb-braille",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "EPYC-IBPB-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ib700",
+ "parent": "isa-device"
+ },
+ {
+ "name": "amd-iommu",
+ "parent": "x86-iommu"
+ },
+ {
+ "name": "Skylake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-9p-pci-non-transitional",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "Nehalem-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "memory-backend-file",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "vhost-vsock-device",
+ "parent": "vhost-vsock-common"
+ },
+ {
+ "name": "isa-pcspk",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "sd-card",
+ "parent": "device"
+ },
+ {
+ "name": "sysbus-ahci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "usb-tablet",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "pc-q35-4.0.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "virtio-blk-pci-non-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "esp",
+ "parent": "device"
+ },
+ {
+ "name": "isabus-bridge",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "ne2k_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "IvyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "ide-cd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "qtest",
+ "parent": "object"
+ },
+ {
+ "name": "tcg-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "piix4-ide",
+ "parent": "pci-ide"
+ },
+ {
+ "name": "virtio-balloon-pci",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "virtio-gpu-device",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "e1000",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "Cascadelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "athlon-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "acpi-ged-x86",
+ "parent": "acpi-ged"
+ },
+ {
+ "name": "ES1370",
+ "parent": "pci-device"
+ },
+ {
+ "name": "i82551",
+ "parent": "pci-device"
+ },
+ {
+ "name": "EPYC-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "isa-ipmi-kcs",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Icelake-Server-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "SandyBridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82550",
+ "parent": "pci-device"
+ },
+ {
+ "name": "nvme",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-6.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-user-backend",
+ "parent": "object"
+ },
+ {
+ "name": "mioe3680_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmxnet3",
+ "parent": "pci-device"
+ },
+ {
+ "name": "nec-usb-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "Conroe-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvm-apic",
+ "parent": "apic-common"
+ },
+ {
+ "name": "isa-pit",
+ "parent": "pit-common"
+ },
+ {
+ "name": "kvm64-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "memory-backend-memfd",
+ "parent": "memory-backend"
+ },
+ {
+ "name": "smbus-eeprom",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "dbus-display",
+ "parent": "object"
+ },
+ {
+ "name": "vhost-user-gpu-pci",
+ "parent": "vhost-user-gpu-pci-base-type"
+ },
+ {
+ "name": "virtio-serial-pci",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "virtio-serial-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "Denverton-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "iothread",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "virtio-crypto-pci",
+ "parent": "virtio-crypto-pci-base-type"
+ },
+ {
+ "name": "i8042",
+ "parent": "isa-device"
+ },
+ {
+ "name": "System",
+ "parent": "bus"
+ },
+ {
+ "name": "ati-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvm-i8259",
+ "parent": "pic-common"
+ },
+ {
+ "name": "pentium3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "isa-serial",
+ "parent": "isa-device"
+ },
+ {
+ "name": "imx.usbphy",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "x-remote-object",
+ "parent": "object"
+ },
+ {
+ "name": "core2duo-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk-pci-non-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "container",
+ "parent": "object"
+ },
+ {
+ "name": "cirrus-vga",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvm32-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cascadelake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82559er",
+ "parent": "pci-device"
+ },
+ {
+ "name": "remote-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "virtio-rng-pci-non-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "Skylake-Client-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "main-loop",
+ "parent": "event-loop-base"
+ },
+ {
+ "name": "Cooperlake-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "486-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "EPYC-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "scsi-cd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "sgx-epc",
+ "parent": "device"
+ },
+ {
+ "name": "gpex-root",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmport",
+ "parent": "isa-device"
+ },
+ {
+ "name": "pc-q35-7.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "isa-ide",
+ "parent": "isa-device"
+ },
+ {
+ "name": "am53c974",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-serial-pci-non-transitional",
+ "parent": "virtio-serial-pci-base"
+ },
+ {
+ "name": "qemu64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "e1000-82545em",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "sdhci-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pxb-pcie-bus",
+ "parent": "PCIE"
+ },
+ {
+ "name": "vhost-user-scsi",
+ "parent": "vhost-scsi-common"
+ },
+ {
+ "name": "PIIX4_PM",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-rng-pci-transitional",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "EPYC-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-bot",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "virtio-gpu-gl-pci",
+ "parent": "virtio-gpu-gl-pci-base-type"
+ },
+ {
+ "name": "pc-q35-2.12-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "VGA",
+ "parent": "pci-vga"
+ },
+ {
+ "name": "qio-channel-buffer",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "i440FX",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Penryn-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Conroe-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "apic",
+ "parent": "apic-common"
+ },
+ {
+ "name": "vhost-user-fs-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "pc-i440fx-3.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pci-serial-4x",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Icelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "sga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "Opteron_G5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-2.6-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "hpet",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pci-ohci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-tablet-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "Haswell-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ccid-card-passthru",
+ "parent": "ccid-card"
+ },
+ {
+ "name": "pc-i440fx-1.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-parallel",
+ "parent": "chardev"
+ },
+ {
+ "name": "chardev-vc",
+ "parent": "chardev"
+ },
+ {
+ "name": "cryptodev-backend",
+ "parent": "object"
+ },
+ {
+ "name": "isapc-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "cryptodev-vhost-user",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "tpm-emulator",
+ "parent": "tpm-backend"
+ },
+ {
+ "name": "i8257",
+ "parent": "isa-device"
+ },
+ {
+ "name": "usb-uas",
+ "parent": "usb-device"
+ },
+ {
+ "name": "SandyBridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "IvyBridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.9-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "ivshmem-plain",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "virtio-keyboard-pci",
+ "parent": "virtio-keyboard-pci-base-type"
+ },
+ {
+ "name": "pcnet",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Dhyana-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-5.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82559c",
+ "parent": "pci-device"
+ },
+ {
+ "name": "AMDVI-PCI",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtserialport",
+ "parent": "virtio-serial-port"
+ },
+ {
+ "name": "ipoctal232",
+ "parent": "ipack-device"
+ },
+ {
+ "name": "i82559b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Nehalem-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-mouse",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "filter-redirector",
+ "parent": "netfilter"
+ },
+ {
+ "name": "ccid-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "ide-hd",
+ "parent": "ide-device"
+ },
+ {
+ "name": "Snowridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-scsi-pci",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "i82559a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "kvaser_pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "dbus-vmstate",
+ "parent": "object"
+ },
+ {
+ "name": "pc-i440fx-4.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-spiceport",
+ "parent": "chardev-spice"
+ },
+ {
+ "name": "e1000-82544gc",
+ "parent": "e1000-base"
+ },
+ {
+ "name": "tls-creds-x509",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "Opteron_G3-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-ccid",
+ "parent": "usb-device"
+ },
+ {
+ "name": "virtio-blk-pci",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "qio-channel-command",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "pc-i440fx-2.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "port92",
+ "parent": "isa-device"
+ },
+ {
+ "name": "isa-cirrus-vga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "qemu64-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-braille",
+ "parent": "chardev"
+ },
+ {
+ "name": "pc-q35-4.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "mc146818rtc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vfio-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "bochs-display",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Broadwell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qio-net-listener",
+ "parent": "object"
+ },
+ {
+ "name": "edu",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-testdev",
+ "parent": "isa-device"
+ },
+ {
+ "name": "megasas",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-iommu-pci",
+ "parent": "virtio-iommu-pci-base-type"
+ },
+ {
+ "name": "pc-i440fx-6.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Client-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmcoreinfo",
+ "parent": "device"
+ },
+ {
+ "name": "tpci200",
+ "parent": "pci-device"
+ },
+ {
+ "name": "rocker",
+ "parent": "pci-device"
+ },
+ {
+ "name": "qio-channel-file",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "gpio_i2c",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qio-channel-socket",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "coreduo-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-3.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu-console",
+ "parent": "object"
+ },
+ {
+ "name": "chardev-socket",
+ "parent": "chardev"
+ },
+ {
+ "name": "clock",
+ "parent": "object"
+ },
+ {
+ "name": "Haswell-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "host-x86_64-cpu",
+ "parent": "max-x86_64-cpu"
+ },
+ {
+ "name": "secret",
+ "parent": "secret_common"
+ },
+ {
+ "name": "usb-ehci",
+ "parent": "pci-ehci-usb"
+ },
+ {
+ "name": "pxb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-2.11-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "AC97",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vmgenid",
+ "parent": "device"
+ },
+ {
+ "name": "ccid-card-emulated",
+ "parent": "ccid-card"
+ },
+ {
+ "name": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-pmem",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "nvme-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "virtio-net-pci-non-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "cs4231a",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-user-rng",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "scsi-hd",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "usb-kbd",
+ "parent": "usb-hid"
+ },
+ {
+ "name": "lsi53c810",
+ "parent": "lsi53c895a"
+ },
+ {
+ "name": "isa-fdc",
+ "parent": "isa-device"
+ },
+ {
+ "name": "base-xhci",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-net-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "filter-replay",
+ "parent": "netfilter"
+ },
+ {
+ "name": "usb-mtp",
+ "parent": "usb-device"
+ },
+ {
+ "name": "input-linux",
+ "parent": "object"
+ },
+ {
+ "name": "Westmere-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-2.9-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Skylake-Client-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Server-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hyperv-testdev",
+ "parent": "isa-device"
+ },
+ {
+ "name": "s3c-sdhci",
+ "parent": "generic-sdhci"
+ },
+ {
+ "name": "filter-mirror",
+ "parent": "netfilter"
+ },
+ {
+ "name": "fw_cfg_mem",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "pc-i440fx-1.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "tpm-tis",
+ "parent": "isa-device"
+ },
+ {
+ "name": "pc-q35-5.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "x-pci-proxy-dev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-mouse-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "virtconsole",
+ "parent": "virtserialport"
+ },
+ {
+ "name": "ioh3420",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "guest-loader",
+ "parent": "device"
+ },
+ {
+ "name": "x-remote-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "throttle-group",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-rng-pci",
+ "parent": "virtio-rng-pci-base"
+ },
+ {
+ "name": "piix4-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "pc-q35-2.10-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Icelake-Client-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-7.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "chardev-gdb",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-scsi-pci-transitional",
+ "parent": "virtio-scsi-pci-base"
+ },
+ {
+ "name": "gpex-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "Skylake-Client-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cascadelake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Icelake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pci-testdev",
+ "parent": "pci-device"
+ },
+ {
+ "name": "vhost-user-input",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "ich9-intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "secret_keyring",
+ "parent": "secret_common"
+ },
+ {
+ "name": "PIIX3",
+ "parent": "pci-piix3"
+ },
+ {
+ "name": "Icelake-Client-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-2.4-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "tls-creds-psk",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "virtio-9p-pci",
+ "parent": "virtio-9p-pci-base"
+ },
+ {
+ "name": "ISA",
+ "parent": "bus"
+ },
+ {
+ "name": "phenom-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-vsock-pci",
+ "parent": "vhost-vsock-pci-base"
+ },
+ {
+ "name": "pc-dimm",
+ "parent": "device"
+ },
+ {
+ "name": "virtio-net-pci-transitional",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "irq",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci-non-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "ipmi-bmc-sim",
+ "parent": "ipmi-bmc"
+ },
+ {
+ "name": "Snowridge-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmbus-bridge",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "IvyBridge-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk-pci-transitional",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "coreduo-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "usb-storage",
+ "parent": "usb-storage-dev"
+ },
+ {
+ "name": "chardev-msmouse",
+ "parent": "chardev"
+ },
+ {
+ "name": "pc-q35-6.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-2.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-scsi-pci-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "isa-i8259",
+ "parent": "pic-common"
+ },
+ {
+ "name": "Skylake-Client-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "colo-compare",
+ "parent": "object"
+ },
+ {
+ "name": "pxb-bus",
+ "parent": "PCI"
+ },
+ {
+ "name": "virtio-mmio",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pentium2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Broadwell-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "EPYC-Milan-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "KnightsMill-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu-xhci",
+ "parent": "pci-xhci"
+ },
+ {
+ "name": "n270-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pvpanic",
+ "parent": "isa-device"
+ },
+ {
+ "name": "rng-random",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "Skylake-Server-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Nehalem-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvmvapic",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "nvme-ns",
+ "parent": "device"
+ },
+ {
+ "name": "Icelake-Server-v6-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Opteron_G2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "megasas-gen2",
+ "parent": "megasas-base"
+ },
+ {
+ "name": "vhost-user-blk-pci",
+ "parent": "vhost-user-blk-pci-base"
+ },
+ {
+ "name": "authz-simple",
+ "parent": "authz"
+ },
+ {
+ "name": "fw_cfg_io",
+ "parent": "fw_cfg"
+ },
+ {
+ "name": "intel-iommu",
+ "parent": "x86-iommu"
+ },
+ {
+ "name": "none-machine",
+ "parent": "machine"
+ },
+ {
+ "name": "HDA",
+ "parent": "bus"
+ },
+ {
+ "name": "Broadwell-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "u2f-passthru",
+ "parent": "u2f-key"
+ },
+ {
+ "name": "Snowridge-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "IvyBridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "sysbus-esp",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "qxl",
+ "parent": "pci-qxl"
+ },
+ {
+ "name": "tls-cipher-suites",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "cryptodev-backend-builtin",
+ "parent": "cryptodev-backend"
+ },
+ {
+ "name": "vfio-pci-igd-lpc-bridge",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-2.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qio-dns-resolver",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-balloon-pci-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
+ {
+ "name": "Haswell-v4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hv-syndbg",
+ "parent": "device"
+ },
+ {
+ "name": "EPYC-Rome-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82801b11-bridge",
+ "parent": "base-pci-bridge"
+ },
+ {
+ "name": "virtio-keyboard-device",
+ "parent": "virtio-input-hid-device"
+ },
+ {
+ "name": "ramfb",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "hda-output",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "pc-q35-7.1-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "virtio-input-host-device",
+ "parent": "virtio-input-device"
+ },
+ {
+ "name": "IndustryPack",
+ "parent": "bus"
+ },
+ {
+ "name": "Broadwell-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ioapic",
+ "parent": "ioapic-common"
+ },
+ {
+ "name": "pentium-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "qemu32-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Haswell-noTSX-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pci-serial",
+ "parent": "pci-device"
+ },
+ {
+ "name": "sysbus-ohci",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "kvm-accel",
+ "parent": "accel"
+ },
+ {
+ "name": "vhost-scsi-pci-non-transitional",
+ "parent": "vhost-scsi-pci-base"
+ },
+ {
+ "name": "Denverton-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "piix3-usb-uhci",
+ "parent": "pci-uhci-usb"
+ },
+ {
+ "name": "Opteron_G4-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ne2k_isa",
+ "parent": "isa-device"
+ },
+ {
+ "name": "virtio-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "phenom-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "adlib",
+ "parent": "isa-device"
+ },
+ {
+ "name": "vhost-user-gpu",
+ "parent": "virtio-gpu-base"
+ },
+ {
+ "name": "hda-duplex",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "pentium-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "amd-iommu-iommu-memory-region",
+ "parent": "iommu-memory-region"
+ },
+ {
+ "name": "can-bus",
+ "parent": "object"
+ },
+ {
+ "name": "pvpanic-pci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Nehalem-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cascadelake-Server-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "Cooperlake-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-balloon-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "chardev-null",
+ "parent": "chardev"
+ },
+ {
+ "name": "cfi.pflash01",
+ "parent": "sys-bus-device"
+ },
+ {
+ "name": "pc-q35-2.7-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Skylake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "isa-parallel",
+ "parent": "isa-device"
+ },
+ {
+ "name": "pentium2-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-rng-pci",
+ "parent": "vhost-user-rng-pci-base"
+ },
+ {
+ "name": "isa-vga",
+ "parent": "isa-device"
+ },
+ {
+ "name": "EPYC-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "virtio-vga-gl",
+ "parent": "virtio-vga-gl-base-type"
+ },
+ {
+ "name": "pc-i440fx-1.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i440FX-pcihost",
+ "parent": "pci-host-bridge"
+ },
+ {
+ "name": "virtio-iommu-device",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "isa-debugcon",
+ "parent": "isa-device"
+ },
+ {
+ "name": "tls-creds-anon",
+ "parent": "tls-creds"
+ },
+ {
+ "name": "rng-egd",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "qxl-vga",
+ "parent": "pci-qxl"
+ },
+ {
+ "name": "i82558b",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Cascadelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "ivshmem-doorbell",
+ "parent": "ivshmem-common"
+ },
+ {
+ "name": "PIIX3-xen",
+ "parent": "pci-piix3"
+ },
+ {
+ "name": "virtio-net-pci",
+ "parent": "virtio-net-pci-base"
+ },
+ {
+ "name": "i82558a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "loader",
+ "parent": "device"
+ },
+ {
+ "name": "usb-serial",
+ "parent": "usb-serial-dev"
+ },
+ {
+ "name": "pvscsi",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Denverton-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-i440fx-5.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "i82801",
+ "parent": "pci-device"
+ },
+ {
+ "name": "virtio-mem-pci",
+ "parent": "virtio-mem-pci-base"
+ },
+ {
+ "name": "virtio-pmem-pci",
+ "parent": "virtio-pmem-pci-base"
+ },
+ {
+ "name": "accel",
+ "parent": "object"
+ },
+ {
+ "name": "virtio-tablet-pci",
+ "parent": "virtio-tablet-pci-base-type"
+ },
+ {
+ "name": "dc390",
+ "parent": "am53c974"
+ },
+ {
+ "name": "EPYC-Milan-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i6300esb",
+ "parent": "pci-device"
+ },
+ {
+ "name": "Cascadelake-Server-v5-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "floppy",
+ "parent": "device"
+ },
+ {
+ "name": "authz-list",
+ "parent": "authz"
+ },
+ {
+ "name": "pc-i440fx-4.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "Opteron_G4-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-qemu-vdagent",
+ "parent": "chardev"
+ },
+ {
+ "name": "vhost-user-fs-pci",
+ "parent": "vhost-user-fs-pci-base"
+ },
+ {
+ "name": "sb16",
+ "parent": "isa-device"
+ },
+ {
+ "name": "ich9-ahci",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-2.5-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "vhost-user-scsi-pci-transitional",
+ "parent": "vhost-user-scsi-pci-base"
+ },
+ {
+ "name": "Westmere-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vmbus",
+ "parent": "bus"
+ },
+ {
+ "name": "chardev-pipe",
+ "parent": "chardev-fd"
+ },
+ {
+ "name": "i2c-ddc",
+ "parent": "i2c-slave"
+ },
+ {
+ "name": "can-host-socketcan",
+ "parent": "can-host"
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "i82562",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-q35-4.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pci-bridge-seat",
+ "parent": "pci-bridge"
+ },
+ {
+ "name": "kvm32-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "lsi53c895a",
+ "parent": "pci-device"
+ },
+ {
+ "name": "pc-i440fx-6.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "SandyBridge-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "chardev-mux",
+ "parent": "chardev"
+ },
+ {
+ "name": "intel-hda",
+ "parent": "intel-hda-generic"
+ },
+ {
+ "name": "base-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hyperv-synic",
+ "parent": "device"
+ },
+ {
+ "name": "Opteron_G1-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "kvm64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "IDE",
+ "parent": "bus"
+ },
+ {
+ "name": "486-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pcie-root-port",
+ "parent": "pcie-root-port-base"
+ },
+ {
+ "name": "mptsas1068",
+ "parent": "pci-device"
+ },
+ {
+ "name": "scsi-block",
+ "parent": "scsi-disk-base"
+ },
+ {
+ "name": "chardev-spicevmc",
+ "parent": "chardev-spice"
+ },
+ {
+ "name": "Snowridge-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "q35-pcihost",
+ "parent": "pcie-host-bridge"
+ },
+ {
+ "name": "pc-i440fx-2.0-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "pc-i440fx-2.12-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "SCSI",
+ "parent": "bus"
+ },
+ {
+ "name": "Penryn-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "hda-micro",
+ "parent": "hda-audio"
+ },
+ {
+ "name": "Dhyana-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "piix3-ide-xen",
+ "parent": "pci-ide"
+ },
+ {
+ "name": "rng-builtin",
+ "parent": "rng-backend"
+ },
+ {
+ "name": "sd-bus",
+ "parent": "bus"
+ },
+ {
+ "name": "filter-dump",
+ "parent": "netfilter"
+ },
+ {
+ "name": "chardev-ringbuf",
+ "parent": "chardev"
+ },
+ {
+ "name": "virtio-pci-bus",
+ "parent": "virtio-bus"
+ },
+ {
+ "name": "smbus-ipmi",
+ "parent": "smbus-device"
+ },
+ {
+ "name": "Skylake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "vhost-user-blk",
+ "parent": "virtio-device"
+ },
+ {
+ "name": "SandyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "nvme-subsys",
+ "parent": "device"
+ },
+ {
+ "name": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
+ {
+ "name": "pc-q35-5.2-machine",
+ "parent": "generic-pc-machine"
+ },
+ {
+ "name": "qio-channel-tls",
+ "parent": "qio-channel"
+ },
+ {
+ "name": "virtio-blk-pci-transitional",
+ "parent": "virtio-blk-pci-base"
+ },
+ {
+ "name": "virtio-vga",
+ "parent": "virtio-vga-base-type"
+ },
+ {
+ "name": "authz-pam",
+ "parent": "authz"
+ },
+ {
+ "name": "Dhyana-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ }
+ ],
+ "id": "libvirt-7"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-blk-pci"
+ },
+ "id": "libvirt-8"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "queue-size",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "heads",
+ "type": "uint32"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": 65535,
+ "name": "num-queues",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-blk-device>"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "config-wce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "seg-max-adjust",
+ "type": "bool"
+ },
+ {
+ "name": "drive",
+ "description": "Node name or ID of a block device to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": true,
+ "name": "report-discard-granularity",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "rerror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "default-value": "auto",
+ "name": "write-cache",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "scsi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 4194303,
+ "name": "max-discard-sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "discard",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "request-merging",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "write-zeroes",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4194303,
+ "name": "max-write-zeroes-sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-enable-wce-if-config-wce",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ }
+ ],
+ "id": "libvirt-8"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-pci"
+ },
+ "id": "libvirt-9"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "name": "mac",
+ "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "gso",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 150000,
+ "name": "x-txtimer",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "mq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "mrg_rxbuf",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "x-txburst",
+ "type": "int32"
+ },
+ {
+ "default-value": 0,
+ "name": "host_mtu",
+ "type": "uint16"
+ },
+ {
+ "name": "tx",
+ "type": "str"
+ },
+ {
+ "default-value": false,
+ "name": "rss",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "status",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "failover",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-net-device>"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_mac_addr",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "tx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "guest_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "hash",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_guest_offloads",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_ufo",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "host_ecn",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "guest_rsc_ext",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "duplex",
+ "type": "str"
+ },
+ {
+ "default-value": 300000,
+ "name": "rsc_interval",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "guest_announce",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "netdev",
+ "description": "ID of a netdev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "host_tso4",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-mtu-bypass-backend",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_rx_extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "rx_queue_size",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "guest_csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_vlan",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest_tso6",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": -1,
+ "name": "speed",
+ "type": "int32"
+ },
+ {
+ "default-value": true,
+ "name": "csum",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "ctrl_rx",
+ "description": "on/off",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-9"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-pci"
+ },
+ "id": "libvirt-10"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "num_queues",
+ "type": "uint32"
+ },
+ {
+ "default-value": 65535,
+ "name": "max_sectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": true,
+ "name": "param_change",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": 256,
+ "name": "virtqueue_size",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "seg_max_adjust",
+ "type": "bool"
+ },
+ {
+ "default-value": 128,
+ "name": "cmd_per_lun",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-scsi-device>"
+ }
+ ],
+ "id": "libvirt-10"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-net-ccw"
+ },
+ "id": "libvirt-11"
+}
+
+{
+ "id": "libvirt-11",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-net-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-scsi-ccw"
+ },
+ "id": "libvirt-12"
+}
+
+{
+ "id": "libvirt-12",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-scsi-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vfio-pci"
+ },
+ "id": "libvirt-13"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msix",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-vga",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "on",
+ "name": "x-pre-copy-dirty-page-tracking",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "x-nv-gpudirect-clique",
+ "description": "NVIDIA GPUDirect Clique ID (0 - 15)",
+ "type": "uint4"
+ },
+ {
+ "default-value": "off",
+ "name": "x-msix-relocation",
+ "description": "off/auto/bar0/bar1/bar2/bar3/bar4/bar5",
+ "type": "OffAutoPCIBAR"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-vfio-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "name": "sysfsdev",
+ "type": "str"
+ },
+ {
+ "name": "host",
+ "description": "Address (bus/device/function) of the host device, example: 04:10.0",
+ "type": "str"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-device-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-msi",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-enable-migration",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-geforce-quirks",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-req",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "x-igd-gms",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1100,
+ "name": "x-intx-mmap-timeout-ms",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-intx",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-kvm-ioeventfd",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-sub-device-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": "off",
+ "name": "display",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "x-igd-opregion",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "x-pci-vendor-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-no-mmap",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-balloon-allowed",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-13"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "scsi-hd"
+ },
+ "id": "libvirt-14"
+}
+
+{
+ "return": [
+ {
+ "default-value": 4294967295,
+ "name": "scsi-id",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "lun",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "channel",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "share-rw",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "lcyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "type": "uint32"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "product",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "cyls",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "rotation_rate",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "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": 0,
+ "name": "opt_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "discard_granularity",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "port_wwn",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "port_index",
+ "type": "uint16"
+ },
+ {
+ "default-value": "auto",
+ "name": "backend_defaults",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "device_id",
+ "type": "str"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-14"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ide-hd"
+ },
+ "id": "libvirt-15"
+}
+
+{
+ "return": [
+ {
+ "default-value": 4294967295,
+ "name": "unit",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "logical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "lsecs",
+ "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"
+ },
+ {
+ "default-value": 0,
+ "name": "lheads",
+ "type": "uint32"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "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"
+ },
+ {
+ "name": "model",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "min_io_size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "physical_block_size",
+ "description": "A power of two between 512 B and 2 MiB",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "secs",
+ "type": "uint32"
+ },
+ {
+ "default-value": "auto",
+ "name": "werror",
+ "description": "Error handling policy, report/ignore/enospc/stop/auto",
+ "type": "BlockdevOnError"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-15"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "PIIX4_PM"
+ },
+ "id": "libvirt-16"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "acpi-pci-hotplug-with-bridge-support",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "smb_io_base",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "disable_s3",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "acpi-root-pci-hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "disable_s4",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "memory-hotplug-support",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "smm-compat",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-not-migrate-acpi-index",
+ "type": "bool"
+ },
+ {
+ "default-value": 2,
+ "name": "s4_val",
+ "type": "uint8"
+ }
+ ],
+ "id": "libvirt-16"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-redir"
+ },
+ "id": "libvirt-17"
+}
+
+{
+ "return": [
+ {
+ "name": "pcap",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "msos-desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "name": "filter",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "streams",
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "description": "ID of a chardev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": 2,
+ "name": "debug",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "suppress-remote-wake",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "attached",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-17"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "i440FX-pcihost"
+ },
+ "id": "libvirt-18"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "bypass-iommu",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-config-reg-migration-enabled",
+ "type": "bool"
+ },
+ {
+ "name": "pci-hole-end",
+ "type": "uint32"
+ },
+ {
+ "default-value": 2147483648,
+ "name": "pci-hole64-size",
+ "type": "size"
+ },
+ {
+ "name": "pci-hole64-start",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "short_root_bus",
+ "type": "uint32"
+ },
+ {
+ "name": "pci-hole64-end",
+ "type": "uint64"
+ },
+ {
+ "default-value": true,
+ "name": "x-pci-hole64-fix",
+ "type": "bool"
+ },
+ {
+ "name": "pci-hole-start",
+ "type": "uint32"
+ },
+ {
+ "name": "pci-conf-idx[0]",
+ "type": "child<memory-region>"
+ },
+ {
+ "name": "pci-conf-data[0]",
+ "type": "child<memory-region>"
+ }
+ ],
+ "id": "libvirt-18"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "q35-pcihost"
+ },
+ "id": "libvirt-19"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "bypass-iommu",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-config-reg-migration-enabled",
+ "type": "bool"
+ },
+ {
+ "default-value": 34359738368,
+ "name": "pci-hole64-size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "below-4g-mem-size",
+ "type": "size"
+ },
+ {
+ "default-value": 0,
+ "name": "short_root_bus",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pci-hole64-fix",
+ "type": "bool"
+ },
+ {
+ "default-value": 2952790016,
+ "name": "MCFG",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "above-4g-mem-size",
+ "type": "size"
+ },
+ {
+ "name": "mcfg_size",
+ "type": "uint64"
+ },
+ {
+ "name": "pci-hole64-end",
+ "type": "uint64"
+ },
+ {
+ "name": "pci-mem",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "pci-conf-data[0]",
+ "type": "child<memory-region>"
+ },
+ {
+ "name": "pci-hole-start",
+ "type": "uint32"
+ },
+ {
+ "name": "system-mem",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "io-mem",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "mch",
+ "type": "child<mch>"
+ },
+ {
+ "name": "pci-hole-end",
+ "type": "uint32"
+ },
+ {
+ "name": "pci-conf-idx[0]",
+ "type": "child<memory-region>"
+ },
+ {
+ "name": "pci-hole64-start",
+ "type": "uint64"
+ },
+ {
+ "name": "ram-mem",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "pcie-mmcfg-mmio[0]",
+ "type": "child<memory-region>"
+ }
+ ],
+ "id": "libvirt-19"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-storage"
+ },
+ "id": "libvirt-20"
+}
+
+{
+ "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": "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": 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": false,
+ "name": "commandlog",
+ "type": "bool"
+ },
+ {
+ "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-20"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "kvm-pit"
+ },
+ "id": "libvirt-21"
+}
+
+{
+ "return": [
+ {
+ "default-value": "delay",
+ "name": "lost_tick_policy",
+ "type": "LostTickPolicy"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "iobase",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-21"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "VGA"
+ },
+ "id": "libvirt-22"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 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-22"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vmware-svga"
+ },
+ "id": "libvirt-23"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "global-vmstate",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "vgamem_mb",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-23"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "qxl"
+ },
+ "id": "libvirt-24"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "global-vmstate",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "vgamem_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vram64_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "vram_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "debug",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "max_outputs",
+ "type": "uint16"
+ },
+ {
+ "default-value": 5,
+ "name": "revision",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "cmdlog",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "ram_size_mb",
+ "type": "uint32"
+ },
+ {
+ "default-value": 67108864,
+ "name": "ram_size",
+ "type": "uint32"
+ },
+ {
+ "default-value": 67108864,
+ "name": "vram_size",
+ "type": "uint64"
+ },
+ {
+ "default-value": 0,
+ "name": "guestdebug",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1024,
+ "name": "surfaces",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-24"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-pci"
+ },
+ "id": "libvirt-25"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 3,
+ "name": "vectors",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "ioeventfd",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 800,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "blob",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1280,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-gpu-device>"
+ }
+ ],
+ "id": "libvirt-25"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-gpu-device"
+ },
+ "id": "libvirt-26"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1280,
+ "name": "xres",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "blob",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "edid",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 800,
+ "name": "yres",
+ "type": "uint32"
+ },
+ {
+ "default-value": 1,
+ "name": "max_outputs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 268435456,
+ "name": "max_hostmem",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-26"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "ICH9-LPC"
+ },
+ "id": "libvirt-27"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-cpu-hotplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-cpu-hotunplug",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "smm-compat",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "noreboot",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-smi-broadcast",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "enable_tco",
+ "type": "bool"
+ },
+ {
+ "name": "cpu-hotplug-legacy",
+ "type": "bool"
+ },
+ {
+ "name": "acpi_enable_cmd",
+ "type": "uint8"
+ },
+ {
+ "name": "acpi-pci-hotplug-with-bridge-support",
+ "type": "bool"
+ },
+ {
+ "name": "disable_s3",
+ "type": "uint8"
+ },
+ {
+ "name": "disable_s4",
+ "type": "uint8"
+ },
+ {
+ "name": "acpi_disable_cmd",
+ "type": "uint8"
+ },
+ {
+ "name": "memory-hotplug-support",
+ "type": "bool"
+ },
+ {
+ "name": "gpe0_blk_len",
+ "type": "uint32"
+ },
+ {
+ "name": "x-keep-pci-slot-hpc",
+ "type": "bool"
+ },
+ {
+ "name": "sci_int",
+ "type": "uint8"
+ },
+ {
+ "name": "gpe0_blk",
+ "type": "uint32"
+ },
+ {
+ "name": "x-smi-negotiated-features",
+ "type": "uint64"
+ },
+ {
+ "name": "s4_val",
+ "type": "uint8"
+ },
+ {
+ "name": "pm_io_base",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-27"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-pci"
+ },
+ "id": "libvirt-28"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-reporting",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "page-poison",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": false,
+ "name": "qemu-4-0-config-size",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-hint",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-balloon-device>"
+ }
+ ],
+ "id": "libvirt-28"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-ccw"
+ },
+ "id": "libvirt-29"
+}
+
+{
+ "id": "libvirt-29",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Device 'virtio-balloon-ccw' not found"
+ }
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-balloon-device"
+ },
+ "id": "libvirt-30"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "iothread",
+ "type": "link<iothread>"
+ },
+ {
+ "default-value": false,
+ "name": "deflate-on-oom",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-hint",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "page-poison",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "qemu-4-0-config-size",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "free-page-reporting",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "guest-stats-polling-interval",
+ "type": "int"
+ },
+ {
+ "name": "guest-stats",
+ "type": "guest statistics"
+ }
+ ],
+ "id": "libvirt-30"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "nec-usb-xhci"
+ },
+ "id": "libvirt-31"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "msi",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": "auto",
+ "name": "msix",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "force-pcie-endcap",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "superspeed-ports-first",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "intrs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 64,
+ "name": "slots",
+ "type": "uint32"
+ },
+ {
+ "name": "host",
+ "type": "link<device>"
+ },
+ {
+ "default-value": 4,
+ "name": "p3",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "streams",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 4,
+ "name": "p2",
+ "type": "uint32"
+ },
+ {
+ "name": "xhci-core",
+ "type": "child<base-xhci>"
+ }
+ ],
+ "id": "libvirt-31"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "intel-iommu"
+ },
+ "id": "libvirt-32"
+}
+
+{
+ "return": [
+ {
+ "default-value": true,
+ "name": "pt",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "device-iotlb",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "intremap",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "x-scalable-mode",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "caching-mode",
+ "type": "bool"
+ },
+ {
+ "default-value": 39,
+ "name": "aw-bits",
+ "type": "uint8"
+ },
+ {
+ "default-value": "auto",
+ "name": "eim",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": 0,
+ "name": "version",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-buggy-eim",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "dma-drain",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "snoop-control",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-32"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "mch"
+ },
+ "id": "libvirt-33"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "smbase-smram",
+ "type": "bool"
+ },
+ {
+ "default-value": 16,
+ "name": "extended-tseg-mbytes",
+ "type": "uint16"
+ }
+ ],
+ "id": "libvirt-33"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "nvdimm"
+ },
+ "id": "libvirt-34"
+}
+
+{
+ "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-34"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "pcie-root-port"
+ },
+ "id": "libvirt-35"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "port",
+ "type": "uint8"
+ },
+ {
+ "default-value": 8,
+ "name": "aer_log_max",
+ "type": "uint16"
+ },
+ {
+ "default-value": true,
+ "name": "hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-native-hotplug",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "slot",
+ "type": "uint16"
+ },
+ {
+ "default-value": 0,
+ "name": "chassis",
+ "type": "uint8"
+ },
+ {
+ "default-value": true,
+ "name": "power_controller_present",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "disable-acs",
+ "type": "bool"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "mem-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "pref64-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "bus-reserve",
+ "type": "uint32"
+ },
+ {
+ "default-value": "32",
+ "name": "x-width",
+ "description": "1/2/4/8/12/16/32",
+ "type": "PCIELinkWidth"
+ },
+ {
+ "default-value": true,
+ "name": "x-migrate-msix",
+ "type": "bool"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "io-reserve",
+ "type": "size"
+ },
+ {
+ "default-value": "16",
+ "name": "x-speed",
+ "description": "2_5/5/8/16",
+ "type": "PCIELinkSpeed"
+ },
+ {
+ "default-value": 18446744073709551615,
+ "name": "pref32-reserve",
+ "type": "size"
+ }
+ ],
+ "id": "libvirt-35"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "usb-host"
+ },
+ "id": "libvirt-36"
+}
+
+{
+ "return": [
+ {
+ "name": "pcap",
+ "type": "str"
+ },
+ {
+ "name": "port",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "msos-desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "serial",
+ "type": "str"
+ },
+ {
+ "default-value": true,
+ "name": "pipeline",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "hostbus",
+ "type": "uint32"
+ },
+ {
+ "default-value": 4,
+ "name": "isobufs",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "vendorid",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "productid",
+ "type": "uint32"
+ },
+ {
+ "name": "hostport",
+ "type": "str"
+ },
+ {
+ "name": "hostdevice",
+ "type": "str"
+ },
+ {
+ "default-value": 0,
+ "name": "hostaddr",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "suppress-remote-wake",
+ "type": "bool"
+ },
+ {
+ "default-value": 2,
+ "name": "loglevel",
+ "type": "uint32"
+ },
+ {
+ "default-value": 32,
+ "name": "isobsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "guest-resets-all",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "guest-reset",
+ "type": "bool"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ },
+ {
+ "name": "attached",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-36"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "vhost-user-fs-device"
+ },
+ "id": "libvirt-37"
+}
+
+{
+ "return": [
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "chardev",
+ "description": "ID of a chardev to use as a backend",
+ "type": "str"
+ },
+ {
+ "default-value": 128,
+ "name": "queue-size",
+ "type": "uint16"
+ },
+ {
+ "name": "tag",
+ "type": "str"
+ },
+ {
+ "default-value": 1,
+ "name": "num-request-queues",
+ "type": "uint16"
+ },
+ {
+ "name": "bootindex",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-mem-pci"
+ },
+ "id": "libvirt-38"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "memaddr",
+ "type": "uint64"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "memdev",
+ "type": "link<memory-backend>"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "node",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "requested-size",
+ "type": "size"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "block-size",
+ "type": "size"
+ },
+ {
+ "default-value": false,
+ "name": "prealloc",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "unplugged-inaccessible",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-mem>"
+ }
+ ],
+ "id": "libvirt-38"
+}
+
+{
+ "execute": "device-list-properties",
+ "arguments": {
+ "typename": "virtio-iommu-pci"
+ },
+ "id": "libvirt-39"
+}
+
+{
+ "return": [
+ {
+ "name": "failover_pair_id",
+ "type": "str"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "default-value": -1,
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ },
+ {
+ "default-value": 4294967295,
+ "name": "romsize",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 1,
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "acpi-index",
+ "type": "uint32"
+ },
+ {
+ "default-value": false,
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "migrate-extra",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "ats",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-ignore-backend-features",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-pm-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "aer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-flr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-lnkctl-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-ats-page-aligned",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "page-per-vq",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "x-pcie-deverr-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "virtio-pci-bus-master-bug-migration",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "modern-pio-notify",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-pcie",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": "auto",
+ "name": "disable-legacy",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "default-value": false,
+ "name": "disable-modern",
+ "type": "bool"
+ },
+ {
+ "default-value": 0,
+ "name": "len-reserved-regions",
+ "type": "uint32"
+ },
+ {
+ "default-value": 0,
+ "name": "class",
+ "type": "uint32"
+ },
+ {
+ "default-value": true,
+ "name": "use-disabled-flag",
+ "type": "bool"
+ },
+ {
+ "name": "virtio-backend",
+ "type": "child<virtio-iommu-device>"
+ },
+ {
+ "default-value": false,
+ "name": "packed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "iommu_platform",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "event_idx",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "boot-bypass",
+ "type": "bool"
+ },
+ {
+ "default-value": false,
+ "name": "x-disable-legacy-check",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "notify_on_empty",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "any_layout",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "use-started",
+ "type": "bool"
+ },
+ {
+ "default-value": true,
+ "name": "indirect_desc",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "primary-bus",
+ "type": "link<PCI>"
+ }
+ ],
+ "id": "libvirt-39"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-file"
+ },
+ "id": "libvirt-40"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "description": "Set to 'off' to exclude from core dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "description": "Number of CPU threads to use for prealloc",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "description": "Set the NUMA policy",
+ "type": "HostMemPolicy"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "name": "prealloc",
+ "description": "Preallocate memory",
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "description": "Reserve swap space (or huge pages) if applicable",
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "description": "Binds memory to the list of NUMA host nodes",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "description": "Mark memory as mergeable",
+ "type": "bool"
+ },
+ {
+ "name": "readonly",
+ "type": "bool"
+ },
+ {
+ "name": "align",
+ "type": "int"
+ },
+ {
+ "name": "pmem",
+ "type": "bool"
+ },
+ {
+ "name": "mem-path",
+ "type": "string"
+ },
+ {
+ "name": "discard-data",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "memory-backend-memfd"
+ },
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "description": "Mark the memory as private to QEMU or shared",
+ "type": "bool"
+ },
+ {
+ "name": "dump",
+ "description": "Set to 'off' to exclude from core dump",
+ "type": "bool"
+ },
+ {
+ "name": "prealloc-threads",
+ "description": "Number of CPU threads to use for prealloc",
+ "type": "int"
+ },
+ {
+ "name": "x-use-canonical-path-for-ramblock-id",
+ "type": "bool"
+ },
+ {
+ "name": "policy",
+ "description": "Set the NUMA policy",
+ "type": "HostMemPolicy"
+ },
+ {
+ "name": "size",
+ "description": "Size of the memory region (ex: 500M)",
+ "type": "int"
+ },
+ {
+ "name": "prealloc",
+ "description": "Preallocate memory",
+ "type": "bool"
+ },
+ {
+ "name": "reserve",
+ "description": "Reserve swap space (or huge pages) if applicable",
+ "type": "bool"
+ },
+ {
+ "name": "host-nodes",
+ "description": "Binds memory to the list of NUMA host nodes",
+ "type": "int"
+ },
+ {
+ "name": "merge",
+ "description": "Mark memory as mergeable",
+ "type": "bool"
+ },
+ {
+ "name": "hugetlb",
+ "description": "Use huge pages",
+ "type": "bool"
+ },
+ {
+ "name": "seal",
+ "description": "Seal growing & shrinking",
+ "type": "bool"
+ },
+ {
+ "name": "hugetlbsize",
+ "description": "Huge pages size (ex: 2M, 1G)",
+ "type": "int"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-x86_64-cpu"
+ },
+ "id": "libvirt-42"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "parent_bus",
+ "type": "link<bus>"
+ },
+ {
+ "name": "realized",
+ "type": "bool"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ },
+ {
+ "name": "memory",
+ "type": "link<memory-region>"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "name": "legacy-memory",
+ "type": "str"
+ },
+ {
+ "name": "vmx-invept-single-context",
+ "type": "bool"
+ },
+ {
+ "name": "core-capability",
+ "type": "bool"
+ },
+ {
+ "name": "popcnt",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-debug",
+ "type": "bool"
+ },
+ {
+ "name": "dtes64",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid-single-addr",
+ "type": "bool"
+ },
+ {
+ "name": "xstore",
+ "type": "bool"
+ },
+ {
+ "name": "min-xlevel2",
+ "type": "uint32"
+ },
+ {
+ "name": "stepping",
+ "type": "int"
+ },
+ {
+ "name": "vmx-vmfunc",
+ "type": "bool"
+ },
+ {
+ "name": "pse36",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-4vnniw",
+ "type": "bool"
+ },
+ {
+ "name": "x-intel-pt-auto-level",
+ "type": "bool"
+ },
+ {
+ "name": "fma4",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-vp2intersect",
+ "type": "bool"
+ },
+ {
+ "name": "avx2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-poll-control",
+ "type": "bool"
+ },
+ {
+ "name": "amd-stibp",
+ "type": "bool"
+ },
+ {
+ "name": "sgxlc",
+ "type": "bool"
+ },
+ {
+ "name": "family",
+ "type": "int"
+ },
+ {
+ "name": "vmware-cpuid-freq",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-store-lma",
+ "type": "bool"
+ },
+ {
+ "name": "hv-spinlocks",
+ "type": "uint32"
+ },
+ {
+ "name": "erms",
+ "type": "bool"
+ },
+ {
+ "name": "vaes",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-tokenkey",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-wait-sipi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-flexpriority",
+ "type": "bool"
+ },
+ {
+ "name": "hv-reset",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rdrand",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-advanced-exitinfo",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-pause-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-shadow-vmcs",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-vpopcntdq",
+ "type": "bool"
+ },
+ {
+ "name": "model",
+ "type": "int"
+ },
+ {
+ "name": "xcrypt",
+ "type": "bool"
+ },
+ {
+ "name": "tbm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-eptad",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-monitor-exit",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-eoi",
+ "type": "bool"
+ },
+ {
+ "name": "lm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-spack",
+ "type": "uint32"
+ },
+ {
+ "name": "x-vendor-cpuid-only",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-unrestricted-guest",
+ "type": "bool"
+ },
+ {
+ "name": "host-phys-bits-limit",
+ "type": "uint8"
+ },
+ {
+ "name": "pae",
+ "type": "bool"
+ },
+ {
+ "name": "ssse3",
+ "type": "bool"
+ },
+ {
+ "name": "hv-runtime",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "phe",
+ "type": "bool"
+ },
+ {
+ "name": "movdiri",
+ "type": "bool"
+ },
+ {
+ "name": "host-phys-bits",
+ "type": "bool"
+ },
+ {
+ "name": "taa-no",
+ "type": "bool"
+ },
+ {
+ "name": "full-width-write",
+ "type": "bool"
+ },
+ {
+ "name": "arat",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vbmi2",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vnmi-pending",
+ "type": "bool"
+ },
+ {
+ "name": "x2apic",
+ "type": "bool"
+ },
+ {
+ "name": "npt",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invpcid-exit",
+ "type": "bool"
+ },
+ {
+ "name": "avx512ifma",
+ "type": "bool"
+ },
+ {
+ "name": "model-id",
+ "type": "string"
+ },
+ {
+ "name": "ucode-rev",
+ "type": "uint64"
+ },
+ {
+ "name": "hv-evmcs",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "pmm-en",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-io-exit",
+ "type": "bool"
+ },
+ {
+ "name": "tsc",
+ "type": "bool"
+ },
+ {
+ "name": "x-force-features",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ins-outs",
+ "type": "bool"
+ },
+ {
+ "name": "dca",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-x2apic",
+ "type": "bool"
+ },
+ {
+ "name": "ia64",
+ "type": "bool"
+ },
+ {
+ "name": "hv-stimer-direct",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr-core",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr3-load-noexit",
+ "type": "bool"
+ },
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "kvmclock",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-noload-debugctl",
+ "type": "bool"
+ },
+ {
+ "name": "md-clear",
+ "type": "bool"
+ },
+ {
+ "name": "invtsc",
+ "type": "bool"
+ },
+ {
+ "name": "pn",
+ "type": "bool"
+ },
+ {
+ "name": "avx512cd",
+ "type": "bool"
+ },
+ {
+ "name": "cmp-legacy",
+ "type": "bool"
+ },
+ {
+ "name": "cx16",
+ "type": "bool"
+ },
+ {
+ "name": "avx512dq",
+ "type": "bool"
+ },
+ {
+ "name": "abm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-shutdown",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-ipi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-register",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr-opt",
+ "type": "bool"
+ },
+ {
+ "name": "skip-l1dfl-vmentry",
+ "type": "bool"
+ },
+ {
+ "name": "fill-mtrr-mask",
+ "type": "bool"
+ },
+ {
+ "name": "x-migrate-smi-count",
+ "type": "bool"
+ },
+ {
+ "name": "pcid",
+ "type": "bool"
+ },
+ {
+ "name": "rdpid",
+ "type": "bool"
+ },
+ {
+ "name": "wbnoinvd",
+ "type": "bool"
+ },
+ {
+ "name": "syscall",
+ "type": "bool"
+ },
+ {
+ "name": "pse",
+ "type": "bool"
+ },
+ {
+ "name": "xsaves",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-pat",
+ "type": "bool"
+ },
+ {
+ "name": "vgif",
+ "type": "bool"
+ },
+ {
+ "name": "mce",
+ "type": "bool"
+ },
+ {
+ "name": "xfd",
+ "type": "bool"
+ },
+ {
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "ibpb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-xapic",
+ "type": "bool"
+ },
+ {
+ "name": "cldemote",
+ "type": "bool"
+ },
+ {
+ "name": "hv-tlbflush",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "rtm",
+ "type": "bool"
+ },
+ {
+ "name": "lwp",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-steal-time",
+ "type": "bool"
+ },
+ {
+ "name": "cpuid-0xb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-hlt-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-desc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-eptp-switching",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-provisionkey",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-efer",
+ "type": "bool"
+ },
+ {
+ "name": "level-func7",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-invlpg-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-efer",
+ "type": "bool"
+ },
+ {
+ "name": "die-id",
+ "type": "int32"
+ },
+ {
+ "name": "vme",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-unhalt",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-no-smi-migration",
+ "type": "bool"
+ },
+ {
+ "name": "svm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-hint-dedicated",
+ "type": "bool"
+ },
+ {
+ "name": "mca",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-tsc-scaling",
+ "type": "bool"
+ },
+ {
+ "name": "mtrr",
+ "type": "bool"
+ },
+ {
+ "name": "cid",
+ "type": "bool"
+ },
+ {
+ "name": "pfthreshold",
+ "type": "bool"
+ },
+ {
+ "name": "pmm",
+ "type": "bool"
+ },
+ {
+ "name": "lahf-lm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-build",
+ "type": "uint32"
+ },
+ {
+ "name": "tcg-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-pkrs",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-ia32e-mode",
+ "type": "bool"
+ },
+ {
+ "name": "x-hv-max-vps",
+ "type": "int32"
+ },
+ {
+ "name": "tm",
+ "type": "bool"
+ },
+ {
+ "name": "pbe",
+ "type": "bool"
+ },
+ {
+ "name": "amx-int8",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdpmc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "split-lock-detect",
+ "type": "bool"
+ },
+ {
+ "name": "apic-id",
+ "type": "uint32"
+ },
+ {
+ "name": "fpu",
+ "type": "bool"
+ },
+ {
+ "name": "skinit",
+ "type": "bool"
+ },
+ {
+ "name": "l3-cache",
+ "type": "bool"
+ },
+ {
+ "name": "sep",
+ "type": "bool"
+ },
+ {
+ "name": "intel-pt-lip",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-bf16",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept-single-context-noglobals",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdtscp-exit",
+ "type": "bool"
+ },
+ {
+ "name": "nx",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invvpid-all-context",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-kss",
+ "type": "bool"
+ },
+ {
+ "name": "pause-filter",
+ "type": "bool"
+ },
+ {
+ "name": "ds-cpl",
+ "type": "bool"
+ },
+ {
+ "name": "fsrm",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-efer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vmwrite-vmexit-fields",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept",
+ "type": "bool"
+ },
+ {
+ "name": "nodeid-msr",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-execonly",
+ "type": "bool"
+ },
+ {
+ "name": "smap",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-io-bitmap",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-preemption-timer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept-all-context",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-intr-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-clear-bndcfgs",
+ "type": "bool"
+ },
+ {
+ "name": "cr8legacy",
+ "type": "bool"
+ },
+ {
+ "name": "xlevel",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-vpid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-zero-len-inject",
+ "type": "bool"
+ },
+ {
+ "name": "pschange-mc-no",
+ "type": "bool"
+ },
+ {
+ "name": "virt-ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "umip",
+ "type": "bool"
+ },
+ {
+ "name": "avx512er",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vintr-pending",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vl",
+ "type": "bool"
+ },
+ {
+ "name": "xstore-en",
+ "type": "bool"
+ },
+ {
+ "name": "ibrs",
+ "type": "bool"
+ },
+ {
+ "name": "rsba",
+ "type": "bool"
+ },
+ {
+ "name": "cmov",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-posted-intr",
+ "type": "bool"
+ },
+ {
+ "name": "xcrypt-en",
+ "type": "bool"
+ },
+ {
+ "name": "tm2",
+ "type": "bool"
+ },
+ {
+ "name": "lbrv",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-scale",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-secondary-ctls",
+ "type": "bool"
+ },
+ {
+ "name": "xsaveerptr",
+ "type": "bool"
+ },
+ {
+ "name": "fsgsbase",
+ "type": "bool"
+ },
+ {
+ "name": "x-hv-synic-kvm-only",
+ "type": "bool"
+ },
+ {
+ "name": "avx512bw",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-minor",
+ "type": "uint16"
+ },
+ {
+ "name": "sse4a",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-frequency",
+ "type": "int"
+ },
+ {
+ "name": "smx",
+ "type": "bool"
+ },
+ {
+ "name": "hle",
+ "type": "bool"
+ },
+ {
+ "name": "monitor",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-fp16",
+ "type": "bool"
+ },
+ {
+ "name": "tce",
+ "type": "bool"
+ },
+ {
+ "name": "vpclmulqdq",
+ "type": "bool"
+ },
+ {
+ "name": "hv-frequencies",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-tlb-flush",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdtsc-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-bndcfgs",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-activity-hlt",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr8-load-exit",
+ "type": "bool"
+ },
+ {
+ "name": "mds-no",
+ "type": "bool"
+ },
+ {
+ "name": "svme-addr-chk",
+ "type": "bool"
+ },
+ {
+ "name": "amd-no-ssb",
+ "type": "bool"
+ },
+ {
+ "name": "adx",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-pkrs",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-sbranch",
+ "type": "uint8"
+ },
+ {
+ "name": "min-level",
+ "type": "uint32"
+ },
+ {
+ "name": "crash-information",
+ "type": "GuestPanicInformation"
+ },
+ {
+ "name": "full-cpuid-auto-level",
+ "type": "bool"
+ },
+ {
+ "name": "extapic",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-vnmi",
+ "type": "bool"
+ },
+ {
+ "name": "ssb-no",
+ "type": "bool"
+ },
+ {
+ "name": "msr",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-enforce-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "clflush",
+ "type": "bool"
+ },
+ {
+ "name": "pclmulqdq",
+ "type": "bool"
+ },
+ {
+ "name": "mpx",
+ "type": "bool"
+ },
+ {
+ "name": "xlevel2",
+ "type": "uint32"
+ },
+ {
+ "name": "hv-stimer",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-mtf",
+ "type": "bool"
+ },
+ {
+ "name": "hv-enforce-cpuid",
+ "type": "bool"
+ },
+ {
+ "name": "xop",
+ "type": "bool"
+ },
+ {
+ "name": "sgx2",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdseed-exit",
+ "type": "bool"
+ },
+ {
+ "name": "smep",
+ "type": "bool"
+ },
+ {
+ "name": "xsavec",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-mwait-exit",
+ "type": "bool"
+ },
+ {
+ "name": "hv-synic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "cx8",
+ "type": "bool"
+ },
+ {
+ "name": "pku",
+ "type": "bool"
+ },
+ {
+ "name": "kvm",
+ "type": "bool"
+ },
+ {
+ "name": "sgx1",
+ "type": "bool"
+ },
+ {
+ "name": "hv-passthrough",
+ "type": "bool"
+ },
+ {
+ "name": "vmcb-clean",
+ "type": "bool"
+ },
+ {
+ "name": "tsx-ldtrk",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-pat",
+ "type": "bool"
+ },
+ {
+ "name": "stibp",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr3-store-noexit",
+ "type": "bool"
+ },
+ {
+ "name": "tsx-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "svm-lock",
+ "type": "bool"
+ },
+ {
+ "name": "hv-reenlightenment",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "clzero",
+ "type": "bool"
+ },
+ {
+ "name": "avic",
+ "type": "bool"
+ },
+ {
+ "name": "ds",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-exinfo",
+ "type": "bool"
+ },
+ {
+ "name": "legacy-cache",
+ "type": "bool"
+ },
+ {
+ "name": "sse",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vpindex",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "osvw",
+ "type": "bool"
+ },
+ {
+ "name": "pks",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-2mb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-true-ctls",
+ "type": "bool"
+ },
+ {
+ "name": "movdir64b",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-invept",
+ "type": "bool"
+ },
+ {
+ "name": "acpi",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-encls-exit",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-cr8-store-exit",
+ "type": "bool"
+ },
+ {
+ "name": "nrip-save",
+ "type": "bool"
+ },
+ {
+ "name": "gfni",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-mmu",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-rdrand-exit",
+ "type": "bool"
+ },
+ {
+ "name": "ace2",
+ "type": "bool"
+ },
+ {
+ "name": "serialize",
+ "type": "bool"
+ },
+ {
+ "name": "avx512bitalg",
+ "type": "bool"
+ },
+ {
+ "name": "rdseed",
+ "type": "bool"
+ },
+ {
+ "name": "sha-ni",
+ "type": "bool"
+ },
+ {
+ "name": "sse2",
+ "type": "bool"
+ },
+ {
+ "name": "lmce",
+ "type": "bool"
+ },
+ {
+ "name": "waitpkg",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-msi-ext-dest-id",
+ "type": "bool"
+ },
+ {
+ "name": "f16c",
+ "type": "bool"
+ },
+ {
+ "name": "3dnowprefetch",
+ "type": "bool"
+ },
+ {
+ "name": "avx512-4fmaps",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ept-1gb",
+ "type": "bool"
+ },
+ {
+ "name": "avx",
+ "type": "bool"
+ },
+ {
+ "name": "topoext",
+ "type": "bool"
+ },
+ {
+ "name": "rdctl-no",
+ "type": "bool"
+ },
+ {
+ "name": "mmx",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-major",
+ "type": "uint16"
+ },
+ {
+ "name": "level",
+ "type": "uint32"
+ },
+ {
+ "name": "avx512vnni",
+ "type": "bool"
+ },
+ {
+ "name": "pni",
+ "type": "bool"
+ },
+ {
+ "name": "movbe",
+ "type": "bool"
+ },
+ {
+ "name": "mmxext",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-ple",
+ "type": "bool"
+ },
+ {
+ "name": "bus-lock-detect",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-apicv-vid",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-page-walk-5",
+ "type": "bool"
+ },
+ {
+ "name": "flushbyasid",
+ "type": "bool"
+ },
+ {
+ "name": "rdtscp",
+ "type": "bool"
+ },
+ {
+ "name": "clwb",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-pv-sched-yield",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-asyncpf",
+ "type": "bool"
+ },
+ {
+ "name": "decodeassists",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-wbinvd-exit",
+ "type": "bool"
+ },
+ {
+ "name": "pat",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-clear-rtit-ctl",
+ "type": "bool"
+ },
+ {
+ "name": "invpcid",
+ "type": "bool"
+ },
+ {
+ "name": "pdpe1gb",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-pat",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vendor-id",
+ "type": "str"
+ },
+ {
+ "name": "tsc-adjust",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-entry-load-rtit-ctl",
+ "type": "bool"
+ },
+ {
+ "name": "ht",
+ "type": "bool"
+ },
+ {
+ "name": "xsave",
+ "type": "bool"
+ },
+ {
+ "name": "xtpr",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-tsc-offset",
+ "type": "bool"
+ },
+ {
+ "name": "ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "3dnowext",
+ "type": "bool"
+ },
+ {
+ "name": "clflushopt",
+ "type": "bool"
+ },
+ {
+ "name": "sgx",
+ "type": "bool"
+ },
+ {
+ "name": "unavailable-features",
+ "type": "strList"
+ },
+ {
+ "name": "amx-tile",
+ "type": "bool"
+ },
+ {
+ "name": "pdcm",
+ "type": "bool"
+ },
+ {
+ "name": "hv-crash",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "est",
+ "type": "bool"
+ },
+ {
+ "name": "vendor",
+ "type": "string"
+ },
+ {
+ "name": "pge",
+ "type": "bool"
+ },
+ {
+ "name": "pcommit",
+ "type": "bool"
+ },
+ {
+ "name": "ibs",
+ "type": "bool"
+ },
+ {
+ "name": "tsc-deadline",
+ "type": "bool"
+ },
+ {
+ "name": "kvmclock-stable-bit",
+ "type": "bool"
+ },
+ {
+ "name": "misalignsse",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-msr-bitmap",
+ "type": "bool"
+ },
+ {
+ "name": "check",
+ "type": "bool"
+ },
+ {
+ "name": "hv-time",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-avic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr-nb",
+ "type": "bool"
+ },
+ {
+ "name": "phys-bits",
+ "type": "uint32"
+ },
+ {
+ "name": "apic",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-save-preemption-timer",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-ack-intr",
+ "type": "bool"
+ },
+ {
+ "name": "sgx-mode64",
+ "type": "bool"
+ },
+ {
+ "name": "avx512vbmi",
+ "type": "bool"
+ },
+ {
+ "name": "thread-id",
+ "type": "int32"
+ },
+ {
+ "name": "min-xlevel",
+ "type": "uint32"
+ },
+ {
+ "name": "socket-id",
+ "type": "int32"
+ },
+ {
+ "name": "vmx-exit-nosave-debugctl",
+ "type": "bool"
+ },
+ {
+ "name": "avx512f",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-xsaves",
+ "type": "bool"
+ },
+ {
+ "name": "arch-capabilities",
+ "type": "bool"
+ },
+ {
+ "name": "bmi2",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-exit-load-perf-global-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-pml",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-page-walk-4",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-nmi-exit",
+ "type": "bool"
+ },
+ {
+ "name": "intel-pt",
+ "type": "bool"
+ },
+ {
+ "name": "wdt",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-nopiodelay",
+ "type": "bool"
+ },
+ {
+ "name": "ace2-en",
+ "type": "bool"
+ },
+ {
+ "name": "v-vmsave-vmload",
+ "type": "bool"
+ },
+ {
+ "name": "avx512pf",
+ "type": "bool"
+ },
+ {
+ "name": "bmi1",
+ "type": "bool"
+ },
+ {
+ "name": "enforce",
+ "type": "bool"
+ },
+ {
+ "name": "sse4.2",
+ "type": "bool"
+ },
+ {
+ "name": "hv-syndbg",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "ibrs-all",
+ "type": "bool"
+ },
+ {
+ "name": "xgetbv1",
+ "type": "bool"
+ },
+ {
+ "name": "spec-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "3dnow",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-asyncpf-int",
+ "type": "bool"
+ },
+ {
+ "name": "vmx",
+ "type": "bool"
+ },
+ {
+ "name": "la57",
+ "type": "bool"
+ },
+ {
+ "name": "hv-no-nonarch-coresharing",
+ "description": "on/off/auto",
+ "type": "OnOffAuto"
+ },
+ {
+ "name": "amx-bf16",
+ "type": "bool"
+ },
+ {
+ "name": "sse4.1",
+ "type": "bool"
+ },
+ {
+ "name": "xsaveopt",
+ "type": "bool"
+ },
+ {
+ "name": "hv-relaxed",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-version-id-snumber",
+ "type": "uint32"
+ },
+ {
+ "name": "vmx-entry-load-perf-global-ctrl",
+ "type": "bool"
+ },
+ {
+ "name": "avx-vnni",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr",
+ "type": "bool"
+ },
+ {
+ "name": "phe-en",
+ "type": "bool"
+ },
+ {
+ "name": "hv-vapic",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hv-ipi",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "hypervisor",
+ "type": "bool"
+ },
+ {
+ "name": "aes",
+ "type": "bool"
+ },
+ {
+ "name": "amd-ssbd",
+ "type": "bool"
+ },
+ {
+ "name": "core-id",
+ "type": "int32"
+ },
+ {
+ "name": "ss",
+ "type": "bool"
+ },
+ {
+ "name": "de",
+ "type": "bool"
+ },
+ {
+ "name": "vmx-movdr-exit",
+ "type": "bool"
+ },
+ {
+ "name": "fma",
+ "type": "bool"
+ },
+ {
+ "name": "host-cache-info",
+ "type": "bool"
+ },
+ {
+ "name": "migratable",
+ "type": "bool"
+ },
+ {
+ "name": "lahf_lm",
+ "type": "bool"
+ },
+ {
+ "name": "tsc_adjust",
+ "type": "bool"
+ },
+ {
+ "name": "svm_lock",
+ "type": "bool"
+ },
+ {
+ "name": "vmcb_clean",
+ "type": "bool"
+ },
+ {
+ "name": "nrip_save",
+ "type": "bool"
+ },
+ {
+ "name": "pclmuldq",
+ "type": "bool"
+ },
+ {
+ "name": "ffxsr",
+ "type": "bool"
+ },
+ {
+ "name": "sse4-2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_asyncpf_int",
+ "type": "bool"
+ },
+ {
+ "name": "cmp_legacy",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_nopiodelay",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr_core",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_pv_unhalt",
+ "type": "bool"
+ },
+ {
+ "name": "ds_cpl",
+ "type": "bool"
+ },
+ {
+ "name": "sse4-1",
+ "type": "bool"
+ },
+ {
+ "name": "perfctr_nb",
+ "type": "bool"
+ },
+ {
+ "name": "sse3",
+ "type": "bool"
+ },
+ {
+ "name": "tsc_scale",
+ "type": "bool"
+ },
+ {
+ "name": "pause_filter",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_asyncpf",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_steal_time",
+ "type": "bool"
+ },
+ {
+ "name": "feature-words",
+ "type": "X86CPUFeatureWordInfo"
+ },
+ {
+ "name": "kvm_mmu",
+ "type": "bool"
+ },
+ {
+ "name": "filtered-features",
+ "type": "X86CPUFeatureWordInfo"
+ },
+ {
+ "name": "sse4_2",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_poll_control",
+ "type": "bool"
+ },
+ {
+ "name": "fxsr_opt",
+ "type": "bool"
+ },
+ {
+ "name": "nodeid_msr",
+ "type": "bool"
+ },
+ {
+ "name": "kvm_pv_eoi",
+ "type": "bool"
+ },
+ {
+ "name": "i64",
+ "type": "bool"
+ },
+ {
+ "name": "hv-apicv",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "xd",
+ "type": "bool"
+ },
+ {
+ "name": "sse4_1",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-42"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-43"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "q35"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "pc"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "isapc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "486-x86_64-cpu",
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microvm",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "microvm.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.3",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ }
+ ],
+ "id": "libvirt-43"
+}
+
+{
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "none-machine"
+ },
+ "id": "libvirt-44"
+}
+
+{
+ "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": "initrd",
+ "description": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "confidential-guest-support",
+ "description": "Set confidential guest scheme to support",
+ "type": "link<confidential-guest-support>"
+ },
+ {
+ "name": "graphics",
+ "description": "Set on/off to enable/disable graphics emulation",
+ "type": "bool"
+ },
+ {
+ "name": "usb",
+ "description": "Set on/off to enable/disable usb",
+ "type": "bool"
+ },
+ {
+ "name": "firmware",
+ "description": "Firmware image",
+ "type": "string"
+ },
+ {
+ "name": "memory-encryption",
+ "description": "Set memory encryption object to use",
+ "type": "string"
+ },
+ {
+ "name": "smp",
+ "description": "CPU topology",
+ "type": "SMPConfiguration"
+ },
+ {
+ "name": "dump-guest-core",
+ "description": "Include guest memory in a core dump",
+ "type": "bool"
+ },
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate dynamically",
+ "type": "int"
+ },
+ {
+ "name": "dumpdtb",
+ "description": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "memory-backend",
+ "description": "Set RAM backendValid value is ID of hostmem based backend",
+ "type": "string"
+ },
+ {
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "mem-merge",
+ "description": "Enable/disable memory merge support",
+ "type": "bool"
+ },
+ {
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
+ {
+ "name": "peripheral-anon",
+ "type": "child<container>"
+ },
+ {
+ "name": "peripheral",
+ "type": "child<container>"
+ }
+ ],
+ "id": "libvirt-44"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-45"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64-v1",
+ "typename": "qemu64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32-v1",
+ "typename": "qemu32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom-v1",
+ "typename": "phenom-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "phenom-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3-v1",
+ "typename": "pentium3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2-v1",
+ "typename": "pentium2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium-v1",
+ "typename": "pentium-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270-v1",
+ "typename": "n270-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "n270-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64-v1",
+ "typename": "kvm64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32-v1",
+ "typename": "kvm32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo-v1",
+ "typename": "coreduo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "coreduo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo-v1",
+ "typename": "core2duo-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [
+ "ss"
+ ],
+ "alias-of": "core2duo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon-v1",
+ "typename": "athlon-v1-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ "3dnowext",
+ "3dnow"
+ ],
+ "alias-of": "athlon-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v2",
+ "typename": "Westmere-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v1",
+ "typename": "Westmere-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Westmere-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Westmere-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v4",
+ "typename": "Snowridge-v4-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v3",
+ "typename": "Snowridge-v3-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v2",
+ "typename": "Snowridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v1",
+ "typename": "Snowridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge",
+ "typename": "Snowridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "core-capability",
+ "mpx",
+ "mpx",
+ "split-lock-detect"
+ ],
+ "alias-of": "Snowridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v5",
+ "typename": "Skylake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v4",
+ "typename": "Skylake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v3",
+ "typename": "Skylake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v2",
+ "typename": "Skylake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v1",
+ "typename": "Skylake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS",
+ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Skylake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v4",
+ "typename": "Skylake-Client-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v3",
+ "typename": "Skylake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v2",
+ "typename": "Skylake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v1",
+ "typename": "Skylake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS",
+ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Skylake-Client-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Skylake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Skylake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v2",
+ "typename": "SandyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v1",
+ "typename": "SandyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "SandyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "SandyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn-v1",
+ "typename": "Penryn-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Penryn-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5-v1",
+ "typename": "Opteron_G5-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "alias-of": "Opteron_G5-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4-v1",
+ "typename": "Opteron_G4-v1-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "xop",
+ "fma4"
+ ],
+ "alias-of": "Opteron_G4-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3-v1",
+ "typename": "Opteron_G3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2-v1",
+ "typename": "Opteron_G2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1-v1",
+ "typename": "Opteron_G1-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G1-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v2",
+ "typename": "Nehalem-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v1",
+ "typename": "Nehalem-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Nehalem-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Nehalem-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill-v1",
+ "typename": "KnightsMill-v1-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill",
+ "typename": "KnightsMill-x86_64-cpu",
+ "unavailable-features": [
+ "ss",
+ "erms",
+ "avx512f",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "alias-of": "KnightsMill-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v2",
+ "typename": "IvyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v1",
+ "typename": "IvyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "alias-of": "IvyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "erms"
+ ],
+ "alias-of": "IvyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v6",
+ "typename": "Icelake-Server-v6-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v5",
+ "typename": "Icelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v4",
+ "typename": "Icelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512ifma",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "fsrm",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v3",
+ "typename": "Icelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v2",
+ "typename": "Icelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v1",
+ "typename": "Icelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-noTSX",
+ "typename": "Icelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server",
+ "typename": "Icelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "la57",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Icelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Client-v3",
+ "typename": "Icelake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-v2",
+ "typename": "Icelake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-v1",
+ "typename": "Icelake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-noTSX",
+ "typename": "Icelake-Client-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "pku"
+ ],
+ "alias-of": "Icelake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client",
+ "typename": "Icelake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512vbmi",
+ "pku",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "pku"
+ ],
+ "alias-of": "Icelake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Haswell-v4",
+ "typename": "Haswell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v3",
+ "typename": "Haswell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v2",
+ "typename": "Haswell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v1",
+ "typename": "Haswell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v2",
+ "typename": "EPYC-v2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v1",
+ "typename": "EPYC-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v2",
+ "typename": "EPYC-Rome-v2-x86_64-cpu",
+ "unavailable-features": [
+ "ibrs"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan-v1",
+ "typename": "EPYC-Milan-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "pku",
+ "fsrm",
+ "ibrs",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan",
+ "typename": "EPYC-Milan-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "pku",
+ "fsrm",
+ "ibrs",
+ "pku"
+ ],
+ "alias-of": "EPYC-Milan-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "EPYC-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v2",
+ "typename": "Dhyana-v2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v1",
+ "typename": "Dhyana-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana",
+ "typename": "Dhyana-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Dhyana-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v3",
+ "typename": "Denverton-v3-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v2",
+ "typename": "Denverton-v2-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v1",
+ "typename": "Denverton-v1-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "spec-ctrl",
+ "mpx",
+ "mpx"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton",
+ "typename": "Denverton-x86_64-cpu",
+ "unavailable-features": [
+ "erms",
+ "mpx",
+ "spec-ctrl",
+ "mpx",
+ "mpx"
+ ],
+ "alias-of": "Denverton-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v2",
+ "typename": "Cooperlake-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v1",
+ "typename": "Cooperlake-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake",
+ "typename": "Cooperlake-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512-bf16",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all",
+ "taa-no"
+ ],
+ "alias-of": "Cooperlake-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe-v1",
+ "typename": "Conroe-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Conroe-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v5",
+ "typename": "Cascadelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v4",
+ "typename": "Cascadelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v3",
+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v2",
+ "typename": "Cascadelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v1",
+ "typename": "Cascadelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-noTSX",
+ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku",
+ "ibrs-all"
+ ],
+ "alias-of": "Cascadelake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server",
+ "typename": "Cascadelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "pku",
+ "avx512vnni",
+ "spec-ctrl",
+ "avx512f",
+ "avx512f",
+ "avx512f",
+ "pku"
+ ],
+ "alias-of": "Cascadelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v4",
+ "typename": "Broadwell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v3",
+ "typename": "Broadwell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v2",
+ "typename": "Broadwell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v1",
+ "typename": "Broadwell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Broadwell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "erms",
+ "invpcid"
+ ],
+ "alias-of": "Broadwell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Broadwell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [
+ "pcid",
+ "hle",
+ "erms",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Broadwell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486-v1",
+ "typename": "486-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "486-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-45"
+}
+
+{
+ "execute": "query-tpm-models",
+ "id": "libvirt-46"
+}
+
+{
+ "return": [
+ "tpm-crb",
+ "tpm-tis"
+ ],
+ "id": "libvirt-46"
+}
+
+{
+ "execute": "query-tpm-types",
+ "id": "libvirt-47"
+}
+
+{
+ "return": [
+ "passthrough",
+ "emulator"
+ ],
+ "id": "libvirt-47"
+}
+
+{
+ "execute": "query-command-line-options",
+ "id": "libvirt-48"
+}
+
+{
+ "return": [
+ {
+ "parameters": [
+ {
+ "name": "loadparm",
+ "help": "Up to 8 chars in set of [A-Za-z0-9. ](lower case chars converted to upper case) to pass to machine loader, boot manager, and guest kernel",
+ "type": "string"
+ },
+ {
+ "name": "dea-key-wrap",
+ "help": "enable/disable DEA key wrapping using the CPACF wrapping key",
+ "type": "boolean"
+ },
+ {
+ "name": "aes-key-wrap",
+ "help": "enable/disable AES key wrapping using the CPACF wrapping key",
+ "type": "boolean"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "help": "Set on to disable self-describing migration",
+ "type": "boolean"
+ },
+ {
+ "name": "iommu",
+ "help": "Set on/off to enable/disable Intel IOMMU (VT-d)",
+ "type": "boolean"
+ },
+ {
+ "name": "firmware",
+ "help": "firmware image",
+ "type": "string"
+ },
+ {
+ "name": "usb",
+ "help": "Set on/off to enable/disable usb",
+ "type": "boolean"
+ },
+ {
+ "name": "mem-merge",
+ "help": "enable/disable memory merge support",
+ "type": "boolean"
+ },
+ {
+ "name": "dump-guest-core",
+ "help": "Include guest memory in a core dump",
+ "type": "boolean"
+ },
+ {
+ "name": "dt_compatible",
+ "help": "Overrides the \"compatible\" property of the dt root node",
+ "type": "string"
+ },
+ {
+ "name": "phandle_start",
+ "help": "The first phandle ID we may generate dynamically",
+ "type": "number"
+ },
+ {
+ "name": "dumpdtb",
+ "help": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "dtb",
+ "help": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "help": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "initrd",
+ "help": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "kernel",
+ "help": "Linux kernel image file",
+ "type": "string"
+ },
+ {
+ "name": "kvm_shadow_mem",
+ "help": "KVM shadow MMU size",
+ "type": "size"
+ },
+ {
+ "name": "kernel_irqchip",
+ "help": "use KVM in-kernel irqchip",
+ "type": "boolean"
+ },
+ {
+ "name": "accel",
+ "help": "accelerator list",
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "help": "emulated machine",
+ "type": "string"
+ }
+ ],
+ "option": "machine"
+ },
+ {
+ "parameters": [
+ {
+ "name": "rendernode",
+ "type": "string"
+ },
+ {
+ "name": "gl",
+ "type": "boolean"
+ },
+ {
+ "name": "head",
+ "type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "seamless-migration",
+ "type": "boolean"
+ },
+ {
+ "name": "playback-compression",
+ "type": "boolean"
+ },
+ {
+ "name": "agent-mouse",
+ "type": "boolean"
+ },
+ {
+ "name": "streaming-video",
+ "type": "string"
+ },
+ {
+ "name": "zlib-glz-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "jpeg-wan-compression",
+ "type": "string"
+ },
+ {
+ "name": "image-compression",
+ "type": "string"
+ },
+ {
+ "name": "plaintext-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-channel",
+ "type": "string"
+ },
+ {
+ "name": "tls-ciphers",
+ "type": "string"
+ },
+ {
+ "name": "x509-dh-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cacert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-cert-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-password",
+ "type": "string"
+ },
+ {
+ "name": "x509-key-file",
+ "type": "string"
+ },
+ {
+ "name": "x509-dir",
+ "type": "string"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-agent-file-xfer",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-copy-paste",
+ "type": "boolean"
+ },
+ {
+ "name": "disable-ticketing",
+ "type": "boolean"
+ },
+ {
+ "name": "password-secret",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "type": "string"
+ },
+ {
+ "name": "unix",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "addr",
+ "type": "string"
+ },
+ {
+ "name": "tls-port",
+ "type": "number"
+ },
+ {
+ "name": "port",
+ "type": "number"
+ }
+ ],
+ "option": "spice"
+ },
+ {
+ "parameters": [
+ {
+ "name": "timeout",
+ "help": "Request timeout in seconds (default 0 = no timeout)",
+ "type": "number"
+ },
+ {
+ "name": "initiator-name",
+ "help": "Initiator iqn name to use when connecting",
+ "type": "string"
+ },
+ {
+ "name": "header-digest",
+ "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
+ "type": "string"
+ },
+ {
+ "name": "password-secret",
+ "help": "ID of the secret providing password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "help": "password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "help": "username for CHAP authentication to target",
+ "type": "string"
+ }
+ ],
+ "option": "iscsi"
+ },
+ {
+ "parameters": [
+ {
+ "name": "resourcecontrol",
+ "type": "string"
+ },
+ {
+ "name": "spawn",
+ "type": "string"
+ },
+ {
+ "name": "elevateprivileges",
+ "type": "string"
+ },
+ {
+ "name": "obsolete",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "boolean"
+ }
+ ],
+ "option": "sandbox"
+ },
+ {
+ "parameters": [
+ {
+ "name": "dmode",
+ "type": "number"
+ },
+ {
+ "name": "fmode",
+ "type": "number"
+ },
+ {
+ "name": "sock_fd",
+ "type": "number"
+ },
+ {
+ "name": "socket",
+ "type": "string"
+ },
+ {
+ "name": "multidevs",
+ "type": "string"
+ },
+ {
+ "name": "readonly",
+ "type": "boolean"
+ },
+ {
+ "name": "writeout",
+ "type": "string"
+ },
+ {
+ "name": "security_model",
+ "type": "string"
+ },
+ {
+ "name": "mount_tag",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "fsdriver",
+ "type": "string"
+ }
+ ],
+ "option": "virtfs"
+ },
+ {
+ "parameters": [
+ {
+ "name": "throttling.iops-size",
+ "help": "when limiting by iops max size of an I/O in bytes",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max-length",
+ "help": "length of the bps-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max-length",
+ "help": "length of the bps-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max-length",
+ "help": "length of the bps-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max-length",
+ "help": "length of the iops-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max-length",
+ "help": "length of the iops-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max-length",
+ "help": "length of the iops-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max",
+ "help": "total bytes write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max",
+ "help": "total bytes read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max",
+ "help": "total bytes burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max",
+ "help": "I/O operations write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max",
+ "help": "I/O operations read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max",
+ "help": "I/O operations burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write",
+ "help": "limit write bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read",
+ "help": "limit read bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total",
+ "help": "limit total bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write",
+ "help": "limit write operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read",
+ "help": "limit read operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total",
+ "help": "limit total I/O operations per second",
+ "type": "number"
+ },
+ {
+ "name": "dmode",
+ "type": "number"
+ },
+ {
+ "name": "fmode",
+ "type": "number"
+ },
+ {
+ "name": "sock_fd",
+ "type": "number"
+ },
+ {
+ "name": "socket",
+ "type": "string"
+ },
+ {
+ "name": "multidevs",
+ "type": "string"
+ },
+ {
+ "name": "readonly",
+ "type": "boolean"
+ },
+ {
+ "name": "writeout",
+ "type": "string"
+ },
+ {
+ "name": "security_model",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "fsdriver",
+ "type": "string"
+ }
+ ],
+ "option": "fsdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "smbios"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "acpi"
+ },
+ {
+ "parameters": [
+ {
+ "name": "power-control",
+ "type": "boolean"
+ },
+ {
+ "name": "audiodev",
+ "type": "string"
+ },
+ {
+ "name": "non-adaptive",
+ "type": "boolean"
+ },
+ {
+ "name": "lossy",
+ "type": "boolean"
+ },
+ {
+ "name": "sasl-authz",
+ "type": "string"
+ },
+ {
+ "name": "tls-authz",
+ "type": "string"
+ },
+ {
+ "name": "sasl",
+ "type": "boolean"
+ },
+ {
+ "name": "key-delay-ms",
+ "type": "number"
+ },
+ {
+ "name": "lock-key-sync",
+ "type": "boolean"
+ },
+ {
+ "name": "reverse",
+ "type": "boolean"
+ },
+ {
+ "name": "password-secret",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "to",
+ "type": "number"
+ },
+ {
+ "name": "connections",
+ "type": "number"
+ },
+ {
+ "name": "head",
+ "type": "number"
+ },
+ {
+ "name": "display",
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "type": "string"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "websocket",
+ "type": "string"
+ },
+ {
+ "name": "vnc",
+ "type": "string"
+ }
+ ],
+ "option": "vnc"
+ },
+ {
+ "parameters": [
+ {
+ "name": "watchdog",
+ "type": "string"
+ },
+ {
+ "name": "panic",
+ "type": "string"
+ },
+ {
+ "name": "reboot",
+ "type": "string"
+ },
+ {
+ "name": "shutdown",
+ "type": "string"
+ }
+ ],
+ "option": "action"
+ },
+ {
+ "parameters": [
+ {
+ "name": "gen_id",
+ "help": "Sets id of the object generating the fw_cfg blob to be inserted",
+ "type": "string"
+ },
+ {
+ "name": "string",
+ "help": "Sets content of the blob to be inserted from a string",
+ "type": "string"
+ },
+ {
+ "name": "file",
+ "help": "Sets the name of the file from which the fw_cfg blob will be loaded",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "help": "Sets the fw_cfg name of the blob to be inserted",
+ "type": "string"
+ }
+ ],
+ "option": "fw_cfg"
+ },
+ {
+ "parameters": [
+ ],
+ "option": ""
+ },
+ {
+ "parameters": [
+ {
+ "name": "rrsnapshot",
+ "type": "string"
+ },
+ {
+ "name": "rrfile",
+ "type": "string"
+ },
+ {
+ "name": "rr",
+ "type": "string"
+ },
+ {
+ "name": "sleep",
+ "type": "boolean"
+ },
+ {
+ "name": "align",
+ "type": "boolean"
+ },
+ {
+ "name": "shift",
+ "type": "string"
+ }
+ ],
+ "option": "icount"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "numa"
+ },
+ {
+ "parameters": [
+ {
+ "name": "debug-threads",
+ "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.",
+ "type": "boolean"
+ },
+ {
+ "name": "process",
+ "help": "Sets the name of the QEMU process, as shown in top etc",
+ "type": "string"
+ },
+ {
+ "name": "guest",
+ "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server",
+ "type": "string"
+ }
+ ],
+ "option": "name"
+ },
+ {
+ "parameters": [
+ {
+ "name": "guest-name",
+ "help": "Prepends guest name for error messages but only if -name guest is set otherwise option is ignored\n",
+ "type": "boolean"
+ },
+ {
+ "name": "timestamp",
+ "type": "boolean"
+ }
+ ],
+ "option": "msg"
+ },
+ {
+ "parameters": [
+ {
+ "name": "cpu-pm",
+ "type": "boolean"
+ },
+ {
+ "name": "mem-lock",
+ "type": "boolean"
+ }
+ ],
+ "option": "overcommit"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "tpmdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "object"
+ },
+ {
+ "parameters": [
+ {
+ "name": "opaque",
+ "help": "free-form string used to describe fd",
+ "type": "string"
+ },
+ {
+ "name": "set",
+ "help": "ID of the fd set to add fd to",
+ "type": "number"
+ },
+ {
+ "name": "fd",
+ "help": "file descriptor of which a duplicate is added to fd set",
+ "type": "number"
+ }
+ ],
+ "option": "add-fd"
+ },
+ {
+ "parameters": [
+ {
+ "name": "strict",
+ "type": "boolean"
+ },
+ {
+ "name": "reboot-timeout",
+ "type": "number"
+ },
+ {
+ "name": "splash-time",
+ "type": "number"
+ },
+ {
+ "name": "splash",
+ "type": "string"
+ },
+ {
+ "name": "menu",
+ "type": "boolean"
+ },
+ {
+ "name": "once",
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "type": "string"
+ }
+ ],
+ "option": "boot-opts"
+ },
+ {
+ "parameters": [
+ {
+ "name": "maxcpus",
+ "type": "number"
+ },
+ {
+ "name": "threads",
+ "type": "number"
+ },
+ {
+ "name": "cores",
+ "type": "number"
+ },
+ {
+ "name": "clusters",
+ "type": "number"
+ },
+ {
+ "name": "dies",
+ "type": "number"
+ },
+ {
+ "name": "sockets",
+ "type": "number"
+ },
+ {
+ "name": "cpus",
+ "type": "number"
+ }
+ ],
+ "option": "smp-opts"
+ },
+ {
+ "parameters": [
+ {
+ "name": "maxmem",
+ "type": "size"
+ },
+ {
+ "name": "slots",
+ "type": "number"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ }
+ ],
+ "option": "memory"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "accel"
+ },
+ {
+ "parameters": [
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "bootindex",
+ "type": "number"
+ }
+ ],
+ "option": "option-rom"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "plugin"
+ },
+ {
+ "parameters": [
+ {
+ "name": "file",
+ "type": "string"
+ },
+ {
+ "name": "events",
+ "type": "string"
+ },
+ {
+ "name": "enable",
+ "type": "string"
+ }
+ ],
+ "option": "trace"
+ },
+ {
+ "parameters": [
+ {
+ "name": "pretty",
+ "type": "boolean"
+ },
+ {
+ "name": "chardev",
+ "type": "string"
+ },
+ {
+ "name": "mode",
+ "type": "string"
+ }
+ ],
+ "option": "mon"
+ },
+ {
+ "parameters": [
+ {
+ "name": "value",
+ "type": "string"
+ },
+ {
+ "name": "property",
+ "type": "string"
+ },
+ {
+ "name": "driver",
+ "type": "string"
+ }
+ ],
+ "option": "global"
+ },
+ {
+ "parameters": [
+ {
+ "name": "driftfix",
+ "type": "string"
+ },
+ {
+ "name": "clock",
+ "type": "string"
+ },
+ {
+ "name": "base",
+ "type": "string"
+ }
+ ],
+ "option": "rtc"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "net"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "nic"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "netdev"
+ },
+ {
+ "parameters": [
+ ],
+ "option": "device"
+ },
+ {
+ "parameters": [
+ {
+ "name": "abstract",
+ "type": "boolean"
+ },
+ {
+ "name": "tight",
+ "default": "on",
+ "type": "boolean"
+ },
+ {
+ "name": "clipboard",
+ "type": "boolean"
+ },
+ {
+ "name": "mouse",
+ "type": "boolean"
+ },
+ {
+ "name": "logappend",
+ "type": "boolean"
+ },
+ {
+ "name": "logfile",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "type": "boolean"
+ },
+ {
+ "name": "chardev",
+ "type": "string"
+ },
+ {
+ "name": "size",
+ "type": "size"
+ },
+ {
+ "name": "debug",
+ "type": "number"
+ },
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "signal",
+ "type": "boolean"
+ },
+ {
+ "name": "mux",
+ "type": "boolean"
+ },
+ {
+ "name": "rows",
+ "type": "number"
+ },
+ {
+ "name": "cols",
+ "type": "number"
+ },
+ {
+ "name": "height",
+ "type": "number"
+ },
+ {
+ "name": "width",
+ "type": "number"
+ },
+ {
+ "name": "websocket",
+ "type": "boolean"
+ },
+ {
+ "name": "tls-authz",
+ "type": "string"
+ },
+ {
+ "name": "tls-creds",
+ "type": "string"
+ },
+ {
+ "name": "tn3270",
+ "type": "boolean"
+ },
+ {
+ "name": "telnet",
+ "type": "boolean"
+ },
+ {
+ "name": "reconnect",
+ "type": "number"
+ },
+ {
+ "name": "nodelay",
+ "type": "boolean"
+ },
+ {
+ "name": "delay",
+ "type": "boolean"
+ },
+ {
+ "name": "server",
+ "type": "boolean"
+ },
+ {
+ "name": "wait",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv6",
+ "type": "boolean"
+ },
+ {
+ "name": "ipv4",
+ "type": "boolean"
+ },
+ {
+ "name": "to",
+ "type": "number"
+ },
+ {
+ "name": "localport",
+ "type": "string"
+ },
+ {
+ "name": "localaddr",
+ "type": "string"
+ },
+ {
+ "name": "fd",
+ "type": "string"
+ },
+ {
+ "name": "port",
+ "type": "string"
+ },
+ {
+ "name": "host",
+ "type": "string"
+ },
+ {
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "name": "backend",
+ "type": "string"
+ }
+ ],
+ "option": "chardev"
+ },
+ {
+ "parameters": [
+ {
+ "name": "copy-on-read",
+ "help": "copy read data from backing file into image file",
+ "type": "boolean"
+ },
+ {
+ "name": "werror",
+ "help": "write error action",
+ "type": "string"
+ },
+ {
+ "name": "rerror",
+ "help": "read error action",
+ "type": "string"
+ },
+ {
+ "name": "read-only",
+ "help": "open drive file as read-only",
+ "type": "boolean"
+ },
+ {
+ "name": "file",
+ "help": "file name",
+ "type": "string"
+ },
+ {
+ "name": "if",
+ "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
+ "type": "string"
+ },
+ {
+ "name": "media",
+ "help": "media type (disk, cdrom)",
+ "type": "string"
+ },
+ {
+ "name": "index",
+ "help": "index number",
+ "type": "number"
+ },
+ {
+ "name": "unit",
+ "help": "unit number (i.e. lun for scsi)",
+ "type": "number"
+ },
+ {
+ "name": "bus",
+ "help": "bus number",
+ "type": "number"
+ },
+ {
+ "name": "stats-account-failed",
+ "help": "whether to account for failed I/O operations in the statistics",
+ "type": "boolean"
+ },
+ {
+ "name": "stats-account-invalid",
+ "help": "whether to account for invalid I/O operations in the statistics",
+ "type": "boolean"
+ },
+ {
+ "name": "detect-zeroes",
+ "help": "try to optimize zero writes (off, on, unmap)",
+ "type": "string"
+ },
+ {
+ "name": "throttling.group",
+ "help": "name of the block throttling group",
+ "type": "string"
+ },
+ {
+ "name": "throttling.iops-size",
+ "help": "when limiting by iops max size of an I/O in bytes",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max-length",
+ "help": "length of the bps-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max-length",
+ "help": "length of the bps-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max-length",
+ "help": "length of the bps-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max-length",
+ "help": "length of the iops-write-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max-length",
+ "help": "length of the iops-read-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max-length",
+ "help": "length of the iops-total-max burst period, in seconds",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write-max",
+ "help": "total bytes write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read-max",
+ "help": "total bytes read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total-max",
+ "help": "total bytes burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write-max",
+ "help": "I/O operations write burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read-max",
+ "help": "I/O operations read burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total-max",
+ "help": "I/O operations burst",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-write",
+ "help": "limit write bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-read",
+ "help": "limit read bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.bps-total",
+ "help": "limit total bytes per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-write",
+ "help": "limit write operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-read",
+ "help": "limit read operations per second",
+ "type": "number"
+ },
+ {
+ "name": "throttling.iops-total",
+ "help": "limit total I/O operations per second",
+ "type": "number"
+ },
+ {
+ "name": "werror",
+ "help": "write error action",
+ "type": "string"
+ },
+ {
+ "name": "format",
+ "help": "disk format (raw, qcow2, ...)",
+ "type": "string"
+ },
+ {
+ "name": "cache.writeback",
+ "help": "Enable writeback mode",
+ "type": "boolean"
+ },
+ {
+ "name": "aio",
+ "help": "host AIO implementation (threads, native, io_uring)",
+ "type": "string"
+ },
+ {
+ "name": "snapshot",
+ "help": "enable/disable snapshot mode",
+ "type": "boolean"
+ },
+ {
+ "name": "force-share",
+ "help": "always accept other writers (default: off)",
+ "type": "boolean"
+ },
+ {
+ "name": "discard",
+ "help": "discard operation (ignore/off, unmap/on)",
+ "type": "string"
+ },
+ {
+ "name": "auto-read-only",
+ "help": "Node can become read-only if opening read-write fails",
+ "type": "boolean"
+ },
+ {
+ "name": "cache.no-flush",
+ "help": "Ignore flush requests",
+ "type": "boolean"
+ },
+ {
+ "name": "cache.direct",
+ "help": "Bypass software writeback cache on the host",
+ "type": "boolean"
+ },
+ {
+ "name": "driver",
+ "help": "Block driver to use for the node",
+ "type": "string"
+ },
+ {
+ "name": "node-name",
+ "help": "Node name of the block device node",
+ "type": "string"
+ }
+ ],
+ "option": "drive"
+ }
+ ],
+ "id": "libvirt-48"
+}
+
+{
+ "execute": "query-migrate-capabilities",
+ "id": "libvirt-49"
+}
+
+{
+ "return": [
+ {
+ "state": false,
+ "capability": "xbzrle"
+ },
+ {
+ "state": false,
+ "capability": "rdma-pin-all"
+ },
+ {
+ "state": false,
+ "capability": "auto-converge"
+ },
+ {
+ "state": false,
+ "capability": "zero-blocks"
+ },
+ {
+ "state": false,
+ "capability": "compress"
+ },
+ {
+ "state": false,
+ "capability": "events"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-ram"
+ },
+ {
+ "state": false,
+ "capability": "x-colo"
+ },
+ {
+ "state": false,
+ "capability": "release-ram"
+ },
+ {
+ "state": false,
+ "capability": "block"
+ },
+ {
+ "state": false,
+ "capability": "return-path"
+ },
+ {
+ "state": false,
+ "capability": "pause-before-switchover"
+ },
+ {
+ "state": false,
+ "capability": "multifd"
+ },
+ {
+ "state": false,
+ "capability": "dirty-bitmaps"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-blocktime"
+ },
+ {
+ "state": false,
+ "capability": "late-block-activate"
+ },
+ {
+ "state": false,
+ "capability": "x-ignore-shared"
+ },
+ {
+ "state": false,
+ "capability": "validate-uuid"
+ },
+ {
+ "state": false,
+ "capability": "background-snapshot"
+ }
+ ],
+ "id": "libvirt-49"
+}
+
+{
+ "execute": "query-sev-capabilities",
+ "id": "libvirt-50"
+}
+
+{
+ "id": "libvirt-50",
+ "error": {
+ "class": "GenericError",
+ "desc": "SEV: Failed to open /dev/sev: No such file or directory"
+ }
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "host"
+ }
+ },
+ "id": "libvirt-51"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": true,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": true,
+ "perfctr-core": true,
+ "mpx": false,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 23,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": true,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": true,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 16,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": true,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": false,
+ "pks": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": false,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": true,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": true,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": true,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": true,
+ "pcommit": false,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": true,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": true,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "kvm-pv-ipi": true,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 113,
+ "movbe": true,
+ "nrip-save": true,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": true,
+ "skip-l1dfl-vmentry": true,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "stepping": 0,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": false,
+ "vmx-invept": false,
+ "osvw": true,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": true,
+ "kvm-steal-time": true,
+ "avx512-vp2intersect": false,
+ "kvmclock": true,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": true,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": true,
+ "xop": false,
+ "ibpb": true,
+ "ibrs": false,
+ "avx": true,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": false,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": true,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": true,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": true,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": true,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483679,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": true,
+ "tsc-scale": true,
+ "topoext": false,
+ "amd-stibp": true,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": false,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": true,
+ "vgif": false,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": true,
+ "3dnow": false,
+ "erms": false,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": true,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": true,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "AMD Ryzen 9 3900X 12-Core Processor ",
+ "sha-ni": true,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-51"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "host",
+ "props": {
+ "migratable": false
+ }
+ }
+ },
+ "id": "libvirt-52"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": true,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": true,
+ "perfctr-core": true,
+ "mpx": false,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 23,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": true,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": true,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 16,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": true,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": false,
+ "pks": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": false,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": true,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": true,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": true,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": true,
+ "pcommit": false,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": true,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": true,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": true,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "kvm-pv-ipi": true,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 113,
+ "movbe": true,
+ "nrip-save": true,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": true,
+ "skip-l1dfl-vmentry": true,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "stepping": 0,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": false,
+ "vmx-invept": false,
+ "osvw": true,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": true,
+ "kvm-steal-time": true,
+ "avx512-vp2intersect": false,
+ "kvmclock": true,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": true,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": true,
+ "xop": false,
+ "ibpb": true,
+ "ibrs": false,
+ "avx": true,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": false,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": true,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": true,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": true,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": true,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483679,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": true,
+ "tsc-scale": true,
+ "topoext": false,
+ "amd-stibp": true,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": false,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": true,
+ "vgif": false,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": true,
+ "3dnow": false,
+ "erms": false,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": true,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": true,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "AMD Ryzen 9 3900X 12-Core Processor ",
+ "sha-ni": true,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-52"
+}
+
+{
+ "execute": "qmp_capabilities",
+ "id": "libvirt-1"
+}
+
+{
+ "return": {
+ },
+ "id": "libvirt-1"
+}
+
+{
+ "execute": "query-cpu-definitions",
+ "id": "libvirt-2"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [
+ "kvm"
+ ],
+ "static": false,
+ "migration-safe": false,
+ "deprecated": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": true,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64-v1",
+ "typename": "qemu64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32-v1",
+ "typename": "qemu32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "qemu32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom-v1",
+ "typename": "phenom-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fxsr-opt"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "fxsr-opt"
+ ],
+ "alias-of": "phenom-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3-v1",
+ "typename": "pentium3-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2-v1",
+ "typename": "pentium2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium-v1",
+ "typename": "pentium-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "pentium-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270-v1",
+ "typename": "n270-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "n270-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64-v1",
+ "typename": "kvm64-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm64-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32-v1",
+ "typename": "kvm32-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "kvm32-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo-v1",
+ "typename": "coreduo-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "coreduo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo-v1",
+ "typename": "core2duo-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "core2duo-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon-v1",
+ "typename": "athlon-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "athlon-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v2",
+ "typename": "Westmere-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-v1",
+ "typename": "Westmere-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Westmere-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Westmere-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v4",
+ "typename": "Snowridge-v4-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v3",
+ "typename": "Snowridge-v3-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v2",
+ "typename": "Snowridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge-v1",
+ "typename": "Snowridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Snowridge",
+ "typename": "Snowridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "gfni",
+ "cldemote",
+ "movdiri",
+ "movdir64b",
+ "spec-ctrl",
+ "arch-capabilities",
+ "core-capability",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "split-lock-detect"
+ ],
+ "alias-of": "Snowridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v5",
+ "typename": "Skylake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v4",
+ "typename": "Skylake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v3",
+ "typename": "Skylake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v2",
+ "typename": "Skylake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-v1",
+ "typename": "Skylake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-noTSX-IBRS",
+ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v4",
+ "typename": "Skylake-Client-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v3",
+ "typename": "Skylake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v2",
+ "typename": "Skylake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-v1",
+ "typename": "Skylake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-noTSX-IBRS",
+ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Skylake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v2",
+ "typename": "SandyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-v1",
+ "typename": "SandyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "spec-ctrl"
+ ],
+ "alias-of": "SandyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx"
+ ],
+ "alias-of": "SandyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn-v1",
+ "typename": "Penryn-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Penryn-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5-v1",
+ "typename": "Opteron_G5-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "tbm",
+ "nrip-save"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "tbm",
+ "nrip-save"
+ ],
+ "alias-of": "Opteron_G5-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4-v1",
+ "typename": "Opteron_G4-v1-x86_64-cpu",
+ "unavailable-features": [
+ "avx",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "nrip-save"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "avx",
+ "misalignsse",
+ "3dnowprefetch",
+ "xop",
+ "fma4",
+ "nrip-save"
+ ],
+ "alias-of": "Opteron_G4-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3-v1",
+ "typename": "Opteron_G3-v1-x86_64-cpu",
+ "unavailable-features": [
+ "misalignsse"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [
+ "misalignsse"
+ ],
+ "alias-of": "Opteron_G3-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2-v1",
+ "typename": "Opteron_G2-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G2-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1-v1",
+ "typename": "Opteron_G1-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Opteron_G1-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v2",
+ "typename": "Nehalem-v2-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-v1",
+ "typename": "Nehalem-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "spec-ctrl"
+ ],
+ "alias-of": "Nehalem-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Nehalem-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill-v1",
+ "typename": "KnightsMill-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "avx512f",
+ "rdseed",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "KnightsMill",
+ "typename": "KnightsMill-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "avx512f",
+ "rdseed",
+ "avx512pf",
+ "avx512er",
+ "avx512cd",
+ "avx512-vpopcntdq",
+ "avx512-4vnniw",
+ "avx512-4fmaps",
+ "3dnowprefetch"
+ ],
+ "alias-of": "KnightsMill-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v2",
+ "typename": "IvyBridge-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-v1",
+ "typename": "IvyBridge-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "spec-ctrl"
+ ],
+ "alias-of": "IvyBridge-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c"
+ ],
+ "alias-of": "IvyBridge-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v6",
+ "typename": "Icelake-Server-v6-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v5",
+ "typename": "Icelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v4",
+ "typename": "Icelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512ifma",
+ "avx512cd",
+ "sha-ni",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "rdpid",
+ "fsrm",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v3",
+ "typename": "Icelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v2",
+ "typename": "Icelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-v1",
+ "typename": "Icelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server-noTSX",
+ "typename": "Icelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Server-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Server",
+ "typename": "Icelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Icelake-Client-v3",
+ "typename": "Icelake-Client-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-v2",
+ "typename": "Icelake-Client-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-v1",
+ "typename": "Icelake-Client-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client-noTSX",
+ "typename": "Icelake-Client-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Client-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Icelake-Client",
+ "typename": "Icelake-Client-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "avx512vbmi",
+ "avx512vbmi2",
+ "gfni",
+ "vaes",
+ "vpclmulqdq",
+ "avx512vnni",
+ "avx512bitalg",
+ "avx512-vpopcntdq",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "wbnoinvd",
+ "xsavec"
+ ],
+ "alias-of": "Icelake-Client-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": true
+ },
+ {
+ "name": "Haswell-v4",
+ "typename": "Haswell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v3",
+ "typename": "Haswell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v2",
+ "typename": "Haswell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-v1",
+ "typename": "Haswell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid"
+ ],
+ "alias-of": "Haswell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "spec-ctrl"
+ ],
+ "alias-of": "Haswell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm"
+ ],
+ "alias-of": "Haswell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v3",
+ "typename": "EPYC-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "ibpb",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v2",
+ "typename": "EPYC-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-v1",
+ "typename": "EPYC-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v2",
+ "typename": "EPYC-Rome-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome-v1",
+ "typename": "EPYC-Rome-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "amd-stibp",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Rome",
+ "typename": "EPYC-Rome-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "amd-stibp",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "alias-of": "EPYC-Rome-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan-v1",
+ "typename": "EPYC-Milan-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fsrm",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-Milan",
+ "typename": "EPYC-Milan-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "sha-ni",
+ "rdpid",
+ "fsrm",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "perfctr-core",
+ "clzero",
+ "xsaveerptr",
+ "wbnoinvd",
+ "ibpb",
+ "ibrs",
+ "amd-stibp",
+ "amd-ssbd",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "alias-of": "EPYC-Milan-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "EPYC-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "sha-ni",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "EPYC-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v2",
+ "typename": "Dhyana-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec",
+ "xsaves"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana-v1",
+ "typename": "Dhyana-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Dhyana",
+ "typename": "Dhyana-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "avx",
+ "f16c",
+ "avx2",
+ "rdseed",
+ "fxsr-opt",
+ "misalignsse",
+ "3dnowprefetch",
+ "osvw",
+ "topoext",
+ "ibpb",
+ "nrip-save",
+ "xsavec"
+ ],
+ "alias-of": "Dhyana-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v3",
+ "typename": "Denverton-v3-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v2",
+ "typename": "Denverton-v2-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton-v1",
+ "typename": "Denverton-v1-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Denverton",
+ "typename": "Denverton-x86_64-cpu",
+ "unavailable-features": [
+ "x2apic",
+ "tsc-deadline",
+ "rdseed",
+ "sha-ni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "skip-l1dfl-vmentry"
+ ],
+ "alias-of": "Denverton-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v2",
+ "typename": "Cooperlake-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake-v1",
+ "typename": "Cooperlake-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cooperlake",
+ "typename": "Cooperlake-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "stibp",
+ "arch-capabilities",
+ "ssbd",
+ "avx512-bf16",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no",
+ "pschange-mc-no",
+ "taa-no"
+ ],
+ "alias-of": "Cooperlake-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe-v1",
+ "typename": "Conroe-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "Conroe-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v5",
+ "typename": "Cascadelake-Server-v5-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "xsaves",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v4",
+ "typename": "Cascadelake-Server-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v3",
+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v2",
+ "typename": "Cascadelake-Server-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-v1",
+ "typename": "Cascadelake-Server-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server-noTSX",
+ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "arch-capabilities",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec",
+ "rdctl-no",
+ "ibrs-all",
+ "skip-l1dfl-vmentry",
+ "mds-no"
+ ],
+ "alias-of": "Cascadelake-Server-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Cascadelake-Server",
+ "typename": "Cascadelake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "avx512f",
+ "avx512dq",
+ "rdseed",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512vnni",
+ "spec-ctrl",
+ "ssbd",
+ "3dnowprefetch",
+ "xsavec"
+ ],
+ "alias-of": "Cascadelake-Server-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v4",
+ "typename": "Broadwell-v4-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v3",
+ "typename": "Broadwell-v3-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v2",
+ "typename": "Broadwell-v2-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-v1",
+ "typename": "Broadwell-v1-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v4",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "avx2",
+ "invpcid",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v2",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "spec-ctrl",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v3",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [
+ "fma",
+ "pcid",
+ "x2apic",
+ "tsc-deadline",
+ "avx",
+ "f16c",
+ "hle",
+ "avx2",
+ "invpcid",
+ "rtm",
+ "rdseed",
+ "3dnowprefetch"
+ ],
+ "alias-of": "Broadwell-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486-v1",
+ "typename": "486-v1-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [
+ ],
+ "alias-of": "486-v1",
+ "static": false,
+ "migration-safe": true,
+ "deprecated": false
+ }
+ ],
+ "id": "libvirt-2"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "max"
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": false,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": false,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": false,
+ "perfctr-core": false,
+ "mpx": true,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 15,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": false,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": false,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 13,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": false,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": false,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": true,
+ "pks": true,
+ "smx": false,
+ "cmp-legacy": false,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": true,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": false,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": true,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": false,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": false,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": false,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": false,
+ "tm": false,
+ "kvmclock-stable-bit": false,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": false,
+ "pcommit": true,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": false,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": false,
+ "kvm-pv-ipi": false,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 107,
+ "movbe": true,
+ "nrip-save": false,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": false,
+ "skip-l1dfl-vmentry": false,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": false,
+ "cx16": true,
+ "de": true,
+ "stepping": 1,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": true,
+ "vmx-invept": false,
+ "osvw": false,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": false,
+ "kvm-steal-time": false,
+ "avx512-vp2intersect": false,
+ "kvmclock": false,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": false,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": false,
+ "xop": false,
+ "ibpb": false,
+ "ibrs": false,
+ "avx": false,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": true,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": false,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": false,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": false,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": false,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483658,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "amd-stibp": false,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": true,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": false,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": false,
+ "3dnow": true,
+ "erms": true,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": false,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": false,
+ "avx512-4vnniw": false,
+ "vme": false,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": false,
+ "pse36": true,
+ "kvm-pv-tlb-flush": false,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "QEMU TCG CPU version 2.5+",
+ "sha-ni": false,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-3"
+}
+
+{
+ "execute": "query-cpu-model-expansion",
+ "arguments": {
+ "type": "static",
+ "model": {
+ "name": "max",
+ "props": {
+ "migratable": false
+ }
+ }
+ },
+ "id": "libvirt-4"
+}
+
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "vmx-entry-load-rtit-ctl": false,
+ "svme-addr-chk": true,
+ "cmov": true,
+ "ia64": false,
+ "ssb-no": false,
+ "aes": true,
+ "vmx-apicv-xapic": false,
+ "mmx": true,
+ "rdpid": false,
+ "arat": true,
+ "vmx-page-walk-4": false,
+ "vmx-page-walk-5": false,
+ "gfni": false,
+ "ibrs-all": false,
+ "vmx-desc-exit": false,
+ "pause-filter": false,
+ "bus-lock-detect": false,
+ "xsavec": false,
+ "intel-pt": false,
+ "vmx-tsc-scaling": false,
+ "vmx-cr8-store-exit": false,
+ "vmx-rdseed-exit": false,
+ "vmx-eptp-switching": false,
+ "kvm-asyncpf": false,
+ "perfctr-core": false,
+ "mpx": true,
+ "pbe": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "vmx-exit-load-efer": false,
+ "vmx-exit-clear-bndcfgs": false,
+ "sse4.1": true,
+ "family": 15,
+ "intel-pt-lip": false,
+ "vmx-vmwrite-vmexit-fields": false,
+ "kvm-asyncpf-int": false,
+ "vmx-vnmi": false,
+ "vmx-true-ctls": false,
+ "vmx-ept-execonly": false,
+ "vmx-exit-save-efer": false,
+ "vmx-invept-all-context": false,
+ "wbnoinvd": false,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "xcrypt": false,
+ "sgx": false,
+ "vmx-exit-load-pat": false,
+ "vmx-intr-exit": false,
+ "min-level": 13,
+ "vmx-flexpriority": false,
+ "xgetbv1": true,
+ "cid": false,
+ "sgx-exinfo": false,
+ "ds": false,
+ "fxsr": true,
+ "avx512-fp16": false,
+ "avx512-bf16": false,
+ "vmx-cr8-load-exit": false,
+ "xsaveopt": true,
+ "vmx-apicv-vid": false,
+ "vmx-exit-save-pat": false,
+ "xtpr": false,
+ "tsx-ctrl": false,
+ "vmx-ple": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": false,
+ "vmx-vmfunc": false,
+ "vmx-activity-shutdown": false,
+ "sgx1": false,
+ "sgx2": false,
+ "avx512vbmi2": false,
+ "cr8legacy": true,
+ "vmx-encls-exit": false,
+ "stibp": false,
+ "vmx-msr-bitmap": false,
+ "xcrypt-en": false,
+ "vmx-mwait-exit": false,
+ "vmx-pml": false,
+ "vmx-nmi-exit": false,
+ "amx-tile": false,
+ "vmx-invept-single-context-noglobals": false,
+ "pn": false,
+ "rsba": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "vmx-unrestricted-guest": false,
+ "vmx-cr3-store-noexit": false,
+ "pku": true,
+ "pks": true,
+ "smx": false,
+ "cmp-legacy": false,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "hle": false,
+ "avx-vnni": false,
+ "3dnowext": true,
+ "amd-no-ssb": false,
+ "npt": true,
+ "sgxlc": false,
+ "rdctl-no": false,
+ "vmx-invvpid": false,
+ "clwb": true,
+ "lbrv": false,
+ "adx": true,
+ "ss": true,
+ "pni": true,
+ "tsx-ldtrk": false,
+ "svm-lock": false,
+ "smep": true,
+ "smap": true,
+ "pfthreshold": false,
+ "vmx-invpcid-exit": false,
+ "amx-int8": false,
+ "x2apic": false,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "vmx-apicv-x2apic": false,
+ "kvm-pv-sched-yield": false,
+ "vmx-invlpg-exit": false,
+ "vmx-invvpid-all-context": false,
+ "vmx-activity-hlt": false,
+ "flushbyasid": false,
+ "f16c": false,
+ "vmx-exit-ack-intr": false,
+ "ace2-en": false,
+ "pae": true,
+ "pat": true,
+ "sse": true,
+ "phe-en": false,
+ "vmx-tsc-offset": false,
+ "kvm-nopiodelay": false,
+ "tm": false,
+ "kvmclock-stable-bit": false,
+ "vmx-rdtsc-exit": false,
+ "hypervisor": true,
+ "vmx-rdtscp-exit": false,
+ "mds-no": false,
+ "pcommit": true,
+ "vmx-vpid": false,
+ "syscall": true,
+ "avx512dq": false,
+ "svm": true,
+ "invtsc": false,
+ "vmx-monitor-exit": false,
+ "sse2": true,
+ "ssbd": false,
+ "vmx-wbinvd-exit": false,
+ "est": false,
+ "kvm-poll-control": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": false,
+ "kvm-pv-ipi": false,
+ "cx8": true,
+ "vmx-invvpid-single-addr": false,
+ "waitpkg": false,
+ "cldemote": false,
+ "sgx-tokenkey": false,
+ "vmx-ept": false,
+ "xfd": false,
+ "kvm-mmu": false,
+ "sse4.2": true,
+ "pge": true,
+ "avx512bitalg": false,
+ "pdcm": false,
+ "vmx-entry-load-bndcfgs": false,
+ "vmx-exit-clear-rtit-ctl": false,
+ "model": 107,
+ "movbe": true,
+ "nrip-save": false,
+ "ssse3": true,
+ "sse4a": true,
+ "kvm-msi-ext-dest-id": false,
+ "vmx-pause-exit": false,
+ "invpcid": false,
+ "sgx-debug": false,
+ "pdpe1gb": true,
+ "sgx-mode64": false,
+ "tsc-deadline": false,
+ "skip-l1dfl-vmentry": false,
+ "vmx-exit-load-perf-global-ctrl": false,
+ "fma": false,
+ "cx16": true,
+ "de": true,
+ "stepping": 1,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ds-cpl": false,
+ "ibs": false,
+ "fma4": false,
+ "vmx-exit-nosave-debugctl": false,
+ "sgx-kss": false,
+ "la57": true,
+ "vmx-invept": false,
+ "osvw": false,
+ "apic": true,
+ "pmm": false,
+ "vmx-entry-noload-debugctl": false,
+ "vmx-eptad": false,
+ "spec-ctrl": false,
+ "vmx-posted-intr": false,
+ "vmx-apicv-register": false,
+ "tsc-adjust": false,
+ "kvm-steal-time": false,
+ "avx512-vp2intersect": false,
+ "kvmclock": false,
+ "vmx-zero-len-inject": false,
+ "pschange-mc-no": false,
+ "v-vmsave-vmload": false,
+ "vmx-rdrand-exit": false,
+ "sgx-provisionkey": false,
+ "lwp": false,
+ "amd-ssbd": false,
+ "xop": false,
+ "ibpb": false,
+ "ibrs": false,
+ "avx": false,
+ "core-capability": false,
+ "vmx-invept-single-context": false,
+ "movdiri": false,
+ "acpi": true,
+ "avx512bw": false,
+ "ace2": false,
+ "fsgsbase": true,
+ "vmx-ept-2mb": false,
+ "vmx-ept-1gb": false,
+ "ht": false,
+ "vmx-io-exit": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "vaes": false,
+ "serialize": false,
+ "movdir64b": false,
+ "xsaves": false,
+ "vmx-shadow-vmcs": false,
+ "lm": true,
+ "vmx-exit-save-preemption-timer": false,
+ "vmx-entry-load-pat": false,
+ "fsrm": false,
+ "vmx-entry-load-perf-global-ctrl": false,
+ "vmx-io-bitmap": false,
+ "umip": true,
+ "vmx-store-lma": false,
+ "vmx-movdr-exit": false,
+ "pse": true,
+ "avx2": false,
+ "avic": false,
+ "sep": true,
+ "virt-ssbd": false,
+ "vmx-cr3-load-noexit": false,
+ "nodeid-msr": false,
+ "md-clear": false,
+ "misalignsse": false,
+ "split-lock-detect": false,
+ "min-xlevel": 2147483658,
+ "bmi1": true,
+ "bmi2": true,
+ "kvm-pv-unhalt": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "amd-stibp": false,
+ "vmx-preemption-timer": false,
+ "clflushopt": true,
+ "vmx-entry-load-pkrs": false,
+ "vmx-vnmi-pending": false,
+ "monitor": true,
+ "vmx-vintr-pending": false,
+ "avx512er": false,
+ "full-width-write": false,
+ "pmm-en": false,
+ "pcid": false,
+ "taa-no": false,
+ "arch-capabilities": false,
+ "vgif": true,
+ "vmx-secondary-ctls": false,
+ "vmx-xsaves": false,
+ "clzero": false,
+ "3dnow": true,
+ "erms": true,
+ "vmx-entry-ia32e-mode": false,
+ "lahf-lm": true,
+ "vpclmulqdq": false,
+ "vmx-ins-outs": false,
+ "fxsr-opt": false,
+ "xstore": false,
+ "rtm": false,
+ "kvm-hint-dedicated": false,
+ "amx-bf16": false,
+ "lmce": false,
+ "perfctr-nb": false,
+ "rdrand": true,
+ "rdseed": false,
+ "avx512-4vnniw": false,
+ "vme": false,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "xsaveerptr": false,
+ "pse36": true,
+ "kvm-pv-tlb-flush": false,
+ "vmx-activity-wait-sipi": false,
+ "tbm": false,
+ "wdt": false,
+ "vmx-rdpmc-exit": false,
+ "vmx-mtf": false,
+ "vmx-entry-load-efer": false,
+ "model-id": "QEMU TCG CPU version 2.5+",
+ "sha-ni": false,
+ "vmx-exit-load-pkrs": false,
+ "abm": true,
+ "vmx-ept-advanced-exitinfo": false,
+ "avx512pf": false,
+ "vmx-hlt-exit": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "libvirt-4"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-5"
+}
+
+{
+ "return": [
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "q35"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.2",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "none",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram",
+ "alias": "pc"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "x-remote",
+ "numa-mem-supported": false,
+ "cpu-max": 1,
+ "deprecated": false
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.7",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.9",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "isapc",
+ "numa-mem-supported": false,
+ "default-cpu-type": "486-x86_64-cpu",
+ "cpu-max": 1,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.4",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.12",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-7.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-1.6",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": true,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.10",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-6.0",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": false,
+ "name": "microvm",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "microvm.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.3",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-4.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-2.8",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-6.2",
+ "numa-mem-supported": false,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.5",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-3.0",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 255,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ },
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-2.11",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "default-ram-id": "pc.ram"
+ }
+ ],
+ "id": "libvirt-5"
+}
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
new file mode 100644
index 0000000000..dd37a3762c
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
@@ -0,0 +1,3777 @@
+<qemuCaps>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <qemuctime>0</qemuctime>
+ <selfctime>0</selfctime>
+ <selfvers>0</selfvers>
+ <flag name='kvm'/>
+ <flag name='sdl'/>
+ <flag name='no-hpet'/>
+ <flag name='spice'/>
+ <flag name='hda-duplex'/>
+ <flag name='ccid-emulated'/>
+ <flag name='ccid-passthru'/>
+ <flag name='virtio-tx-alg'/>
+ <flag name='piix3-usb-uhci'/>
+ <flag name='piix4-usb-uhci'/>
+ <flag name='usb-ehci'/>
+ <flag name='ich9-usb-ehci1'/>
+ <flag name='pci-ohci'/>
+ <flag name='usb-redir'/>
+ <flag name='usb-hub'/>
+ <flag name='ich9-ahci'/>
+ <flag name='no-acpi'/>
+ <flag name='virtio-blk-pci.scsi'/>
+ <flag name='scsi-disk.channel'/>
+ <flag name='scsi-block'/>
+ <flag name='hda-micro'/>
+ <flag name='dump-guest-memory'/>
+ <flag name='nec-usb-xhci'/>
+ <flag name='lsi'/>
+ <flag name='virtio-scsi-pci'/>
+ <flag name='blockio'/>
+ <flag name='disable-s3'/>
+ <flag name='disable-s4'/>
+ <flag name='usb-redir.filter'/>
+ <flag name='ide-drive.wwn'/>
+ <flag name='scsi-disk.wwn'/>
+ <flag name='seccomp-sandbox'/>
+ <flag name='vnc'/>
+ <flag name='qxl'/>
+ <flag name='VGA'/>
+ <flag name='cirrus-vga'/>
+ <flag name='vmware-svga'/>
+ <flag name='usb-serial'/>
+ <flag name='nbd-server'/>
+ <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='drive-discard'/>
+ <flag name='dmi-to-pci-bridge'/>
+ <flag name='i440fx-pci-hole64-size'/>
+ <flag name='q35-pci-hole64-size'/>
+ <flag name='usb-storage'/>
+ <flag name='usb-storage.removable'/>
+ <flag name='virtio-mmio'/>
+ <flag name='ich9-intel-hda'/>
+ <flag name='kvm-pit-lost-tick-policy'/>
+ <flag name='pvpanic'/>
+ <flag name='usb-kbd'/>
+ <flag name='active-commit'/>
+ <flag name='change-backing-file'/>
+ <flag name='memory-backend-ram'/>
+ <flag name='numa'/>
+ <flag name='memory-backend-file'/>
+ <flag name='usb-audio'/>
+ <flag name='rtc-reset-reinjection'/>
+ <flag name='iothread'/>
+ <flag name='migrate-rdma'/>
+ <flag name='VGA.vgamem_mb'/>
+ <flag name='vmware-svga.vgamem_mb'/>
+ <flag name='qxl.vgamem_mb'/>
+ <flag name='pc-dimm'/>
+ <flag name='machine-vmport-opt'/>
+ <flag name='pci-serial'/>
+ <flag name='migration-event'/>
+ <flag name='gpex-pcihost'/>
+ <flag name='ioh3420'/>
+ <flag name='x3130-upstream'/>
+ <flag name='xio3130-downstream'/>
+ <flag name='rtl8139'/>
+ <flag name='e1000'/>
+ <flag name='virtio-net'/>
+ <flag name='virtio-gpu'/>
+ <flag name='virtio-keyboard'/>
+ <flag name='virtio-mouse'/>
+ <flag name='virtio-tablet'/>
+ <flag name='virtio-input-host'/>
+ <flag name='chardev-file-append'/>
+ <flag name='ich9-disable-s3'/>
+ <flag name='ich9-disable-s4'/>
+ <flag name='vserport-change-event'/>
+ <flag name='virtio-balloon-pci.deflate-on-oom'/>
+ <flag name='mptsas1068'/>
+ <flag name='spice-gl'/>
+ <flag name='qxl.vram64_size_mb'/>
+ <flag name='chardev-logfile'/>
+ <flag name='pxb'/>
+ <flag name='pxb-pcie'/>
+ <flag name='nec-usb-xhci-ports'/>
+ <flag name='virtio-scsi-pci.iothread'/>
+ <flag name='drive-detect-zeroes'/>
+ <flag name='intel-iommu'/>
+ <flag name='virtio-pci-disable-legacy'/>
+ <flag name='query-hotpluggable-cpus'/>
+ <flag name='virtio-net.rx_queue_size'/>
+ <flag name='virtio-vga'/>
+ <flag name='ivshmem-plain'/>
+ <flag name='ivshmem-doorbell'/>
+ <flag name='gluster.debug_level'/>
+ <flag name='vhost-scsi'/>
+ <flag name='query-cpu-model-expansion'/>
+ <flag name='virtio-net.host_mtu'/>
+ <flag name='spice-rendernode'/>
+ <flag name='nvdimm'/>
+ <flag name='pcie-root-port'/>
+ <flag name='query-cpu-definitions'/>
+ <flag name='block-write-threshold'/>
+ <flag name='query-named-block-nodes'/>
+ <flag name='cpu-cache'/>
+ <flag name='qemu-xhci'/>
+ <flag name='intel-iommu.intremap'/>
+ <flag name='intel-iommu.caching-mode'/>
+ <flag name='intel-iommu.eim'/>
+ <flag name='intel-iommu.device-iotlb'/>
+ <flag name='virtio-net.tx_queue_size'/>
+ <flag name='chardev-reconnect'/>
+ <flag name='virtio-blk.num-queues'/>
+ <flag name='vmcoreinfo'/>
+ <flag name='disk-share-rw'/>
+ <flag name='isa-serial'/>
+ <flag name='dump-completed'/>
+ <flag name='qcow2-luks'/>
+ <flag name='pcie-pci-bridge'/>
+ <flag name='query-cpus-fast'/>
+ <flag name='disk-write-cache'/>
+ <flag name='nbd-tls'/>
+ <flag name='tpm-crb'/>
+ <flag name='pr-manager-helper'/>
+ <flag name='qom-list-properties'/>
+ <flag name='memory-backend-file.discard-data'/>
+ <flag name='screendump_device'/>
+ <flag name='hda-output'/>
+ <flag name='blockdev-del'/>
+ <flag name='vmgenid'/>
+ <flag name='vhost-vsock'/>
+ <flag name='tpm-emulator'/>
+ <flag name='mch'/>
+ <flag name='mch.extended-tseg-mbytes'/>
+ <flag name='egl-headless'/>
+ <flag name='vfio-pci.display'/>
+ <flag name='blockdev'/>
+ <flag name='memory-backend-memfd'/>
+ <flag name='memory-backend-memfd.hugetlb'/>
+ <flag name='iothread.poll-max-ns'/>
+ <flag name='egl-headless.rendernode'/>
+ <flag name='memory-backend-file.align'/>
+ <flag name='memory-backend-file.pmem'/>
+ <flag name='nvdimm.unarmed'/>
+ <flag name='scsi-disk.device_id'/>
+ <flag name='virtio-pci-non-transitional'/>
+ <flag name='query-current-machine'/>
+ <flag name='bitmap-merge'/>
+ <flag name='nbd-bitmap'/>
+ <flag name='x86-max-cpu'/>
+ <flag name='cpu-unavailable-features'/>
+ <flag name='canonical-cpu-features'/>
+ <flag name='bochs-display'/>
+ <flag name='migration-file-drop-cache'/>
+ <flag name='dbus-vmstate'/>
+ <flag name='vhost-user-gpu'/>
+ <flag name='vhost-user-vga'/>
+ <flag name='incremental-backup'/>
+ <flag name='ramfb'/>
+ <flag name='blockdev-file-dynamic-auto-read-only'/>
+ <flag name='savevm-monitor-nodes'/>
+ <flag name='drive-nvme'/>
+ <flag name='smp-dies'/>
+ <flag name='i8042'/>
+ <flag name='rng-builtin'/>
+ <flag name='virtio-net.failover'/>
+ <flag name='vhost-user-fs'/>
+ <flag name='query-named-block-nodes.flat'/>
+ <flag name='blockdev-snapshot.allow-write-only-overlay'/>
+ <flag name='blockdev-reopen'/>
+ <flag name='fsdev.multidevs'/>
+ <flag name='virtio.packed'/>
+ <flag name='pcie-root-port.hotplug'/>
+ <flag name='aio.io_uring'/>
+ <flag name='tcg'/>
+ <flag name='virtio-blk-pci.scsi.default.disabled'/>
+ <flag name='pvscsi'/>
+ <flag name='cpu.migratable'/>
+ <flag name='migration-param.bandwidth'/>
+ <flag name='migration-param.downtime'/>
+ <flag name='migration-param.xbzrle-cache-size'/>
+ <flag name='intel-iommu.aw-bits'/>
+ <flag name='numa.hmat'/>
+ <flag name='blockdev-hostdev-scsi'/>
+ <flag name='usb-host.hostdevice'/>
+ <flag name='virtio-balloon.free-page-reporting'/>
+ <flag name='block-export-add'/>
+ <flag name='netdev.vhost-vdpa'/>
+ <flag name='dc390'/>
+ <flag name='am53c974'/>
+ <flag name='virtio-pmem-pci'/>
+ <flag name='vhost-user-fs.bootindex'/>
+ <flag name='vhost-user-blk'/>
+ <flag name='cpu-max'/>
+ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
+ <flag name='migration-param.block-bitmap-mapping'/>
+ <flag name='vnc-power-control'/>
+ <flag name='audiodev'/>
+ <flag name='blockdev-backup'/>
+ <flag name='object.qapified'/>
+ <flag name='rotation-rate'/>
+ <flag name='compat-deprecated'/>
+ <flag name='acpi-index'/>
+ <flag name='input-linux'/>
+ <flag name='virtio-gpu-gl-pci'/>
+ <flag name='virtio-vga-gl'/>
+ <flag name='confidential-guest-support'/>
+ <flag name='query-display-options'/>
+ <flag name='set-action'/>
+ <flag name='virtio-blk.queue-size'/>
+ <flag name='virtio-mem-pci'/>
+ <flag name='memory-backend-file.reserve'/>
+ <flag name='piix4.acpi-root-pci-hotplug'/>
+ <flag name='query-dirty-rate'/>
+ <flag name='rbd-encryption'/>
+ <flag name='sev-guest-kernel-hashes'/>
+ <flag name='sev-inject-launch-secret'/>
+ <flag name='device.json+hotplug'/>
+ <flag name='virtio-mem-pci.prealloc'/>
+ <flag name='calc-dirty-rate'/>
+ <flag name='dirtyrate-param.mode'/>
+ <flag name='blockdev.nbd.tls-hostname'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
+ <flag name='virtio-iommu-pci'/>
+ <flag name='virtio-iommu.boot-bypass'/>
+ <flag name='virtio-net.rss'/>
+ <version>7000050</version>
+ <kvmVersion>0</kvmVersion>
+ <microcodeVersion>43100244</microcodeVersion>
+ <package>v7.0.0-930-g178bacb66d</package>
+ <arch>x86_64</arch>
+ <hostCPU type='kvm' model='base' migratability='yes'>
+ <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
+ <property name='svme-addr-chk' type='boolean' value='true' migratable='yes'/>
+ <property name='cmov' type='boolean' value='true' migratable='yes'/>
+ <property name='ia64' type='boolean' value='false'/>
+ <property name='ssb-no' type='boolean' value='false'/>
+ <property name='aes' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-xapic' type='boolean' value='false'/>
+ <property name='mmx' type='boolean' value='true' migratable='yes'/>
+ <property name='rdpid' type='boolean' value='true' migratable='yes'/>
+ <property name='arat' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-page-walk-4' type='boolean' value='false'/>
+ <property name='vmx-page-walk-5' type='boolean' value='false'/>
+ <property name='gfni' type='boolean' value='false'/>
+ <property name='ibrs-all' type='boolean' value='false'/>
+ <property name='vmx-desc-exit' type='boolean' value='false'/>
+ <property name='pause-filter' type='boolean' value='false'/>
+ <property name='bus-lock-detect' type='boolean' value='false'/>
+ <property name='xsavec' type='boolean' value='true' migratable='yes'/>
+ <property name='intel-pt' type='boolean' value='false'/>
+ <property name='vmx-tsc-scaling' type='boolean' value='false'/>
+ <property name='vmx-cr8-store-exit' type='boolean' value='false'/>
+ <property name='vmx-rdseed-exit' type='boolean' value='false'/>
+ <property name='vmx-eptp-switching' type='boolean' value='false'/>
+ <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/>
+ <property name='perfctr-core' type='boolean' value='true' migratable='yes'/>
+ <property name='mpx' type='boolean' value='false'/>
+ <property name='pbe' type='boolean' value='false'/>
+ <property name='avx512cd' type='boolean' value='false'/>
+ <property name='decodeassists' type='boolean' value='false'/>
+ <property name='vmx-exit-load-efer' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/>
+ <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+ <property name='family' type='number' value='23'/>
+ <property name='intel-pt-lip' type='boolean' value='false'/>
+ <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/>
+ <property name='kvm-asyncpf-int' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vnmi' type='boolean' value='false'/>
+ <property name='vmx-true-ctls' type='boolean' value='false'/>
+ <property name='vmx-ept-execonly' type='boolean' value='false'/>
+ <property name='vmx-exit-save-efer' type='boolean' value='false'/>
+ <property name='vmx-invept-all-context' type='boolean' value='false'/>
+ <property name='wbnoinvd' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512f' type='boolean' value='false'/>
+ <property name='msr' type='boolean' value='true' migratable='yes'/>
+ <property name='mce' type='boolean' value='true' migratable='yes'/>
+ <property name='mca' type='boolean' value='true' migratable='yes'/>
+ <property name='xcrypt' type='boolean' value='false'/>
+ <property name='sgx' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pat' type='boolean' value='false'/>
+ <property name='vmx-intr-exit' type='boolean' value='false'/>
+ <property name='min-level' type='number' value='16'/>
+ <property name='vmx-flexpriority' type='boolean' value='false'/>
+ <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+ <property name='cid' type='boolean' value='false'/>
+ <property name='sgx-exinfo' type='boolean' value='false'/>
+ <property name='ds' type='boolean' value='false'/>
+ <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-fp16' type='boolean' value='false'/>
+ <property name='avx512-bf16' type='boolean' value='false'/>
+ <property name='vmx-cr8-load-exit' type='boolean' value='false'/>
+ <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-vid' type='boolean' value='false'/>
+ <property name='vmx-exit-save-pat' type='boolean' value='false'/>
+ <property name='xtpr' type='boolean' value='false'/>
+ <property name='tsx-ctrl' type='boolean' value='false'/>
+ <property name='vmx-ple' type='boolean' value='false'/>
+ <property name='avx512vl' type='boolean' value='false'/>
+ <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+ <property name='phe' type='boolean' value='false'/>
+ <property name='extapic' type='boolean' value='false'/>
+ <property name='3dnowprefetch' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vmfunc' type='boolean' value='false'/>
+ <property name='vmx-activity-shutdown' type='boolean' value='false'/>
+ <property name='sgx1' type='boolean' value='false'/>
+ <property name='sgx2' type='boolean' value='false'/>
+ <property name='avx512vbmi2' type='boolean' value='false'/>
+ <property name='cr8legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-encls-exit' type='boolean' value='false'/>
+ <property name='stibp' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-msr-bitmap' type='boolean' value='false'/>
+ <property name='xcrypt-en' type='boolean' value='false'/>
+ <property name='vmx-mwait-exit' type='boolean' value='false'/>
+ <property name='vmx-pml' type='boolean' value='false'/>
+ <property name='vmx-nmi-exit' type='boolean' value='false'/>
+ <property name='amx-tile' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context-noglobals' type='boolean' value='false'/>
+ <property name='pn' type='boolean' value='false'/>
+ <property name='rsba' type='boolean' value='false'/>
+ <property name='dca' type='boolean' value='false'/>
+ <property name='vendor' type='string' value='AuthenticAMD'/>
+ <property name='vmx-unrestricted-guest' type='boolean' value='false'/>
+ <property name='vmx-cr3-store-noexit' type='boolean' value='false'/>
+ <property name='pku' type='boolean' value='false'/>
+ <property name='pks' type='boolean' value='false'/>
+ <property name='smx' type='boolean' value='false'/>
+ <property name='cmp-legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-4fmaps' type='boolean' value='false'/>
+ <property name='vmcb-clean' type='boolean' value='false'/>
+ <property name='hle' type='boolean' value='false'/>
+ <property name='avx-vnni' type='boolean' value='false'/>
+ <property name='3dnowext' type='boolean' value='false'/>
+ <property name='amd-no-ssb' type='boolean' value='false'/>
+ <property name='npt' type='boolean' value='true' migratable='yes'/>
+ <property name='sgxlc' type='boolean' value='false'/>
+ <property name='rdctl-no' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid' type='boolean' value='false'/>
+ <property name='clwb' type='boolean' value='true' migratable='yes'/>
+ <property name='lbrv' type='boolean' value='false'/>
+ <property name='adx' type='boolean' value='true' migratable='yes'/>
+ <property name='ss' type='boolean' value='false'/>
+ <property name='pni' type='boolean' value='true' migratable='yes'/>
+ <property name='tsx-ldtrk' type='boolean' value='false'/>
+ <property name='svm-lock' type='boolean' value='false'/>
+ <property name='smep' type='boolean' value='true' migratable='yes'/>
+ <property name='smap' type='boolean' value='true' migratable='yes'/>
+ <property name='pfthreshold' type='boolean' value='false'/>
+ <property name='vmx-invpcid-exit' type='boolean' value='false'/>
+ <property name='amx-int8' type='boolean' value='false'/>
+ <property name='x2apic' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512vbmi' type='boolean' value='false'/>
+ <property name='avx512vnni' type='boolean' value='false'/>
+ <property name='vmx-apicv-x2apic' type='boolean' value='false'/>
+ <property name='kvm-pv-sched-yield' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invlpg-exit' type='boolean' value='false'/>
+ <property name='vmx-invvpid-all-context' type='boolean' value='false'/>
+ <property name='vmx-activity-hlt' type='boolean' value='false'/>
+ <property name='flushbyasid' type='boolean' value='false'/>
+ <property name='f16c' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-ack-intr' type='boolean' value='false'/>
+ <property name='ace2-en' type='boolean' value='false'/>
+ <property name='pae' type='boolean' value='true' migratable='yes'/>
+ <property name='pat' type='boolean' value='true' migratable='yes'/>
+ <property name='sse' type='boolean' value='true' migratable='yes'/>
+ <property name='phe-en' type='boolean' value='false'/>
+ <property name='vmx-tsc-offset' type='boolean' value='false'/>
+ <property name='kvm-nopiodelay' type='boolean' value='true' migratable='yes'/>
+ <property name='tm' type='boolean' value='false'/>
+ <property name='kvmclock-stable-bit' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtsc-exit' type='boolean' value='false'/>
+ <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtscp-exit' type='boolean' value='false'/>
+ <property name='mds-no' type='boolean' value='true' migratable='yes'/>
+ <property name='pcommit' type='boolean' value='false'/>
+ <property name='vmx-vpid' type='boolean' value='false'/>
+ <property name='syscall' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512dq' type='boolean' value='false'/>
+ <property name='svm' type='boolean' value='true' migratable='yes'/>
+ <property name='invtsc' type='boolean' value='true' migratable='no'/>
+ <property name='vmx-monitor-exit' type='boolean' value='false'/>
+ <property name='sse2' type='boolean' value='true' migratable='yes'/>
+ <property name='ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-wbinvd-exit' type='boolean' value='false'/>
+ <property name='est' type='boolean' value='false'/>
+ <property name='kvm-poll-control' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512ifma' type='boolean' value='false'/>
+ <property name='tm2' type='boolean' value='false'/>
+ <property name='kvm-pv-eoi' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/>
+ <property name='cx8' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid-single-addr' type='boolean' value='false'/>
+ <property name='waitpkg' type='boolean' value='false'/>
+ <property name='cldemote' type='boolean' value='false'/>
+ <property name='sgx-tokenkey' type='boolean' value='false'/>
+ <property name='vmx-ept' type='boolean' value='false'/>
+ <property name='xfd' type='boolean' value='false'/>
+ <property name='kvm-mmu' type='boolean' value='false'/>
+ <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+ <property name='pge' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bitalg' type='boolean' value='false'/>
+ <property name='pdcm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/>
+ <property name='model' type='number' value='113'/>
+ <property name='movbe' type='boolean' value='true' migratable='yes'/>
+ <property name='nrip-save' type='boolean' value='true' migratable='yes'/>
+ <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+ <property name='sse4a' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-msi-ext-dest-id' type='boolean' value='false'/>
+ <property name='vmx-pause-exit' type='boolean' value='false'/>
+ <property name='invpcid' type='boolean' value='false'/>
+ <property name='sgx-debug' type='boolean' value='false'/>
+ <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+ <property name='sgx-mode64' type='boolean' value='false'/>
+ <property name='tsc-deadline' type='boolean' value='true' migratable='yes'/>
+ <property name='skip-l1dfl-vmentry' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='fma' type='boolean' value='true' migratable='yes'/>
+ <property name='cx16' type='boolean' value='true' migratable='yes'/>
+ <property name='de' type='boolean' value='true' migratable='yes'/>
+ <property name='stepping' type='number' value='0'/>
+ <property name='xsave' type='boolean' value='true' migratable='yes'/>
+ <property name='clflush' type='boolean' value='true' migratable='yes'/>
+ <property name='skinit' type='boolean' value='false'/>
+ <property name='tsc' type='boolean' value='true' migratable='yes'/>
+ <property name='tce' type='boolean' value='false'/>
+ <property name='fpu' type='boolean' value='true' migratable='yes'/>
+ <property name='ds-cpl' type='boolean' value='false'/>
+ <property name='ibs' type='boolean' value='false'/>
+ <property name='fma4' type='boolean' value='false'/>
+ <property name='vmx-exit-nosave-debugctl' type='boolean' value='false'/>
+ <property name='sgx-kss' type='boolean' value='false'/>
+ <property name='la57' type='boolean' value='false'/>
+ <property name='vmx-invept' type='boolean' value='false'/>
+ <property name='osvw' type='boolean' value='true' migratable='yes'/>
+ <property name='apic' type='boolean' value='true' migratable='yes'/>
+ <property name='pmm' type='boolean' value='false'/>
+ <property name='vmx-entry-noload-debugctl' type='boolean' value='false'/>
+ <property name='vmx-eptad' type='boolean' value='false'/>
+ <property name='spec-ctrl' type='boolean' value='false'/>
+ <property name='vmx-posted-intr' type='boolean' value='false'/>
+ <property name='vmx-apicv-register' type='boolean' value='false'/>
+ <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-vp2intersect' type='boolean' value='false'/>
+ <property name='kvmclock' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-zero-len-inject' type='boolean' value='false'/>
+ <property name='pschange-mc-no' type='boolean' value='true' migratable='yes'/>
+ <property name='v-vmsave-vmload' type='boolean' value='false'/>
+ <property name='vmx-rdrand-exit' type='boolean' value='false'/>
+ <property name='sgx-provisionkey' type='boolean' value='false'/>
+ <property name='lwp' type='boolean' value='false'/>
+ <property name='amd-ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='xop' type='boolean' value='false'/>
+ <property name='ibpb' type='boolean' value='true' migratable='yes'/>
+ <property name='ibrs' type='boolean' value='false'/>
+ <property name='avx' type='boolean' value='true' migratable='yes'/>
+ <property name='core-capability' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context' type='boolean' value='false'/>
+ <property name='movdiri' type='boolean' value='false'/>
+ <property name='acpi' type='boolean' value='false'/>
+ <property name='avx512bw' type='boolean' value='false'/>
+ <property name='ace2' type='boolean' value='false'/>
+ <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-2mb' type='boolean' value='false'/>
+ <property name='vmx-ept-1gb' type='boolean' value='false'/>
+ <property name='ht' type='boolean' value='false'/>
+ <property name='vmx-io-exit' type='boolean' value='false'/>
+ <property name='nx' type='boolean' value='true' migratable='yes'/>
+ <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+ <property name='mmxext' type='boolean' value='true' migratable='yes'/>
+ <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+ <property name='vaes' type='boolean' value='false'/>
+ <property name='serialize' type='boolean' value='false'/>
+ <property name='movdir64b' type='boolean' value='false'/>
+ <property name='xsaves' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-shadow-vmcs' type='boolean' value='false'/>
+ <property name='lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-save-preemption-timer' type='boolean' value='false'/>
+ <property name='vmx-entry-load-pat' type='boolean' value='false'/>
+ <property name='fsrm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='vmx-io-bitmap' type='boolean' value='false'/>
+ <property name='umip' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-store-lma' type='boolean' value='false'/>
+ <property name='vmx-movdr-exit' type='boolean' value='false'/>
+ <property name='pse' type='boolean' value='true' migratable='yes'/>
+ <property name='avx2' type='boolean' value='true' migratable='yes'/>
+ <property name='avic' type='boolean' value='false'/>
+ <property name='sep' type='boolean' value='true' migratable='yes'/>
+ <property name='virt-ssbd' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-cr3-load-noexit' type='boolean' value='false'/>
+ <property name='nodeid-msr' type='boolean' value='false'/>
+ <property name='md-clear' type='boolean' value='false'/>
+ <property name='misalignsse' type='boolean' value='true' migratable='yes'/>
+ <property name='split-lock-detect' type='boolean' value='false'/>
+ <property name='min-xlevel' type='number' value='2147483679'/>
+ <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+ <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/>
+ <property name='tsc-scale' type='boolean' value='true' migratable='yes'/>
+ <property name='topoext' type='boolean' value='false'/>
+ <property name='amd-stibp' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-preemption-timer' type='boolean' value='false'/>
+ <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-load-pkrs' type='boolean' value='false'/>
+ <property name='vmx-vnmi-pending' type='boolean' value='false'/>
+ <property name='monitor' type='boolean' value='false'/>
+ <property name='vmx-vintr-pending' type='boolean' value='false'/>
+ <property name='avx512er' type='boolean' value='false'/>
+ <property name='full-width-write' type='boolean' value='false'/>
+ <property name='pmm-en' type='boolean' value='false'/>
+ <property name='pcid' type='boolean' value='false'/>
+ <property name='taa-no' type='boolean' value='false'/>
+ <property name='arch-capabilities' type='boolean' value='true' migratable='yes'/>
+ <property name='vgif' type='boolean' value='false'/>
+ <property name='vmx-secondary-ctls' type='boolean' value='false'/>
+ <property name='vmx-xsaves' type='boolean' value='false'/>
+ <property name='clzero' type='boolean' value='true' migratable='yes'/>
+ <property name='3dnow' type='boolean' value='false'/>
+ <property name='erms' type='boolean' value='false'/>
+ <property name='vmx-entry-ia32e-mode' type='boolean' value='false'/>
+ <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vpclmulqdq' type='boolean' value='false'/>
+ <property name='vmx-ins-outs' type='boolean' value='false'/>
+ <property name='fxsr-opt' type='boolean' value='true' migratable='yes'/>
+ <property name='xstore' type='boolean' value='false'/>
+ <property name='rtm' type='boolean' value='false'/>
+ <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+ <property name='amx-bf16' type='boolean' value='false'/>
+ <property name='lmce' type='boolean' value='false'/>
+ <property name='perfctr-nb' type='boolean' value='false'/>
+ <property name='rdrand' type='boolean' value='true' migratable='yes'/>
+ <property name='rdseed' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-4vnniw' type='boolean' value='false'/>
+ <property name='vme' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx' type='boolean' value='false'/>
+ <property name='dtes64' type='boolean' value='false'/>
+ <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+ <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+ <property name='xsaveerptr' type='boolean' value='true' migratable='yes'/>
+ <property name='pse36' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-activity-wait-sipi' type='boolean' value='false'/>
+ <property name='tbm' type='boolean' value='false'/>
+ <property name='wdt' type='boolean' value='false'/>
+ <property name='vmx-rdpmc-exit' type='boolean' value='false'/>
+ <property name='vmx-mtf' type='boolean' value='false'/>
+ <property name='vmx-entry-load-efer' type='boolean' value='false'/>
+ <property name='model-id' type='string' value='AMD Ryzen 9 3900X 12-Core Processor '/>
+ <property name='sha-ni' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-load-pkrs' type='boolean' value='false'/>
+ <property name='abm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/>
+ <property name='avx512pf' type='boolean' value='false'/>
+ <property name='vmx-hlt-exit' type='boolean' value='false'/>
+ <property name='xstore-en' type='boolean' value='false'/>
+ </hostCPU>
+ <cpu type='kvm' name='max' typename='max-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='host' typename='host-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='base' typename='base-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu64-v1' typename='qemu64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu64' typename='qemu64-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu32-v1' typename='qemu32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='qemu32' typename='qemu32-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='phenom-v1' typename='phenom-v1-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='phenom' typename='phenom-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='pentium3-v1' typename='pentium3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium3' typename='pentium3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium2-v1' typename='pentium2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium2' typename='pentium2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium-v1' typename='pentium-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='pentium' typename='pentium-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='n270-v1' typename='n270-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='n270' typename='n270-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='kvm64-v1' typename='kvm64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm64' typename='kvm64-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm32-v1' typename='kvm32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='kvm32' typename='kvm32-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='coreduo-v1' typename='coreduo-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='coreduo' typename='coreduo-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='core2duo-v1' typename='core2duo-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='core2duo' typename='core2duo-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ </cpu>
+ <cpu type='kvm' name='athlon-v1' typename='athlon-v1-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='athlon' typename='athlon-x86_64-cpu' usable='no'>
+ <blocker name='3dnowext'/>
+ <blocker name='3dnow'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere-v2' typename='Westmere-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere-v1' typename='Westmere-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Westmere-IBRS' typename='Westmere-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Westmere' typename='Westmere-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Snowridge-v4' typename='Snowridge-v4-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v3' typename='Snowridge-v3-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v2' typename='Snowridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge-v1' typename='Snowridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Snowridge' typename='Snowridge-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='core-capability'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v5' typename='Skylake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v4' typename='Skylake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v3' typename='Skylake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v2' typename='Skylake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-v1' typename='Skylake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-noTSX-IBRS' typename='Skylake-Server-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server-IBRS' typename='Skylake-Server-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Server' typename='Skylake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v4' typename='Skylake-Client-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v3' typename='Skylake-Client-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v2' typename='Skylake-Client-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-v1' typename='Skylake-Client-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-noTSX-IBRS' typename='Skylake-Client-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client-IBRS' typename='Skylake-Client-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Skylake-Client' typename='Skylake-Client-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge-v2' typename='SandyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge-v1' typename='SandyBridge-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='SandyBridge-IBRS' typename='SandyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='SandyBridge' typename='SandyBridge-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Penryn-v1' typename='Penryn-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Penryn' typename='Penryn-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G5-v1' typename='Opteron_G5-v1-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G5' typename='Opteron_G5-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G4-v1' typename='Opteron_G4-v1-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G4' typename='Opteron_G4-x86_64-cpu' usable='no'>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ </cpu>
+ <cpu type='kvm' name='Opteron_G3-v1' typename='Opteron_G3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G3' typename='Opteron_G3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G2-v1' typename='Opteron_G2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G2' typename='Opteron_G2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G1-v1' typename='Opteron_G1-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Opteron_G1' typename='Opteron_G1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Nehalem-v2' typename='Nehalem-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Nehalem-v1' typename='Nehalem-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Nehalem-IBRS' typename='Nehalem-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Nehalem' typename='Nehalem-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='KnightsMill-v1' typename='KnightsMill-v1-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ <blocker name='erms'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ </cpu>
+ <cpu type='kvm' name='KnightsMill' typename='KnightsMill-x86_64-cpu' usable='no'>
+ <blocker name='ss'/>
+ <blocker name='erms'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-v2' typename='IvyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-v1' typename='IvyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge-IBRS' typename='IvyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='IvyBridge' typename='IvyBridge-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v6' typename='Icelake-Server-v6-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v5' typename='Icelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v4' typename='Icelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v3' typename='Icelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v2' typename='Icelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-v1' typename='Icelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server-noTSX' typename='Icelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Server' typename='Icelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='la57'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Client-v3' typename='Icelake-Client-v3-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Client-v2' typename='Icelake-Client-v2-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Client-v1' typename='Icelake-Client-v1-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Client-noTSX' typename='Icelake-Client-noTSX-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Icelake-Client' typename='Icelake-Client-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v4' typename='Haswell-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v3' typename='Haswell-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v2' typename='Haswell-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-v1' typename='Haswell-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-noTSX-IBRS' typename='Haswell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-noTSX' typename='Haswell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell-IBRS' typename='Haswell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Haswell' typename='Haswell-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-v3' typename='EPYC-v3-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-v2' typename='EPYC-v2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-v1' typename='EPYC-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Rome-v2' typename='EPYC-Rome-v2-x86_64-cpu' usable='no'>
+ <blocker name='ibrs'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-Rome-v1' typename='EPYC-Rome-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Rome' typename='EPYC-Rome-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC-Milan-v1' typename='EPYC-Milan-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='pku'/>
+ <blocker name='fsrm'/>
+ <blocker name='ibrs'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-Milan' typename='EPYC-Milan-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='pku'/>
+ <blocker name='fsrm'/>
+ <blocker name='ibrs'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='EPYC-IBPB' typename='EPYC-IBPB-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='EPYC' typename='EPYC-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana-v2' typename='Dhyana-v2-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana-v1' typename='Dhyana-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Dhyana' typename='Dhyana-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Denverton-v3' typename='Denverton-v3-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton-v2' typename='Denverton-v2-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton-v1' typename='Denverton-v1-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ </cpu>
+ <cpu type='kvm' name='Denverton' typename='Denverton-x86_64-cpu' usable='no'>
+ <blocker name='erms'/>
+ <blocker name='mpx'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='mpx'/>
+ <blocker name='mpx'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake-v2' typename='Cooperlake-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake-v1' typename='Cooperlake-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Cooperlake' typename='Cooperlake-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='kvm' name='Conroe-v1' typename='Conroe-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Conroe' typename='Conroe-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='Cascadelake-Server-v5' typename='Cascadelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v4' typename='Cascadelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v3' typename='Cascadelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v2' typename='Cascadelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-v1' typename='Cascadelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server-noTSX' typename='Cascadelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ <blocker name='ibrs-all'/>
+ </cpu>
+ <cpu type='kvm' name='Cascadelake-Server' typename='Cascadelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='pku'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512f'/>
+ <blocker name='pku'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v4' typename='Broadwell-v4-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v3' typename='Broadwell-v3-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v2' typename='Broadwell-v2-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-v1' typename='Broadwell-v1-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-noTSX-IBRS' typename='Broadwell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-noTSX' typename='Broadwell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell-IBRS' typename='Broadwell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='kvm' name='Broadwell' typename='Broadwell-x86_64-cpu' usable='no'>
+ <blocker name='pcid'/>
+ <blocker name='hle'/>
+ <blocker name='erms'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='kvm' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='kvm' name='486' typename='486-x86_64-cpu' usable='yes'/>
+ <machine type='kvm' name='pc-i440fx-7.1' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-7.1' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='x-remote' maxCpus='1'/>
+ <machine type='kvm' name='pc-q35-5.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='isapc' hotplugCpus='yes' maxCpus='1' defaultCPU='486-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-7.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-7.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='kvm' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-6.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='kvm' name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <hostCPU type='tcg' model='base' migratability='yes'>
+ <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
+ <property name='svme-addr-chk' type='boolean' value='true' migratable='yes'/>
+ <property name='cmov' type='boolean' value='true' migratable='yes'/>
+ <property name='ia64' type='boolean' value='false'/>
+ <property name='ssb-no' type='boolean' value='false'/>
+ <property name='aes' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-xapic' type='boolean' value='false'/>
+ <property name='mmx' type='boolean' value='true' migratable='yes'/>
+ <property name='rdpid' type='boolean' value='false'/>
+ <property name='arat' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-page-walk-4' type='boolean' value='false'/>
+ <property name='vmx-page-walk-5' type='boolean' value='false'/>
+ <property name='gfni' type='boolean' value='false'/>
+ <property name='ibrs-all' type='boolean' value='false'/>
+ <property name='vmx-desc-exit' type='boolean' value='false'/>
+ <property name='pause-filter' type='boolean' value='false'/>
+ <property name='bus-lock-detect' type='boolean' value='false'/>
+ <property name='xsavec' type='boolean' value='false'/>
+ <property name='intel-pt' type='boolean' value='false'/>
+ <property name='vmx-tsc-scaling' type='boolean' value='false'/>
+ <property name='vmx-cr8-store-exit' type='boolean' value='false'/>
+ <property name='vmx-rdseed-exit' type='boolean' value='false'/>
+ <property name='vmx-eptp-switching' type='boolean' value='false'/>
+ <property name='kvm-asyncpf' type='boolean' value='false'/>
+ <property name='perfctr-core' type='boolean' value='false'/>
+ <property name='mpx' type='boolean' value='true' migratable='yes'/>
+ <property name='pbe' type='boolean' value='false'/>
+ <property name='avx512cd' type='boolean' value='false'/>
+ <property name='decodeassists' type='boolean' value='false'/>
+ <property name='vmx-exit-load-efer' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/>
+ <property name='sse4.1' type='boolean' value='true' migratable='yes'/>
+ <property name='family' type='number' value='15'/>
+ <property name='intel-pt-lip' type='boolean' value='false'/>
+ <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/>
+ <property name='kvm-asyncpf-int' type='boolean' value='false'/>
+ <property name='vmx-vnmi' type='boolean' value='false'/>
+ <property name='vmx-true-ctls' type='boolean' value='false'/>
+ <property name='vmx-ept-execonly' type='boolean' value='false'/>
+ <property name='vmx-exit-save-efer' type='boolean' value='false'/>
+ <property name='vmx-invept-all-context' type='boolean' value='false'/>
+ <property name='wbnoinvd' type='boolean' value='false'/>
+ <property name='avx512f' type='boolean' value='false'/>
+ <property name='msr' type='boolean' value='true' migratable='yes'/>
+ <property name='mce' type='boolean' value='true' migratable='yes'/>
+ <property name='mca' type='boolean' value='true' migratable='yes'/>
+ <property name='xcrypt' type='boolean' value='false'/>
+ <property name='sgx' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pat' type='boolean' value='false'/>
+ <property name='vmx-intr-exit' type='boolean' value='false'/>
+ <property name='min-level' type='number' value='13'/>
+ <property name='vmx-flexpriority' type='boolean' value='false'/>
+ <property name='xgetbv1' type='boolean' value='true' migratable='yes'/>
+ <property name='cid' type='boolean' value='false'/>
+ <property name='sgx-exinfo' type='boolean' value='false'/>
+ <property name='ds' type='boolean' value='false'/>
+ <property name='fxsr' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512-fp16' type='boolean' value='false'/>
+ <property name='avx512-bf16' type='boolean' value='false'/>
+ <property name='vmx-cr8-load-exit' type='boolean' value='false'/>
+ <property name='xsaveopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-apicv-vid' type='boolean' value='false'/>
+ <property name='vmx-exit-save-pat' type='boolean' value='false'/>
+ <property name='xtpr' type='boolean' value='false'/>
+ <property name='tsx-ctrl' type='boolean' value='false'/>
+ <property name='vmx-ple' type='boolean' value='false'/>
+ <property name='avx512vl' type='boolean' value='false'/>
+ <property name='avx512-vpopcntdq' type='boolean' value='false'/>
+ <property name='phe' type='boolean' value='false'/>
+ <property name='extapic' type='boolean' value='false'/>
+ <property name='3dnowprefetch' type='boolean' value='false'/>
+ <property name='vmx-vmfunc' type='boolean' value='false'/>
+ <property name='vmx-activity-shutdown' type='boolean' value='false'/>
+ <property name='sgx1' type='boolean' value='false'/>
+ <property name='sgx2' type='boolean' value='false'/>
+ <property name='avx512vbmi2' type='boolean' value='false'/>
+ <property name='cr8legacy' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-encls-exit' type='boolean' value='false'/>
+ <property name='stibp' type='boolean' value='false'/>
+ <property name='vmx-msr-bitmap' type='boolean' value='false'/>
+ <property name='xcrypt-en' type='boolean' value='false'/>
+ <property name='vmx-mwait-exit' type='boolean' value='false'/>
+ <property name='vmx-pml' type='boolean' value='false'/>
+ <property name='vmx-nmi-exit' type='boolean' value='false'/>
+ <property name='amx-tile' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context-noglobals' type='boolean' value='false'/>
+ <property name='pn' type='boolean' value='false'/>
+ <property name='rsba' type='boolean' value='false'/>
+ <property name='dca' type='boolean' value='false'/>
+ <property name='vendor' type='string' value='AuthenticAMD'/>
+ <property name='vmx-unrestricted-guest' type='boolean' value='false'/>
+ <property name='vmx-cr3-store-noexit' type='boolean' value='false'/>
+ <property name='pku' type='boolean' value='true' migratable='yes'/>
+ <property name='pks' type='boolean' value='true' migratable='yes'/>
+ <property name='smx' type='boolean' value='false'/>
+ <property name='cmp-legacy' type='boolean' value='false'/>
+ <property name='avx512-4fmaps' type='boolean' value='false'/>
+ <property name='vmcb-clean' type='boolean' value='false'/>
+ <property name='hle' type='boolean' value='false'/>
+ <property name='avx-vnni' type='boolean' value='false'/>
+ <property name='3dnowext' type='boolean' value='true' migratable='yes'/>
+ <property name='amd-no-ssb' type='boolean' value='false'/>
+ <property name='npt' type='boolean' value='true' migratable='yes'/>
+ <property name='sgxlc' type='boolean' value='false'/>
+ <property name='rdctl-no' type='boolean' value='false'/>
+ <property name='vmx-invvpid' type='boolean' value='false'/>
+ <property name='clwb' type='boolean' value='true' migratable='yes'/>
+ <property name='lbrv' type='boolean' value='false'/>
+ <property name='adx' type='boolean' value='true' migratable='yes'/>
+ <property name='ss' type='boolean' value='true' migratable='yes'/>
+ <property name='pni' type='boolean' value='true' migratable='yes'/>
+ <property name='tsx-ldtrk' type='boolean' value='false'/>
+ <property name='svm-lock' type='boolean' value='false'/>
+ <property name='smep' type='boolean' value='true' migratable='yes'/>
+ <property name='smap' type='boolean' value='true' migratable='yes'/>
+ <property name='pfthreshold' type='boolean' value='false'/>
+ <property name='vmx-invpcid-exit' type='boolean' value='false'/>
+ <property name='amx-int8' type='boolean' value='false'/>
+ <property name='x2apic' type='boolean' value='false'/>
+ <property name='avx512vbmi' type='boolean' value='false'/>
+ <property name='avx512vnni' type='boolean' value='false'/>
+ <property name='vmx-apicv-x2apic' type='boolean' value='false'/>
+ <property name='kvm-pv-sched-yield' type='boolean' value='false'/>
+ <property name='vmx-invlpg-exit' type='boolean' value='false'/>
+ <property name='vmx-invvpid-all-context' type='boolean' value='false'/>
+ <property name='vmx-activity-hlt' type='boolean' value='false'/>
+ <property name='flushbyasid' type='boolean' value='false'/>
+ <property name='f16c' type='boolean' value='false'/>
+ <property name='vmx-exit-ack-intr' type='boolean' value='false'/>
+ <property name='ace2-en' type='boolean' value='false'/>
+ <property name='pae' type='boolean' value='true' migratable='yes'/>
+ <property name='pat' type='boolean' value='true' migratable='yes'/>
+ <property name='sse' type='boolean' value='true' migratable='yes'/>
+ <property name='phe-en' type='boolean' value='false'/>
+ <property name='vmx-tsc-offset' type='boolean' value='false'/>
+ <property name='kvm-nopiodelay' type='boolean' value='false'/>
+ <property name='tm' type='boolean' value='false'/>
+ <property name='kvmclock-stable-bit' type='boolean' value='false'/>
+ <property name='vmx-rdtsc-exit' type='boolean' value='false'/>
+ <property name='hypervisor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-rdtscp-exit' type='boolean' value='false'/>
+ <property name='mds-no' type='boolean' value='false'/>
+ <property name='pcommit' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vpid' type='boolean' value='false'/>
+ <property name='syscall' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512dq' type='boolean' value='false'/>
+ <property name='svm' type='boolean' value='true' migratable='yes'/>
+ <property name='invtsc' type='boolean' value='false'/>
+ <property name='vmx-monitor-exit' type='boolean' value='false'/>
+ <property name='sse2' type='boolean' value='true' migratable='yes'/>
+ <property name='ssbd' type='boolean' value='false'/>
+ <property name='vmx-wbinvd-exit' type='boolean' value='false'/>
+ <property name='est' type='boolean' value='false'/>
+ <property name='kvm-poll-control' type='boolean' value='false'/>
+ <property name='avx512ifma' type='boolean' value='false'/>
+ <property name='tm2' type='boolean' value='false'/>
+ <property name='kvm-pv-eoi' type='boolean' value='false'/>
+ <property name='kvm-pv-ipi' type='boolean' value='false'/>
+ <property name='cx8' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invvpid-single-addr' type='boolean' value='false'/>
+ <property name='waitpkg' type='boolean' value='false'/>
+ <property name='cldemote' type='boolean' value='false'/>
+ <property name='sgx-tokenkey' type='boolean' value='false'/>
+ <property name='vmx-ept' type='boolean' value='false'/>
+ <property name='xfd' type='boolean' value='false'/>
+ <property name='kvm-mmu' type='boolean' value='false'/>
+ <property name='sse4.2' type='boolean' value='true' migratable='yes'/>
+ <property name='pge' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bitalg' type='boolean' value='false'/>
+ <property name='pdcm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/>
+ <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/>
+ <property name='model' type='number' value='107'/>
+ <property name='movbe' type='boolean' value='true' migratable='yes'/>
+ <property name='nrip-save' type='boolean' value='false'/>
+ <property name='ssse3' type='boolean' value='true' migratable='yes'/>
+ <property name='sse4a' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-msi-ext-dest-id' type='boolean' value='false'/>
+ <property name='vmx-pause-exit' type='boolean' value='false'/>
+ <property name='invpcid' type='boolean' value='false'/>
+ <property name='sgx-debug' type='boolean' value='false'/>
+ <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/>
+ <property name='sgx-mode64' type='boolean' value='false'/>
+ <property name='tsc-deadline' type='boolean' value='false'/>
+ <property name='skip-l1dfl-vmentry' type='boolean' value='false'/>
+ <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='fma' type='boolean' value='false'/>
+ <property name='cx16' type='boolean' value='true' migratable='yes'/>
+ <property name='de' type='boolean' value='true' migratable='yes'/>
+ <property name='stepping' type='number' value='1'/>
+ <property name='xsave' type='boolean' value='true' migratable='yes'/>
+ <property name='clflush' type='boolean' value='true' migratable='yes'/>
+ <property name='skinit' type='boolean' value='false'/>
+ <property name='tsc' type='boolean' value='true' migratable='yes'/>
+ <property name='tce' type='boolean' value='false'/>
+ <property name='fpu' type='boolean' value='true' migratable='yes'/>
+ <property name='ds-cpl' type='boolean' value='false'/>
+ <property name='ibs' type='boolean' value='false'/>
+ <property name='fma4' type='boolean' value='false'/>
+ <property name='vmx-exit-nosave-debugctl' type='boolean' value='false'/>
+ <property name='sgx-kss' type='boolean' value='false'/>
+ <property name='la57' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-invept' type='boolean' value='false'/>
+ <property name='osvw' type='boolean' value='false'/>
+ <property name='apic' type='boolean' value='true' migratable='yes'/>
+ <property name='pmm' type='boolean' value='false'/>
+ <property name='vmx-entry-noload-debugctl' type='boolean' value='false'/>
+ <property name='vmx-eptad' type='boolean' value='false'/>
+ <property name='spec-ctrl' type='boolean' value='false'/>
+ <property name='vmx-posted-intr' type='boolean' value='false'/>
+ <property name='vmx-apicv-register' type='boolean' value='false'/>
+ <property name='tsc-adjust' type='boolean' value='false'/>
+ <property name='kvm-steal-time' type='boolean' value='false'/>
+ <property name='avx512-vp2intersect' type='boolean' value='false'/>
+ <property name='kvmclock' type='boolean' value='false'/>
+ <property name='vmx-zero-len-inject' type='boolean' value='false'/>
+ <property name='pschange-mc-no' type='boolean' value='false'/>
+ <property name='v-vmsave-vmload' type='boolean' value='false'/>
+ <property name='vmx-rdrand-exit' type='boolean' value='false'/>
+ <property name='sgx-provisionkey' type='boolean' value='false'/>
+ <property name='lwp' type='boolean' value='false'/>
+ <property name='amd-ssbd' type='boolean' value='false'/>
+ <property name='xop' type='boolean' value='false'/>
+ <property name='ibpb' type='boolean' value='false'/>
+ <property name='ibrs' type='boolean' value='false'/>
+ <property name='avx' type='boolean' value='false'/>
+ <property name='core-capability' type='boolean' value='false'/>
+ <property name='vmx-invept-single-context' type='boolean' value='false'/>
+ <property name='movdiri' type='boolean' value='false'/>
+ <property name='acpi' type='boolean' value='true' migratable='yes'/>
+ <property name='avx512bw' type='boolean' value='false'/>
+ <property name='ace2' type='boolean' value='false'/>
+ <property name='fsgsbase' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-2mb' type='boolean' value='false'/>
+ <property name='vmx-ept-1gb' type='boolean' value='false'/>
+ <property name='ht' type='boolean' value='false'/>
+ <property name='vmx-io-exit' type='boolean' value='false'/>
+ <property name='nx' type='boolean' value='true' migratable='yes'/>
+ <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/>
+ <property name='mmxext' type='boolean' value='true' migratable='yes'/>
+ <property name='popcnt' type='boolean' value='true' migratable='yes'/>
+ <property name='vaes' type='boolean' value='false'/>
+ <property name='serialize' type='boolean' value='false'/>
+ <property name='movdir64b' type='boolean' value='false'/>
+ <property name='xsaves' type='boolean' value='false'/>
+ <property name='vmx-shadow-vmcs' type='boolean' value='false'/>
+ <property name='lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-exit-save-preemption-timer' type='boolean' value='false'/>
+ <property name='vmx-entry-load-pat' type='boolean' value='false'/>
+ <property name='fsrm' type='boolean' value='false'/>
+ <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/>
+ <property name='vmx-io-bitmap' type='boolean' value='false'/>
+ <property name='umip' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-store-lma' type='boolean' value='false'/>
+ <property name='vmx-movdr-exit' type='boolean' value='false'/>
+ <property name='pse' type='boolean' value='true' migratable='yes'/>
+ <property name='avx2' type='boolean' value='false'/>
+ <property name='avic' type='boolean' value='false'/>
+ <property name='sep' type='boolean' value='true' migratable='yes'/>
+ <property name='virt-ssbd' type='boolean' value='false'/>
+ <property name='vmx-cr3-load-noexit' type='boolean' value='false'/>
+ <property name='nodeid-msr' type='boolean' value='false'/>
+ <property name='md-clear' type='boolean' value='false'/>
+ <property name='misalignsse' type='boolean' value='false'/>
+ <property name='split-lock-detect' type='boolean' value='false'/>
+ <property name='min-xlevel' type='number' value='2147483658'/>
+ <property name='bmi1' type='boolean' value='true' migratable='yes'/>
+ <property name='bmi2' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-unhalt' type='boolean' value='false'/>
+ <property name='tsc-scale' type='boolean' value='false'/>
+ <property name='topoext' type='boolean' value='false'/>
+ <property name='amd-stibp' type='boolean' value='false'/>
+ <property name='vmx-preemption-timer' type='boolean' value='false'/>
+ <property name='clflushopt' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-load-pkrs' type='boolean' value='false'/>
+ <property name='vmx-vnmi-pending' type='boolean' value='false'/>
+ <property name='monitor' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-vintr-pending' type='boolean' value='false'/>
+ <property name='avx512er' type='boolean' value='false'/>
+ <property name='full-width-write' type='boolean' value='false'/>
+ <property name='pmm-en' type='boolean' value='false'/>
+ <property name='pcid' type='boolean' value='false'/>
+ <property name='taa-no' type='boolean' value='false'/>
+ <property name='arch-capabilities' type='boolean' value='false'/>
+ <property name='vgif' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-secondary-ctls' type='boolean' value='false'/>
+ <property name='vmx-xsaves' type='boolean' value='false'/>
+ <property name='clzero' type='boolean' value='false'/>
+ <property name='3dnow' type='boolean' value='true' migratable='yes'/>
+ <property name='erms' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-entry-ia32e-mode' type='boolean' value='false'/>
+ <property name='lahf-lm' type='boolean' value='true' migratable='yes'/>
+ <property name='vpclmulqdq' type='boolean' value='false'/>
+ <property name='vmx-ins-outs' type='boolean' value='false'/>
+ <property name='fxsr-opt' type='boolean' value='false'/>
+ <property name='xstore' type='boolean' value='false'/>
+ <property name='rtm' type='boolean' value='false'/>
+ <property name='kvm-hint-dedicated' type='boolean' value='false'/>
+ <property name='amx-bf16' type='boolean' value='false'/>
+ <property name='lmce' type='boolean' value='false'/>
+ <property name='perfctr-nb' type='boolean' value='false'/>
+ <property name='rdrand' type='boolean' value='true' migratable='yes'/>
+ <property name='rdseed' type='boolean' value='false'/>
+ <property name='avx512-4vnniw' type='boolean' value='false'/>
+ <property name='vme' type='boolean' value='false'/>
+ <property name='vmx' type='boolean' value='false'/>
+ <property name='dtes64' type='boolean' value='false'/>
+ <property name='mtrr' type='boolean' value='true' migratable='yes'/>
+ <property name='rdtscp' type='boolean' value='true' migratable='yes'/>
+ <property name='xsaveerptr' type='boolean' value='false'/>
+ <property name='pse36' type='boolean' value='true' migratable='yes'/>
+ <property name='kvm-pv-tlb-flush' type='boolean' value='false'/>
+ <property name='vmx-activity-wait-sipi' type='boolean' value='false'/>
+ <property name='tbm' type='boolean' value='false'/>
+ <property name='wdt' type='boolean' value='false'/>
+ <property name='vmx-rdpmc-exit' type='boolean' value='false'/>
+ <property name='vmx-mtf' type='boolean' value='false'/>
+ <property name='vmx-entry-load-efer' type='boolean' value='false'/>
+ <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/>
+ <property name='sha-ni' type='boolean' value='false'/>
+ <property name='vmx-exit-load-pkrs' type='boolean' value='false'/>
+ <property name='abm' type='boolean' value='true' migratable='yes'/>
+ <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/>
+ <property name='avx512pf' type='boolean' value='false'/>
+ <property name='vmx-hlt-exit' type='boolean' value='false'/>
+ <property name='xstore-en' type='boolean' value='false'/>
+ </hostCPU>
+ <cpu type='tcg' name='max' typename='max-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='host' typename='host-x86_64-cpu' usable='no'>
+ <blocker name='kvm'/>
+ </cpu>
+ <cpu type='tcg' name='base' typename='base-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu64-v1' typename='qemu64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu64' typename='qemu64-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu32-v1' typename='qemu32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='qemu32' typename='qemu32-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='phenom-v1' typename='phenom-v1-x86_64-cpu' usable='no'>
+ <blocker name='fxsr-opt'/>
+ </cpu>
+ <cpu type='tcg' name='phenom' typename='phenom-x86_64-cpu' usable='no'>
+ <blocker name='fxsr-opt'/>
+ </cpu>
+ <cpu type='tcg' name='pentium3-v1' typename='pentium3-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium3' typename='pentium3-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium2-v1' typename='pentium2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium2' typename='pentium2-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium-v1' typename='pentium-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='pentium' typename='pentium-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='n270-v1' typename='n270-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='n270' typename='n270-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm64-v1' typename='kvm64-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm64' typename='kvm64-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm32-v1' typename='kvm32-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='kvm32' typename='kvm32-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='coreduo-v1' typename='coreduo-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='coreduo' typename='coreduo-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='core2duo-v1' typename='core2duo-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='core2duo' typename='core2duo-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='athlon-v1' typename='athlon-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='athlon' typename='athlon-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Westmere-v2' typename='Westmere-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Westmere-v1' typename='Westmere-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Westmere-IBRS' typename='Westmere-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Westmere' typename='Westmere-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Snowridge-v4' typename='Snowridge-v4-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v3' typename='Snowridge-v3-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v2' typename='Snowridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge-v1' typename='Snowridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Snowridge' typename='Snowridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='gfni'/>
+ <blocker name='cldemote'/>
+ <blocker name='movdiri'/>
+ <blocker name='movdir64b'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='core-capability'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='split-lock-detect'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v5' typename='Skylake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v4' typename='Skylake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v3' typename='Skylake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v2' typename='Skylake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-v1' typename='Skylake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-noTSX-IBRS' typename='Skylake-Server-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server-IBRS' typename='Skylake-Server-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Server' typename='Skylake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v4' typename='Skylake-Client-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v3' typename='Skylake-Client-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v2' typename='Skylake-Client-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-v1' typename='Skylake-Client-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-noTSX-IBRS' typename='Skylake-Client-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client-IBRS' typename='Skylake-Client-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Skylake-Client' typename='Skylake-Client-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-v2' typename='SandyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-v1' typename='SandyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge-IBRS' typename='SandyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='SandyBridge' typename='SandyBridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ </cpu>
+ <cpu type='tcg' name='Penryn-v1' typename='Penryn-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Penryn' typename='Penryn-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G5-v1' typename='Opteron_G5-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G5' typename='Opteron_G5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='tbm'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G4-v1' typename='Opteron_G4-v1-x86_64-cpu' usable='no'>
+ <blocker name='avx'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G4' typename='Opteron_G4-x86_64-cpu' usable='no'>
+ <blocker name='avx'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xop'/>
+ <blocker name='fma4'/>
+ <blocker name='nrip-save'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G3-v1' typename='Opteron_G3-v1-x86_64-cpu' usable='no'>
+ <blocker name='misalignsse'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G3' typename='Opteron_G3-x86_64-cpu' usable='no'>
+ <blocker name='misalignsse'/>
+ </cpu>
+ <cpu type='tcg' name='Opteron_G2-v1' typename='Opteron_G2-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G2' typename='Opteron_G2-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G1-v1' typename='Opteron_G1-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Opteron_G1' typename='Opteron_G1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Nehalem-v2' typename='Nehalem-v2-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Nehalem-v1' typename='Nehalem-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Nehalem-IBRS' typename='Nehalem-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Nehalem' typename='Nehalem-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='KnightsMill-v1' typename='KnightsMill-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='avx512f'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='KnightsMill' typename='KnightsMill-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='avx512f'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512pf'/>
+ <blocker name='avx512er'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='avx512-4vnniw'/>
+ <blocker name='avx512-4fmaps'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-v2' typename='IvyBridge-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-v1' typename='IvyBridge-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge-IBRS' typename='IvyBridge-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='IvyBridge' typename='IvyBridge-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v6' typename='Icelake-Server-v6-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v5' typename='Icelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v4' typename='Icelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512ifma'/>
+ <blocker name='avx512cd'/>
+ <blocker name='sha-ni'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v3' typename='Icelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v2' typename='Icelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-v1' typename='Icelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server-noTSX' typename='Icelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Server' typename='Icelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Client-v3' typename='Icelake-Client-v3-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Client-v2' typename='Icelake-Client-v2-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Client-v1' typename='Icelake-Client-v1-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Client-noTSX' typename='Icelake-Client-noTSX-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Icelake-Client' typename='Icelake-Client-x86_64-cpu' usable='no' deprecated='yes'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512vbmi'/>
+ <blocker name='avx512vbmi2'/>
+ <blocker name='gfni'/>
+ <blocker name='vaes'/>
+ <blocker name='vpclmulqdq'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='avx512bitalg'/>
+ <blocker name='avx512-vpopcntdq'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v4' typename='Haswell-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v3' typename='Haswell-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v2' typename='Haswell-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-v1' typename='Haswell-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-noTSX-IBRS' typename='Haswell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-noTSX' typename='Haswell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell-IBRS' typename='Haswell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='spec-ctrl'/>
+ </cpu>
+ <cpu type='tcg' name='Haswell' typename='Haswell-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v3' typename='EPYC-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v2' typename='EPYC-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-v1' typename='EPYC-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome-v2' typename='EPYC-Rome-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome-v1' typename='EPYC-Rome-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Rome' typename='EPYC-Rome-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Milan-v1' typename='EPYC-Milan-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-Milan' typename='EPYC-Milan-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='rdpid'/>
+ <blocker name='fsrm'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='perfctr-core'/>
+ <blocker name='clzero'/>
+ <blocker name='xsaveerptr'/>
+ <blocker name='wbnoinvd'/>
+ <blocker name='ibpb'/>
+ <blocker name='ibrs'/>
+ <blocker name='amd-stibp'/>
+ <blocker name='amd-ssbd'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC-IBPB' typename='EPYC-IBPB-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='EPYC' typename='EPYC-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana-v2' typename='Dhyana-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana-v1' typename='Dhyana-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Dhyana' typename='Dhyana-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='rdseed'/>
+ <blocker name='fxsr-opt'/>
+ <blocker name='misalignsse'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='osvw'/>
+ <blocker name='topoext'/>
+ <blocker name='ibpb'/>
+ <blocker name='nrip-save'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v3' typename='Denverton-v3-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v2' typename='Denverton-v2-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton-v1' typename='Denverton-v1-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Denverton' typename='Denverton-x86_64-cpu' usable='no'>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='rdseed'/>
+ <blocker name='sha-ni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake-v2' typename='Cooperlake-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake-v1' typename='Cooperlake-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cooperlake' typename='Cooperlake-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='stibp'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='avx512-bf16'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ <blocker name='pschange-mc-no'/>
+ <blocker name='taa-no'/>
+ </cpu>
+ <cpu type='tcg' name='Conroe-v1' typename='Conroe-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Conroe' typename='Conroe-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='Cascadelake-Server-v5' typename='Cascadelake-Server-v5-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='xsaves'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v4' typename='Cascadelake-Server-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v3' typename='Cascadelake-Server-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v2' typename='Cascadelake-Server-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-v1' typename='Cascadelake-Server-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server-noTSX' typename='Cascadelake-Server-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='arch-capabilities'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ <blocker name='rdctl-no'/>
+ <blocker name='ibrs-all'/>
+ <blocker name='skip-l1dfl-vmentry'/>
+ <blocker name='mds-no'/>
+ </cpu>
+ <cpu type='tcg' name='Cascadelake-Server' typename='Cascadelake-Server-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='avx512f'/>
+ <blocker name='avx512dq'/>
+ <blocker name='rdseed'/>
+ <blocker name='avx512cd'/>
+ <blocker name='avx512bw'/>
+ <blocker name='avx512vl'/>
+ <blocker name='avx512vnni'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='ssbd'/>
+ <blocker name='3dnowprefetch'/>
+ <blocker name='xsavec'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v4' typename='Broadwell-v4-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v3' typename='Broadwell-v3-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v2' typename='Broadwell-v2-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-v1' typename='Broadwell-v1-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-noTSX-IBRS' typename='Broadwell-noTSX-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-noTSX' typename='Broadwell-noTSX-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell-IBRS' typename='Broadwell-IBRS-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='spec-ctrl'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='Broadwell' typename='Broadwell-x86_64-cpu' usable='no'>
+ <blocker name='fma'/>
+ <blocker name='pcid'/>
+ <blocker name='x2apic'/>
+ <blocker name='tsc-deadline'/>
+ <blocker name='avx'/>
+ <blocker name='f16c'/>
+ <blocker name='hle'/>
+ <blocker name='avx2'/>
+ <blocker name='invpcid'/>
+ <blocker name='rtm'/>
+ <blocker name='rdseed'/>
+ <blocker name='3dnowprefetch'/>
+ </cpu>
+ <cpu type='tcg' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
+ <cpu type='tcg' name='486' typename='486-x86_64-cpu' usable='yes'/>
+ <machine type='tcg' name='pc-i440fx-7.1' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-7.1' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='x-remote' maxCpus='1'/>
+ <machine type='tcg' name='pc-q35-5.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='isapc' hotplugCpus='yes' maxCpus='1' defaultCPU='486-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-7.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-7.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram' deprecated='yes'/>
+ <machine type='tcg' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-6.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+ <machine type='tcg' name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
+</qemuCaps>
--
2.35.1
2
1
Signed-off-by: Han Han <hhan(a)redhat.com>
---
docs/apps.rst | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/apps.rst b/docs/apps.rst
index a21e2249ea..d01ad33f37 100644
--- a/docs/apps.rst
+++ b/docs/apps.rst
@@ -331,6 +331,10 @@ Web applications
Secrets
- Create and launch VMs
- Configure VMs with easy panels or go pro and edit the VM's XML
+`Cockpit <https://cockpit-project.org/>`__
+ Cockpit is a web-based graphical interface for servers. With
+ `cockpit-machines <https://github.com/cockpit-project/cockpit-machines>`__
+ it can create and manage virtual machines via libvirt.
Other
-----
--
2.36.0
2
1
This patch series enables support for the qemu-vdagent character device which
enables copy/paste support between guest and client when using vnc graphics.
The guest must be configured with something like the following:
<channel type='qemu-vdagent'>
<source>
<clipboard copypaste='yes'/>
<mouse mode='client'/>
</source>
<target type='virtio' name='com.redhat.spice.0'/>
</channel>
Copy/paste sync requires a vnc client that has support for copy/paste commands.
Currently virt-viewer does not work, but the version of tigervnc provided by
fedora (executable name 'vncviewer') does work.
More details about this device on Gerd's blog:
https://www.kraxel.org/blog/2021/05/qemu-cut-paste/
For now I have left the target to be configurable to match the spicevmc
channel, although Marc-Andre has suggested to simply hard-code it to the virtio
name com.redhat.spice.0
Changes in v2:
- change xml syntax to use <clipboard> and <mouse> sub-elements of <source>
defined in the same way as they are for the spice display.
- fix a build failure when apparmor was enabled
- Add another test for when features are turned off
Jonathon Jongsma (4):
qemu: add capability for qemu-vdagent chardev
Rename virDomainGraphicsSpiceMouseMode to virDomainMouseMode
conf: add qemu-vdagent channel
qemu: add support for qemu-vdagent channel
docs/formatdomain.rst | 23 ++++++
src/conf/domain_conf.c | 70 +++++++++++++++++--
src/conf/domain_conf.h | 24 ++++---
src/conf/domain_validate.c | 1 +
src/conf/schemas/domaincommon.rng | 51 +++++++++-----
src/libvirt_private.syms | 4 +-
src/libxl/libxl_conf.c | 8 +--
src/libxl/xen_xl.c | 16 ++---
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 32 +++++++--
src/qemu/qemu_monitor_json.c | 27 +++++++
src/qemu/qemu_process.c | 1 +
src/qemu/qemu_validate.c | 9 +++
src/security/security_apparmor.c | 2 +
src/security/security_dac.c | 2 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
...l-qemu-vdagent-features.x86_64-latest.args | 41 +++++++++++
.../channel-qemu-vdagent-features.xml | 37 ++++++++++
.../channel-qemu-vdagent.x86_64-latest.args | 41 +++++++++++
.../qemuxml2argvdata/channel-qemu-vdagent.xml | 37 ++++++++++
tests/qemuxml2argvtest.c | 2 +
...el-qemu-vdagent-features.x86_64-latest.xml | 58 +++++++++++++++
.../channel-qemu-vdagent.x86_64-latest.xml | 58 +++++++++++++++
tests/qemuxml2xmltest.c | 2 +
tests/testutilsqemu.c | 1 +
29 files changed, 500 insertions(+), 54 deletions(-)
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent-features.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent-features.xml
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent.xml
create mode 100644 tests/qemuxml2xmloutdata/channel-qemu-vdagent-features.x86_64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/channel-qemu-vdagent.x86_64-latest.xml
--
2.35.1
4
11
09 May '22
There's no real difference between
qemuSecurityStartVhostUserGPU() and qemuSecurityCommandRun(). The
latter is used more frequently while the former has just one
user. Therefore, drop the less frequently used one.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_security.c | 40 ----------------------------------
src/qemu/qemu_security.h | 6 -----
src/qemu/qemu_vhost_user_gpu.c | 3 +--
3 files changed, 1 insertion(+), 48 deletions(-)
diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c
index 19d957dd4b..3be1766764 100644
--- a/src/qemu/qemu_security.c
+++ b/src/qemu/qemu_security.c
@@ -499,46 +499,6 @@ qemuSecurityRestoreNetdevLabel(virQEMUDriver *driver,
}
-/*
- * qemuSecurityStartVhostUserGPU:
- *
- * @driver: the QEMU driver
- * @vm: the domain object
- * @cmd: the command to run
- * @existstatus: pointer to int returning exit status of process
- * @cmdret: pointer to int returning result of virCommandRun
- *
- * Start the vhost-user-gpu process with appropriate labels.
- * This function returns -1 on security setup error, 0 if all the
- * setup was done properly. In case the virCommand failed to run
- * 0 is returned but cmdret is set appropriately with the process
- * exitstatus also set.
- */
-int
-qemuSecurityStartVhostUserGPU(virQEMUDriver *driver,
- virDomainObj *vm,
- virCommand *cmd,
- int *exitstatus,
- int *cmdret)
-{
- if (virSecurityManagerSetChildProcessLabel(driver->securityManager,
- vm->def, cmd) < 0)
- return -1;
-
- if (virSecurityManagerPreFork(driver->securityManager) < 0)
- return -1;
-
- *cmdret = virCommandRun(cmd, exitstatus);
-
- virSecurityManagerPostFork(driver->securityManager);
-
- if (*cmdret < 0)
- return -1;
-
- return 0;
-}
-
-
/*
* qemuSecurityStartTPMEmulator:
*
diff --git a/src/qemu/qemu_security.h b/src/qemu/qemu_security.h
index 8b26ea3f99..eaf646f225 100644
--- a/src/qemu/qemu_security.h
+++ b/src/qemu/qemu_security.h
@@ -87,12 +87,6 @@ int qemuSecurityRestoreNetdevLabel(virQEMUDriver *driver,
virDomainObj *vm,
virDomainNetDef *net);
-int qemuSecurityStartVhostUserGPU(virQEMUDriver *driver,
- virDomainObj *vm,
- virCommand *cmd,
- int *exitstatus,
- int *cmdret);
-
int qemuSecurityStartTPMEmulator(virQEMUDriver *driver,
virDomainObj *vm,
virCommand *cmd,
diff --git a/src/qemu/qemu_vhost_user_gpu.c b/src/qemu/qemu_vhost_user_gpu.c
index f7d444e851..6f601cebde 100644
--- a/src/qemu/qemu_vhost_user_gpu.c
+++ b/src/qemu/qemu_vhost_user_gpu.c
@@ -158,8 +158,7 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver,
virCommandAddArgFormat(cmd, "--render-node=%s", video->accel->rendernode);
}
- if (qemuSecurityStartVhostUserGPU(driver, vm, cmd,
- &exitstatus, &cmdret) < 0)
+ if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus, &cmdret) < 0)
goto error;
if (cmdret < 0 || exitstatus != 0) {
--
2.35.1
2
1
[PATCH v2 0/1] ppc64: update qemucapabilities for 7.0.0 release
by Daniel Henrique Barboza 09 May '22
by Daniel Henrique Barboza 09 May '22
09 May '22
Hi,
Sending this patch per Andrea's suggestion in the v1 review.
Changes in v2:
- create the caps using a P9 host with lots and lots of extra libraries
and QEMU features enabled
- v1 link: https://listman.redhat.com/archives/libvir-list/2022-May/230686.html
Daniel Henrique Barboza (1):
tests: qemucapabilities: update ppc64 qemu caps for 7.0.0 release
.../caps_7.0.0.ppc64.replies | 7632 +++++++++--------
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1173 +--
2 files changed, 4413 insertions(+), 4392 deletions(-)
--
2.32.0
2
5
The parameters of self.warning is inconsistent with it's definition, So
fix it.
Signed-off-by: luzhipeng <luzhipeng(a)cestc.cn>
---
scripts/apibuild.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/apibuild.py b/scripts/apibuild.py
index 2a343208c5..23a66734ac 100755
--- a/scripts/apibuild.py
+++ b/scripts/apibuild.py
@@ -328,7 +328,7 @@ class index:
if type in type_map:
type_map[type][name] = d
else:
- self.warning("Unable to register type ", type)
+ self.warning("Unable to register type %s" % type)
if name == debugsym and not quiet:
print("New symbol: %s" % (d))
--
2.34.0.windows.1
2
1
09 May '22
Get default emulator based on guest's arch, and replace it in domain's
definition after domainPostParseDataAlloc's failure, then alloc again.
This will solve the migration problem because of qemu emulator location error,
especially, from host with to host without qemu-kvm.
This commit will also allow user to create a domain with wrong emulator
location, and correct it to the default one.
zhangjl02 (3):
qemu_domain: introduce qemuDomainPostParseDataDefEmulator
domain_conf: introduce virDomainPostParseDataDefEmulator type
domain_conf: set default emulator into def if it fails to alloc
src/conf/domain_conf.c | 10 +++++++++-
src/conf/domain_conf.h | 2 ++
src/qemu/qemu_domain.c | 18 ++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
--
2.35.1.windows.2
3
7
This is v7 of the multifd save prototype, rebased on post 8.3.0 release,
which features more splits and better support for multifd compression.
changes from v6:
* improved error path handling, with error messages and especially
cancellation of qemu process on error during restore.
* split patches more and reordered them to keep general refactoring
at the beginning before the --parallel stuff is introduced.
* improved multifd compression support, including adding an enum
and extending the QEMU save image format to record the compression
used on save, and pick it up automatically on restore.
KNOWN ISSUES:
1) this applies only to virsh save and virsh restore for now
(no managed save etc).
...
changes from v4:
* runIO renamed to virFileDiskCopy and rethought arguments
* renamed new APIs from ...ParametersFlags to ...Params
* introduce the new virDomainSaveParams and virDomainRestoreParams
without any additional parameters, so they can be upstreamed first.
* solved the issue in the gendispatch.pl script generating code that
was missing the conn parameter.
---
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
Thanks for your thoughts,
Claudio
Claudio Fontana (40):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
iohelper: move runIO function to virfile.c
virfile: rename runIO to virFileDiskCopy
virfile: change virFileDiskCopy arguments to extend beyond stdin,
stdout
virfile: add comment about the use of SEEK_END in virFileDiskCopy
libvirt: introduce virDomainSaveParams public API
libvirt: introduce virDomainRestoreParams public API
remote: Add RPC support for the virDomainSaveParams API
gendispatch: add DomainRestoreParams as requiring conn argument
remote: Add RPC support for the virDomainRestoreParams API
tools: make use of params in doSave
tools: make use of params in cmdRestore
multifd-helper: new helper for parallel save/restore
qemu: add implementation for virDomainSaveParams API
qemu: add implementation for virDomainRestoreParams API
libvirt: add new VIR_DOMAIN_SAVE_PARALLEL flag and parameter
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in save
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in restore
qemu: saveimage: introduce virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageCreate to use virQEMUSaveFd
qemu: saveimage: convert qemuSaveImageOpen to use virQEMUSaveFd
qemu: saveimage: add virQEMUSaveFd APIs for multifd
qemu: saveimage: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: implement qemuMigrationSrcToFilesMultiFd
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
docs: update refs to virDomainSaveParams and virDomainRestoreParams
qemu: add migration parameter multifd-compression
libvirt: add new VIR_SAVE_PARAM_PARALLEL_COMPRESSION
qemu: saveimage: add multifd-compression field to save format
qemu: saveimage: add parallel compression argument to ImageCreate
qemu: saveimage: add stub support for multifd compression parameter
qemu: migration: expose qemuMigrationParamsSetString
qemu: saveimage: implement multifd-compression in parallel save
tools: add parallel-compression parameter to virsh save command
qemu: saveimage: restore compressed parallel saves
docs/formatsnapshot.rst | 5 +-
docs/manpages/virsh.rst | 38 +-
include/libvirt/libvirt-domain.h | 60 ++
po/POTFILES.in | 1 +
src/driver-hypervisor.h | 14 +
src/libvirt-domain.c | 99 +++-
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 6 +
src/qemu/qemu_capabilities.c | 6 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_driver.c | 244 ++++++--
src/qemu/qemu_migration.c | 160 ++++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 ++-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 544 ++++++++++++++----
src/qemu/qemu_saveimage.h | 55 +-
src/qemu/qemu_snapshot.c | 6 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 29 +-
src/remote_protocol-structs | 17 +
src/rpc/gendispatch.pl | 5 +-
src/util/iohelper.c | 162 +-----
src/util/meson.build | 20 +
src/util/multifd-helper.c | 249 ++++++++
src/util/virfile.c | 214 +++++++
src/util/virfile.h | 2 +
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
tools/virsh-domain.c | 101 +++-
64 files changed, 1766 insertions(+), 447 deletions(-)
create mode 100644 src/util/multifd-helper.c
--
2.35.3
2
47
06 May '22
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
NEWS.rst | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 4a213682a4..70fbfc0108 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -21,6 +21,15 @@ v8.4.0 (unreleased)
* **Bug fixes**
+ * Improve heuristics for computing baseline CPU models
+
+ Both virConnectBaselineHypervisorCPU and virConnectBaselineCPU were
+ in some cases computing the result using a CPU model which was newer
+ than some of the input models. For example, ``Cascadelake-Server`` was
+ used as a baseline for ``Skylake-Server-IBRS`` and ``Cascadelake-Server``.
+ The CPU model selection heuristics was improved to choose a more
+ appropriate model.
+
v8.3.0 (2022-05-02)
===================
--
2.35.1
2
1
06 May '22
Using an updated toolchain means we're likely to catch more
issues.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
ci/gitlab.yml | 16 ++++++++--------
ci/manifest.yml | 6 +++---
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index f93f6222e8..07ad36809d 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -581,31 +581,31 @@ x86_64-ubuntu-2004:
- x86_64-ubuntu-2004-container
allow_failure: false
variables:
- ASAN_OPTIONS: verify_asan_link_order=0
- MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
NAME: ubuntu-2004
- UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-x86_64-ubuntu-2004-clang:
+x86_64-ubuntu-2204:
extends: .native_build_job
needs:
- - x86_64-ubuntu-2004-container
+ - x86_64-ubuntu-2204-container
allow_failure: false
variables:
- CC: clang
+ ASAN_OPTIONS: verify_asan_link_order=0
MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
- NAME: ubuntu-2004
+ NAME: ubuntu-2204
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-x86_64-ubuntu-2204:
+x86_64-ubuntu-2204-clang:
extends: .native_build_job
needs:
- x86_64-ubuntu-2204-container
allow_failure: false
variables:
+ CC: clang
+ MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
NAME: ubuntu-2204
+ UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 9a643be5b8..38582da3a6 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -209,7 +209,9 @@ targets:
PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
- ubuntu-2004:
+ ubuntu-2004: x86_64
+
+ ubuntu-2204:
jobs:
- arch: x86_64
variables:
@@ -223,5 +225,3 @@ targets:
CC: clang
MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-
- ubuntu-2204: x86_64
--
2.35.1
2
1
This a respin of the multifd save prototype,
rebased on post 8.3.0 release.
There are still quite a few rough edges:
KNOWN ISSUES:
1) this applies only to virsh save and virsh restore for now
(no managed save etc).
2) error handling is not good yet, especially during resume,
errors may leave behind a qemu process and such.
May need some help find all of these cases
3) the compression part is demonstrative only, there needs
to be more attention to compression options, and detecting
the compression used to store the multifd saves.
...
changes from v4:
* runIO renamed to virFileDiskCopy and rethought arguments
* renamed new APIs from ...ParametersFlags to ...Params
* introduce the new virDomainSaveParams and virDomainRestoreParams
without any additional parameters, so they can be upstreamed first.
* solved the issue in the gendispatch.pl script generating code that
was missing the conn parameter.
---
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
Thanks for your thoughts,
Claudio
Claudio Fontana (27):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
iohelper: move runIO function to virfile.c
virfile: rename runIO to virFileDiskCopy
virfile: change virFileDiskCopy arguments to extend beyond stdin,
stdout
virfile: add comment about the use of SEEK_END in virFileDiskCopy
multifd-helper: new helper for parallel save/restore
libvirt: introduce virDomainSaveParams public API
libvirt: introduce virDomainRestoreParams public API
remote: Add RPC support for the virDomainSaveParams API
gendispatch: add DomainRestoreParams as requiring conn argument
remote: Add RPC support for the virDomainRestoreParams API
qemu: add implementation for virDomainSaveParams API
qemu: add implementation for virDomainRestoreParams API
libvirt: add new VIR_DOMAIN_SAVE_PARALLEL flag and parameter
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in save
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in restore
qemu: saveimage: introduce virQEMUSaveFd
qemu: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: implement qemuMigrationSrcToFilesMultiFd
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
docs: update refs to virDomainSaveParams and virDomainRestoreParams
qemu: add migration parameter multifd-compression
docs/formatsnapshot.rst | 5 +-
docs/manpages/virsh.rst | 34 +-
include/libvirt/libvirt-domain.h | 49 ++
po/POTFILES.in | 1 +
src/driver-hypervisor.h | 14 +
src/libvirt-domain.c | 99 +++-
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 6 +
src/qemu/qemu_capabilities.c | 6 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_driver.c | 239 +++++++--
src/qemu/qemu_migration.c | 155 ++++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 ++-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 496 ++++++++++++++----
src/qemu/qemu_saveimage.h | 49 +-
src/qemu/qemu_snapshot.c | 6 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 29 +-
src/remote_protocol-structs | 17 +
src/rpc/gendispatch.pl | 5 +-
src/util/iohelper.c | 162 +-----
src/util/meson.build | 19 +
src/util/multifd-helper.c | 249 +++++++++
src/util/virfile.c | 218 ++++++++
src/util/virfile.h | 2 +
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
tools/virsh-domain.c | 96 +++-
64 files changed, 1686 insertions(+), 446 deletions(-)
create mode 100644 src/util/multifd-helper.c
--
2.35.3
2
45
06 May '22
Hi,
Small series to update ppc64 caps after the 7.0.0 release and to add
support for the recently released IBM POWER10 chip.
Daniel Henrique Barboza (3):
tests: qemucapabilities: update ppc64 qemu caps for 7.0.0 release
cpu_map: add POWER10 cpu model
cpu_ppc64: add support for host-model on POWER10
src/cpu/cpu_ppc64.c | 8 +-
src/cpu_map/index.xml | 1 +
src/cpu_map/meson.build | 1 +
src/cpu_map/ppc64_POWER10.xml | 6 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 3 +-
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 4 +-
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 4 +-
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 4 +-
.../caps_7.0.0.ppc64.replies | 8039 ++++++++---------
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1180 ++-
...default-video-type-ppc64.ppc64-latest.args | 1 -
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 1 -
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 1 -
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 1 -
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 1 -
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args | 1 -
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 1 -
.../ppc64-pseries-graphics.ppc64-latest.args | 1 -
.../ppc64-pseries-headless.ppc64-latest.args | 1 -
.../ppc64-tpmproxy-single.ppc64-latest.args | 1 -
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 1 -
.../pseries-cpu-compat-power10.args | 32 +
.../pseries-cpu-compat-power10.err | 1 +
.../pseries-cpu-compat-power10.xml | 21 +
.../tpm-emulator-spapr.ppc64-latest.args | 1 -
tests/qemuxml2argvtest.c | 11 +
tests/testutilshostcpus.h | 11 +
tests/testutilsqemu.c | 4 +-
tests/testutilsqemu.h | 1 +
32 files changed, 4523 insertions(+), 4823 deletions(-)
create mode 100644 src/cpu_map/ppc64_POWER10.xml
create mode 100644 tests/qemuxml2argvdata/pseries-cpu-compat-power10.args
create mode 100644 tests/qemuxml2argvdata/pseries-cpu-compat-power10.err
create mode 100644 tests/qemuxml2argvdata/pseries-cpu-compat-power10.xml
--
2.35.1
3
9
Pipeline:
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/532708775
Michal Prívozník (2):
testutils: Write setter for virTestHostArch global variable
testutilsqemu: Write getter/setter for CPU def global variables
tests/qemuxml2argvtest.c | 4 ++--
tests/testutils.c | 7 ++++++-
tests/testutils.h | 2 +-
tests/testutilsqemu.c | 24 +++++++++++++++++++-----
tests/testutilsqemu.h | 13 +++++++++----
5 files changed, 37 insertions(+), 13 deletions(-)
--
2.35.1
2
3
[PATCH 0/2] test: Link qemuhotplugmock with test_utils_qemu and test_utils
by Michal Privoznik 06 May '22
by Michal Privoznik 06 May '22
06 May '22
This is an alternative version to:
https://listman.redhat.com/archives/libvir-list/2022-April/230092.html
Michal Prívozník (2):
test: Link qemuhotplugmock with test_utils_qemu and test_utils
tests: Deduplicate some WITH_* checks
tests/meson.build | 94 +++++++++++++++++++++--------------------------
1 file changed, 41 insertions(+), 53 deletions(-)
--
2.35.1
4
6
Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/532731034
Andrea Bolognani (2):
ci: Refresh configuration
ci: Add Ubuntu 22.04
ci/containers/ubuntu-2204.Dockerfile | 101 +++++++++++++++++++++++++++
ci/gitlab.yml | 18 ++++-
ci/manifest.yml | 2 +
3 files changed, 120 insertions(+), 1 deletion(-)
create mode 100644 ci/containers/ubuntu-2204.Dockerfile
--
2.35.1
3
7
06 May '22
Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/532183411
Andrea Bolognani (3):
meson: Refactor handling of link_args and link_depends
meson: Don't attempt to use version scripts on macOS
meson: Drop support for -Wl,-M
meson.build | 5 +-
src/admin/meson.build | 22 +++++++--
src/meson.build | 110 +++++++++++++++++++++++-------------------
tools/nss/meson.build | 48 +++++++++++-------
4 files changed, 111 insertions(+), 74 deletions(-)
--
2.35.1
2
4
It allows libvirt to provide the value of cpu0-id retuned by the Qemu QMP
command query-sev-capabilities as implemented by the Qemu Patch [1] which
is merged to Qemu master branch and should be available with Qemu 7.1.
This is used to get the signed Chip Endorsement Key (CEK) of the CPU of AMD
system from AMD's Key Distribution Service (KDS).
Similar to cbitpos, reducedPhysBits, maxGuests & maxESGuests;
the value of cpu0-id is also provided using 'virsh domcapability'.
[1] https://lore.kernel.org/all/20220228093014.882288-1-dovmurik@linux.ibm.com/
Signed-off-by: Niteesh Dubey <niteesh(a)linux.ibm.com>
---
include/libvirt/libvirt-host.h | 11 +++++++++++
src/conf/domain_capabilities.c | 4 ++++
src/conf/domain_capabilities.h | 1 +
src/qemu/qemu_capabilities.c | 12 ++++++++++++
src/qemu/qemu_driver.c | 5 +++++
src/qemu/qemu_monitor_json.c | 6 ++++++
6 files changed, 39 insertions(+)
diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h
index b5cf8a4a4a..d35abbd9aa 100644
--- a/include/libvirt/libvirt-host.h
+++ b/include/libvirt/libvirt-host.h
@@ -537,6 +537,17 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
*/
# define VIR_NODE_SEV_CERT_CHAIN "cert-chain"
+/**
+ * VIR_NODE_SEV_CPU0_ID:
+ *
+ * Macro represents the unique ID of CPU0 (socket 0) needed to retrieve
+ * the signed CEK of the CPU from AMD's Key Distribution Service (KDS),
+ * as VIR_TYPED_PARAMS_STRING.
+ *
+ * Since: v8.3.1
+ */
+# define VIR_NODE_SEV_CPU0_ID "cpu0-id"
+
/**
* VIR_NODE_SEV_CBITPOS:
*
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index c394a7a390..2a888da1a9 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -601,6 +601,10 @@ virDomainCapsFeatureSEVFormat(virBuffer *buf,
sev->max_guests);
virBufferAsprintf(buf, "<maxESGuests>%d</maxESGuests>\n",
sev->max_es_guests);
+ if (sev->cpu0_id != NULL) {
+ virBufferAsprintf(buf, "<cpu0Id>%s</cpu0Id>\n",
+ sev->cpu0_id);
+ }
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</sev>\n");
}
diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index 1d2f4ac7a5..f2eed80b15 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -185,6 +185,7 @@ typedef struct _virSEVCapability virSEVCapability;
struct _virSEVCapability {
char *pdh;
char *cert_chain;
+ char *cpu0_id;
unsigned int cbitpos;
unsigned int reduced_phys_bits;
unsigned int max_guests;
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b91db851bb..2d3165e74a 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1957,6 +1957,9 @@ virQEMUCapsSEVInfoCopy(virSEVCapability **dst,
tmp->pdh = g_strdup(src->pdh);
tmp->cert_chain = g_strdup(src->cert_chain);
+ if (src->cpu0_id != NULL) {
+ tmp->cpu0_id = g_strdup(src->cpu0_id);
+ }
tmp->cbitpos = src->cbitpos;
tmp->reduced_phys_bits = src->reduced_phys_bits;
@@ -4693,6 +4696,11 @@ virQEMUCapsFormatSEVInfo(virQEMUCaps *qemuCaps, virBuffer *buf)
virBufferEscapeString(buf, "<pdh>%s</pdh>\n", sev->pdh);
virBufferEscapeString(buf, "<certChain>%s</certChain>\n",
sev->cert_chain);
+ if (sev->cpu0_id != NULL) {
+ virBufferEscapeString(buf, "<cpu0Id>%s</cpu0Id>\n",
+ sev->cpu0_id);
+ }
+
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</sev>\n");
}
@@ -6478,6 +6486,10 @@ virQEMUCapsFillDomainFeatureSEVCaps(virQEMUCaps *qemuCaps,
domCaps->sev->pdh = g_strdup(cap->pdh);
domCaps->sev->cert_chain = g_strdup(cap->cert_chain);
+ if (cap->cpu0_id != NULL) {
+ domCaps->sev->cpu0_id = g_strdup(cap->cpu0_id);
+ }
+
domCaps->sev->cbitpos = cap->cbitpos;
domCaps->sev->reduced_phys_bits = cap->reduced_phys_bits;
domCaps->sev->max_guests = cap->max_guests;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ee0963c30d..464c080409 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19861,6 +19861,11 @@ qemuGetSEVInfoToParams(virQEMUCaps *qemuCaps,
VIR_NODE_SEV_CERT_CHAIN, sev->cert_chain) < 0)
goto cleanup;
+ if ((sev->cpu0_id != NULL) &&
+ (virTypedParamsAddString(&sevParams, &n, &maxpar,
+ VIR_NODE_SEV_CPU0_ID, sev->cpu0_id) < 0))
+ goto cleanup;
+
if (virTypedParamsAddUInt(&sevParams, &n, &maxpar,
VIR_NODE_SEV_CBITPOS, sev->cbitpos) < 0)
goto cleanup;
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 776f4ab2ea..9e611e93e8 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -6400,6 +6400,7 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitor *mon,
virJSONValue *caps;
const char *pdh = NULL;
const char *cert_chain = NULL;
+ const char *cpu0_id = NULL;
unsigned int cbitpos;
unsigned int reduced_phys_bits;
g_autoptr(virSEVCapability) capability = NULL;
@@ -6457,6 +6458,11 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitor *mon,
capability->cert_chain = g_strdup(cert_chain);
+ cpu0_id = virJSONValueObjectGetString(caps, "cpu0-id");
+ if (cpu0_id != NULL) {
+ capability->cpu0_id = g_strdup(cpu0_id);
+ }
+
capability->cbitpos = cbitpos;
capability->reduced_phys_bits = reduced_phys_bits;
*capabilities = g_steal_pointer(&capability);
--
2.25.1
3
4
Andrea Bolognani (2):
lib: Drop "type hint" comments
include: Explicitly reserve values for overlapping flag types
include/libvirt/libvirt-common.h.in | 19 +++++++++++++++++--
include/libvirt/libvirt-domain.h | 8 ++++----
src/libvirt-network.c | 4 ++--
3 files changed, 23 insertions(+), 8 deletions(-)
--
2.35.1
3
10
*** BLURB HERE ***
Michal Prívozník (2):
virNetDevSetVfMac: Fix error message on invalid args
virnetdev: Fix regression in setting VLAN tag
src/util/virnetdev.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--
2.35.1
3
4
[libvirt PATCH 0/8] Improve heuristics for computing baseline CPU models
by Jiri Denemark 05 May '22
by Jiri Denemark 05 May '22
05 May '22
See 7/8 and 8/8 for details.
https://bugzilla.redhat.com/show_bug.cgi?id=1851227
Jiri Denemark (8):
cpu_map: Disable cpu64-rhel* for host-model and baseline
cputest: Drop some old artificial baseline tests
cputest: Give better names to baseline tests
cputest: Add some real world baseline tests
cpu_x86: Consolidate signature match in x86DecodeUseCandidate
cpu_x86: Refactor feature list comparison in x86DecodeUseCandidate
cpu_x86: Penalize disabled features when computing CPU model
cpu_x86: Ignore enabled features for input models in
x86DecodeUseCandidate
src/cpu/cpu_x86.c | 156 ++++++++++++------
src/cpu_map/x86_cpu64-rhel5.xml | 2 +-
src/cpu_map/x86_cpu64-rhel6.xml | 2 +-
tests/cputest.c | 136 ++++++++++++---
.../cputestdata/x86_64-baseline-1-result.xml | 5 -
tests/cputestdata/x86_64-baseline-1.xml | 20 ---
.../cputestdata/x86_64-baseline-2-result.xml | 4 -
tests/cputestdata/x86_64-baseline-2.xml | 22 ---
.../x86_64-baseline-5-expanded.xml | 47 ------
tests/cputestdata/x86_64-baseline-5.xml | 35 ----
.../x86_64-baseline-6-migratable.xml | 10 --
.../cputestdata/x86_64-baseline-7-result.xml | 4 -
tests/cputestdata/x86_64-baseline-7.xml | 24 ---
.../cputestdata/x86_64-baseline-8-result.xml | 4 -
tests/cputestdata/x86_64-baseline-8.xml | 28 ----
...-baseline-Westmere+Nehalem-migratable.xml} | 8 +-
...6_64-baseline-Westmere+Nehalem-result.xml} | 8 +-
...l => x86_64-baseline-Westmere+Nehalem.xml} | 0
... => x86_64-baseline-features-expanded.xml} | 0
...ml => x86_64-baseline-features-result.xml} | 0
...ine-4.xml => x86_64-baseline-features.xml} | 0
.../x86_64-baseline-no-vendor-result.xml | 3 +-
...ml => x86_64-baseline-simple-expanded.xml} | 0
....xml => x86_64-baseline-simple-result.xml} | 0
...eline-3.xml => x86_64-baseline-simple.xml} | 0
.../x86_64-cpuid-Atom-D510-guest.xml | 5 +-
.../x86_64-cpuid-Atom-N450-guest.xml | 5 +-
.../x86_64-cpuid-Phenom-B95-json.xml | 21 ++-
...id-baseline-Broadwell-IBRS+Cascadelake.xml | 14 ++
..._64-cpuid-baseline-Cascadelake+Icelake.xml | 15 ++
...puid-baseline-Cascadelake+Skylake-IBRS.xml | 13 ++
..._64-cpuid-baseline-Cascadelake+Skylake.xml | 8 +
...-cpuid-baseline-Cooperlake+Cascadelake.xml | 22 +++
...6_64-cpuid-baseline-Cooperlake+Icelake.xml | 15 ++
.../x86_64-cpuid-baseline-EPYC+Rome.xml | 13 ++
.../x86_64-cpuid-baseline-Haswell+Skylake.xml | 14 ++
...-baseline-Haswell-noTSX-IBRS+Broadwell.xml | 14 ++
...seline-Haswell-noTSX-IBRS+Skylake-IBRS.xml | 14 ++
...id-baseline-Haswell-noTSX-IBRS+Skylake.xml | 14 ++
.../x86_64-cpuid-baseline-Ryzen+Rome.xml | 13 ++
...4-cpuid-baseline-Skylake-Client+Server.xml | 9 +
.../x86_64-host+guest,models-result.xml | 10 +-
.../domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 35 ++--
.../domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 37 +++--
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 37 +++--
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 36 ++--
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 36 ++--
tests/qemuxml2argvdata/cpu-fallback.args | 2 +-
.../cpu-host-model-cmt.x86_64-4.0.0.args | 2 +-
.../cpu-host-model-fallback.args | 2 +-
56 files changed, 681 insertions(+), 459 deletions(-)
delete mode 100644 tests/cputestdata/x86_64-baseline-1-result.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-1.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-2-result.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-2.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-5-expanded.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-5.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-6-migratable.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-7-result.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-7.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-8-result.xml
delete mode 100644 tests/cputestdata/x86_64-baseline-8.xml
rename tests/cputestdata/{x86_64-baseline-5-result.xml => x86_64-baseline-Westmere+Nehalem-migratable.xml} (51%)
rename tests/cputestdata/{x86_64-baseline-6-result.xml => x86_64-baseline-Westmere+Nehalem-result.xml} (54%)
rename tests/cputestdata/{x86_64-baseline-6.xml => x86_64-baseline-Westmere+Nehalem.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-4-expanded.xml => x86_64-baseline-features-expanded.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-4-result.xml => x86_64-baseline-features-result.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-4.xml => x86_64-baseline-features.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-3-expanded.xml => x86_64-baseline-simple-expanded.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-3-result.xml => x86_64-baseline-simple-result.xml} (100%)
rename tests/cputestdata/{x86_64-baseline-3.xml => x86_64-baseline-simple.xml} (100%)
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Broadwell-IBRS+Cascadelake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Icelake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake-IBRS.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Cascadelake+Skylake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Icelake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-EPYC+Rome.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Haswell+Skylake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Broadwell.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake-IBRS.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Haswell-noTSX-IBRS+Skylake.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Ryzen+Rome.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-baseline-Skylake-Client+Server.xml
--
2.35.1
2
10
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
include/libvirt/libvirt-network.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-network.h
index d3e3fdeecf..90cde0cf24 100644
--- a/include/libvirt/libvirt-network.h
+++ b/include/libvirt/libvirt-network.h
@@ -176,7 +176,7 @@ int virNetworkUndefine (virNetworkPtr network);
* Since: 0.10.2
*/
typedef enum {
- VIR_NETWORK_UPDATE_COMMAND_NONE = 0, /* (invalid (Since: 0.10.2) */
+ VIR_NETWORK_UPDATE_COMMAND_NONE = 0, /* invalid (Since: 0.10.2) */
VIR_NETWORK_UPDATE_COMMAND_MODIFY = 1, /* modify an existing element (Since: 0.10.2) */
VIR_NETWORK_UPDATE_COMMAND_DELETE = 2, /* delete an existing element (Since: 0.10.2) */
VIR_NETWORK_UPDATE_COMMAND_ADD_LAST = 3, /* add an element at end of list (Since: 0.10.2) */
@@ -195,7 +195,7 @@ typedef enum {
* Since: 0.10.2
*/
typedef enum {
- VIR_NETWORK_SECTION_NONE = 0, /* (invalid (Since: 0.10.2) */
+ VIR_NETWORK_SECTION_NONE = 0, /* invalid (Since: 0.10.2) */
VIR_NETWORK_SECTION_BRIDGE = 1, /* <bridge> (Since: 0.10.2) */
VIR_NETWORK_SECTION_DOMAIN = 2, /* <domain> (Since: 0.10.2) */
VIR_NETWORK_SECTION_IP = 3, /* <ip> (Since: 0.10.2) */
--
2.35.1
1
0
Hi,
The 4th is coming!
v3: https://listman.redhat.com/archives/libvir-list/2022-April/230200.html
v2: https://listman.redhat.com/archives/libvir-list/2022-April/230097.html
v1: https://listman.redhat.com/archives/libvir-list/2022-April/229881.html
I tried to be more careful this time in regards to the patch flow.
- The first 4 patches are related to wrong versions introduced in
https://gitlab.com/libvirt/libvirt/-/commit/034432e47b
Each commit log points out the error I did in v3 and fixes it. If you
rather squash them, feel free.
- 05/19 "remove comments between enum values" are following Andrea and
Peter's suggestion that this should be fixed before adding the version
tags:
https://listman.redhat.com/archives/libvir-list/2022-April/230304.html
- 06/19 "avoid sc_prohibit_nonreentrant in a comment" is the workaround
proposed by Peter to avoid syntax-check failure
https://listman.redhat.com/archives/libvir-list/2022-April/230238.html
- I have set the virAdm exported types to be minimum = v2.0.0. This is
for all related types of libvirt-admin:
* 08/19 for enums;
* 09/19 for macros;
* 10/19 for typedefs;
* 12/19 for functions;
- For exported version of functions, the syms file are the source of
truth apart from 4 functions (Peter)
https://listman.redhat.com/archives/libvir-list/2022-April/230236.html
- Variable's comments are now properly sanitized (Andrea)
https://listman.redhat.com/archives/libvir-list/2022-April/230352.html
- Removed an extra line in the block of comments (Andrea)
https://listman.redhat.com/archives/libvir-list/2022-April/230291.html
The CI run for this series:
https://gitlab.com/victortoso/libvirt/-/pipelines/522757286
Have a great weekend,
Victor
Victor Toso (19):
docstring: typedef: fix version of virConnectListAllStoragePoolsFlags
docstring: typedef: fix version of virDomainDeviceModifyFlags
docstring: typedef: fix version of virDomainMemoryModFlags
docstring: typedef: fix version of virDomainVcpuFlags
docstring: remove comments between enum values
docstring: avoid sc_prohibit_nonreentrant in a comment
docstring: enums: libvirt: Add 'Since version' metadata
docstring: enums: admin: Add 'Since version' metadata
docstring: macros: admin: Add 'Since version' metadata
docstring: typedef: admin:: Add 'Since version' metadata
docstring: function: libvirt: Add 'Since version' metadata
docstring: function: admin: Add 'Since version' metadata
scripts: apibuild: parse 'Since' version for enums
scripts: apibuild: fix parsing block comments from typedef enum
scripts: apibuild: parse 'Since' for typedefs
scripts: apibuild: parse 'Since' for macros
scripts: apibuild: parse 'Since' for functions
scripts: apibuild: factor out comment cleaning
scripts: apibuild: add parsing variable's comments
include/libvirt/libvirt-admin.h | 67 +-
include/libvirt/libvirt-domain-checkpoint.h | 28 +-
include/libvirt/libvirt-domain-snapshot.h | 60 +-
include/libvirt/libvirt-domain.h | 1260 +++++++++++--------
include/libvirt/libvirt-event.h | 24 +-
include/libvirt/libvirt-host.h | 62 +-
include/libvirt/libvirt-interface.h | 8 +-
include/libvirt/libvirt-network.h | 92 +-
include/libvirt/libvirt-nodedev.h | 70 +-
include/libvirt/libvirt-nwfilter.h | 4 +-
include/libvirt/libvirt-secret.h | 40 +-
include/libvirt/libvirt-storage.h | 173 +--
include/libvirt/libvirt-stream.h | 24 +-
include/libvirt/virterror.h | 408 +++---
scripts/apibuild.py | 163 ++-
src/admin/libvirt-admin.c | 62 +
src/libvirt-domain-checkpoint.c | 24 +
src/libvirt-domain-snapshot.c | 42 +
src/libvirt-domain.c | 371 +++++-
src/libvirt-host.c | 68 +
src/libvirt-interface.c | 42 +
src/libvirt-network.c | 89 ++
src/libvirt-nodedev.c | 54 +
src/libvirt-nwfilter.c | 48 +
src/libvirt-secret.c | 40 +
src/libvirt-storage.c | 114 ++
src/libvirt-stream.c | 34 +
src/libvirt.c | 12 +
src/util/virerror.c | 30 +
src/util/virevent.c | 18 +
30 files changed, 2497 insertions(+), 1034 deletions(-)
--
2.35.1
2
34
[libvirt PATCH] tests: Add test for missing network attribute in graphics' listen element
by Martin Kletzander 04 May '22
by Martin Kletzander 04 May '22
04 May '22
This tests a change done in commit 871a071abb9c.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
.../graphics-listen-network-invalid.xml | 29 +++++++++++++++++++
tests/genericxml2xmltest.c | 1 +
2 files changed, 30 insertions(+)
create mode 100644 tests/genericxml2xmlindata/graphics-listen-network-invalid.xml
diff --git a/tests/genericxml2xmlindata/graphics-listen-network-invalid.xml b/tests/genericxml2xmlindata/graphics-listen-network-invalid.xml
new file mode 100644
index 000000000000..87b5a32abe87
--- /dev/null
+++ b/tests/genericxml2xmlindata/graphics-listen-network-invalid.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='vnc'>
+ <listen type='network'/>
+ </graphics>
+ <video>
+ <model type='cirrus' vram='16384' heads='1' primary='yes'/>
+ </video>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmltest.c b/tests/genericxml2xmltest.c
index 34ccaff61503..87014e3e531f 100644
--- a/tests/genericxml2xmltest.c
+++ b/tests/genericxml2xmltest.c
@@ -174,6 +174,7 @@ mymain(void)
DO_TEST_DIFFERENT("graphics-vnc-socket-attr-listen-socket");
DO_TEST_FAIL_ACTIVE("graphics-vnc-socket-attr-listen-socket-mismatch");
DO_TEST("graphics-vnc-autoport-no");
+ DO_TEST_FAIL_INACTIVE("graphics-listen-network-invalid");
DO_TEST_FAIL_ACTIVE("name-slash-fail");
--
2.35.1
2
1
[PATCH v2] conf: virDomainGraphicsDefValidate: validate attribute 'network' for listen type 'network'
by Amneesh Singh 04 May '22
by Amneesh Singh 04 May '22
04 May '22
Related: https://gitlab.com/libvirt/libvirt/-/issues/93
Signed-off-by: Amneesh Singh <natto(a)weirdnatto.in>
---
v1 PATCH: https://listman.redhat.com/archives/libvir-list/2022-April/230021.html
src/conf/domain_validate.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index 68190fc..e58b84e 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -2347,10 +2347,35 @@ virDomainAudioDefValidate(const virDomainDef *def,
return 0;
}
+static int
+virDomainGraphicsDefListensValidate(const virDomainGraphicsDef *def)
+{
+ size_t i;
+
+ for (i = 0; i < def->nListens; i++) {
+ if (def->listens[i].type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK &&
+ !def->listens[i].network) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("'network' attribute is required for "
+ "listen type 'network'"));
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
static int
virDomainGraphicsDefValidate(const virDomainDef *def,
const virDomainGraphicsDef *graphics)
{
+ if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
+ graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
+ graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_RDP) {
+ if (virDomainGraphicsDefListensValidate(graphics) < 0)
+ return -1;
+ }
+
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC)
return virDomainEnsureAudioID(def, graphics->data.vnc.audioId);
--
2.35.1
2
1
Based on
https://listman.redhat.com/archives/libvirt-users/2022-April/013537.html
Looked as a very simple addition.
Peter Krempa (2):
conf: Introduce 'absolute' clock offset
qemu: Implement 'absolute' clock offset mode
docs/formatdomain.rst | 4 ++
src/conf/domain_conf.c | 13 +++++++
src/conf/domain_conf.h | 4 ++
src/conf/schemas/domaincommon.rng | 8 ++++
src/libxl/libxl_conf.c | 1 +
src/qemu/qemu_command.c | 10 ++++-
.../clock-absolute.x86_64-latest.args | 36 ++++++++++++++++++
tests/qemuxml2argvdata/clock-absolute.xml | 30 +++++++++++++++
tests/qemuxml2argvtest.c | 1 +
.../clock-absolute.x86_64-latest.xml | 38 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
11 files changed, 145 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/clock-absolute.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/clock-absolute.xml
create mode 100644 tests/qemuxml2xmloutdata/clock-absolute.x86_64-latest.xml
--
2.35.1
3
4
We do not need VIR_DOMAIN_VIRT_QEMU to get qemu default
version. With the 'os_type' and 'arch'in capabilities,
we could identify 'emulator' which is enough to get the version.
Actually VIR_DOMAIN_VIRT_QEMU is not the only domain virt type for
qemu driver, there are VIR_DOMAIN_VIRT_KVM and VIR_DOMAIN_VIRT_HVF.
If TCG is disabled in qemu, it will cause the error that could not
find suitable emulater when access version.
Signed-off-by: Liang Yan <lyan(a)digtalocean.com>
---
src/qemu/qemu_capabilities.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b91db851bb..9a0b7ebeb4 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1857,7 +1857,7 @@ int virQEMUCapsGetDefaultVersion(virCaps *caps,
hostarch = virArchFromHost();
if (!(capsdata = virCapabilitiesDomainDataLookup(caps,
- VIR_DOMAIN_OSTYPE_HVM, hostarch, VIR_DOMAIN_VIRT_QEMU,
+ VIR_DOMAIN_OSTYPE_HVM, hostarch, VIR_DOMAIN_VIRT_NONE,
NULL, NULL))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Cannot find suitable emulator for %s"),
--
2.34.1
2
3
04 May '22
From: Marc-André Lureau <marcandre.lureau(a)redhat.com>
Hi,
This series implements supports for the uQEMU "-display dbus" support, that
landed earlier this week for 7.0.
By default, libvirt will start a private VM bus (sharing and reusing the
existing "vmstate" VM bus & code).
The feature set should cover the needs to replace Spice as local client of choice,
including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
chardev/channels (for serial etc).
The test Gtk4 client is also in progress, currently in development at
https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
to make use of the shared widget.
Comments welcome, as we can still adjust the QEMU side etc.
thanks
v3: after QEMU 7.0 dev cycle opening and merge
- rebased
- add 7.0 x86-64 capabilities (instead of tweaking 6.2)
- fix version annotations
Marc-André Lureau (16):
qemu: add chardev-vdagent capability check
qemu: add -display dbus capability check
qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
cycle
conf: add <graphics type='dbus'>
qemu: start the D-Bus daemon for the display
qemu: add -display dbus support
virsh: refactor/split cmdDomDisplay()
virsh: report the D-Bus bus URI for domdisplay
conf: add <audio type='dbus'> support
qemu: add audio type 'dbus'
conf: add dbus <clipboard>
qemu: add dbus clipboard sharing
conf: add <serial type='dbus'>
qemu: add -chardev dbus support
qemu: add usbredir type 'dbus'
docs: document <graphics> type dbus
NEWS.rst | 7 +-
docs/formatdomain.rst | 43 +-
docs/schemas/basictypes.rng | 7 +
docs/schemas/domaincommon.rng | 71 +
src/bhyve/bhyve_command.c | 1 +
src/conf/domain_conf.c | 141 +-
src/conf/domain_conf.h | 15 +
src/conf/domain_validate.c | 41 +-
src/libxl/libxl_conf.c | 1 +
src/qemu/qemu_capabilities.c | 8 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_command.c | 77 +-
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_driver.c | 10 +-
src/qemu/qemu_extdevice.c | 13 +
src/qemu/qemu_hotplug.c | 1 +
src/qemu/qemu_monitor_json.c | 10 +
src/qemu/qemu_process.c | 41 +-
src/qemu/qemu_validate.c | 33 +
src/security/security_dac.c | 2 +
src/vmx/vmx.c | 1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 231 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 237 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 231 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.replies | 37335 ++++++++++++++++
.../caps_7.0.0.x86_64.xml | 3720 ++
.../graphics-dbus-address.args | 30 +
.../graphics-dbus-address.xml | 35 +
.../qemuxml2argvdata/graphics-dbus-audio.args | 33 +
.../qemuxml2argvdata/graphics-dbus-audio.xml | 45 +
.../graphics-dbus-chardev.args | 32 +
.../graphics-dbus-chardev.xml | 43 +
.../graphics-dbus-clipboard.args | 31 +
.../graphics-dbus-clipboard.xml | 35 +
tests/qemuxml2argvdata/graphics-dbus-p2p.args | 30 +
tests/qemuxml2argvdata/graphics-dbus-p2p.xml | 33 +
.../graphics-dbus-usbredir.args | 34 +
.../graphics-dbus-usbredir.xml | 30 +
tests/qemuxml2argvdata/graphics-dbus.args | 30 +
tests/qemuxml2argvdata/graphics-dbus.xml | 33 +
tests/qemuxml2argvtest.c | 22 +
.../graphics-dbus-address.xml | 1 +
.../graphics-dbus-audio.xml | 1 +
.../graphics-dbus-chardev.xml | 1 +
.../graphics-dbus-clipboard.xml | 1 +
.../qemuxml2xmloutdata/graphics-dbus-p2p.xml | 1 +
tests/qemuxml2xmloutdata/graphics-dbus.xml | 1 +
tests/qemuxml2xmltest.c | 20 +
tools/virsh-domain.c | 366 +-
52 files changed, 42981 insertions(+), 192 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
--
2.34.1.8.g35151cf07204
5
23
NB, even with this done there is still a latent bug affecting all
platforms. When we call g_source_destroy the removal is async but
we usually close the FD synchronously. This leads to poll'ing on
a bad FD.
We've actually had this race in libvirt since day 1 - our previous
poll() event loop impl before glib would also implement the
virEventRemoveHandle call async by just writing to a pipe to
interrupt the other thread in poll, just as glib does.
We've always relied on parallelism to make this async call almost
instantaneous but under the right load conditions we trigger the
POLLNVAL / EBADF issue.
The only viable solution to this that I see is to only ever
call g_source_destroy + g_source_unref from an idle callback,
to guarantee that poll() isn't currently running.
We know this has a bit of a perf hit on code that is sensitive
to main loop iterations, so we tried to avoid it where possible
right now:
https://listman.redhat.com/archives/libvir-list/2020-November/212411.html
I think we'll need to revisit this though, as known BADF problems
are not good.
Daniel P. Berrangé (2):
ci: print stack traces on macOS if any tests fail
tests: don't set G_DEBUG=fatal-warnings on macOS
ci/cirrus/build.yml | 2 +-
tests/meson.build | 17 ++++++++++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
--
2.35.1
4
10
02 May '22
Validate the domain configuration to ensure that if there are more than
one vgpu assigned to a domain, only one of them has 'ramfb' enabled.
This was never a supported configuration. QEMU failed confusingly when
attempting to start a domain with this configuration. This change
attempts to provide better information about the error.
https://bugzilla.redhat.com/show_bug.cgi?id=2079760
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
src/conf/domain_validate.c | 19 ++++++++--
...v-display-ramfb-multiple.x86_64-latest.err | 1 +
.../hostdev-mdev-display-ramfb-multiple.xml | 38 +++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
4 files changed, 56 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.x86_64-latest.err
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.xml
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index 68190fc3e2..f4d6e6e0c5 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -1194,20 +1194,33 @@ virDomainDefDuplicateDiskInfoValidate(const virDomainDef *def)
}
static int
-virDomainDefDuplicateHostdevInfoValidate(const virDomainDef *def)
+virDomainDefHostdevValidate(const virDomainDef *def)
{
size_t i;
size_t j;
+ bool ramfbEnabled = false;
for (i = 0; i < def->nhostdevs; i++) {
+ virDomainHostdevDef *dev = def->hostdevs[i];
+
for (j = i + 1; j < def->nhostdevs; j++) {
- if (virDomainHostdevMatch(def->hostdevs[i],
+ if (virDomainHostdevMatch(dev,
def->hostdevs[j])) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Hostdev already exists in the domain configuration"));
return -1;
}
}
+
+ if (dev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV &&
+ dev->source.subsys.u.mdev.ramfb == VIR_TRISTATE_SWITCH_ON) {
+ if (ramfbEnabled) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("Only one vgpu device can have 'ramfb' enabled"));
+ return -1;
+ }
+ ramfbEnabled = true;
+ }
}
return 0;
@@ -1664,7 +1677,7 @@ virDomainDefValidateInternal(const virDomainDef *def,
if (virDomainDefDuplicateDiskInfoValidate(def) < 0)
return -1;
- if (virDomainDefDuplicateHostdevInfoValidate(def) < 0)
+ if (virDomainDefHostdevValidate(def) < 0)
return -1;
if (virDomainDefDuplicateDriveAddressesValidate(def) < 0)
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.x86_64-latest.err b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.x86_64-latest.err
new file mode 100644
index 0000000000..07ce47abf7
--- /dev/null
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.x86_64-latest.err
@@ -0,0 +1 @@
+unsupported configuration: Only one vgpu device can have 'ramfb' enabled
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.xml b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.xml
new file mode 100644
index 0000000000..1fe53726b5
--- /dev/null
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb-multiple.xml
@@ -0,0 +1,38 @@
+<domain type='qemu'>
+ <name>QEMUGuest2</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <controller type='usb' index='0'>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <controller type='ide' index='0'>
+ </controller>
+ <graphics type='vnc'/>
+ <hostdev mode='subsystem' type='mdev' model='vfio-pci' display='on' ramfb='on'>
+ <source>
+ <address uuid='53764d0e-85a0-42b4-af5c-2046b460b1dc'/>
+ </source>
+ </hostdev>
+ <hostdev mode='subsystem' type='mdev' model='vfio-pci' display='on' ramfb='on'>
+ <source>
+ <address uuid='53764d0e-85a0-42b4-af5c-2046b460b1dd'/>
+ </source>
+ </hostdev>
+ <video>
+ <model type='qxl' heads='1'/>
+ </video>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 41fd032f19..e334c59eb7 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1896,6 +1896,7 @@ mymain(void)
QEMU_CAPS_DEVICE_VFIO_PCI,
QEMU_CAPS_VFIO_PCI_DISPLAY);
DO_TEST_CAPS_LATEST("hostdev-mdev-display-ramfb");
+ DO_TEST_CAPS_LATEST_PARSE_ERROR("hostdev-mdev-display-ramfb-multiple");
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-wrong-arch",
QEMU_CAPS_DEVICE_VFIO_PCI);
DO_TEST("hostdev-vfio-zpci",
--
2.35.1
2
1
The 8.3.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://libvirt.org/sources/
https://libvirt.org/sources/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Removed features
* qemu: Remove support for QEMU < 3.1
In accordance with our platform support policy, the oldest supported QEMU
version is now bumped from 2.11 to 3.1.
* New features
* qemu: Introduce support for virtio-iommu
This IOMMU device can be used with both Q35 and ARM virt guests.
Enjoy.
Jirka
1
0
This is the multifd save prototype in semi-functional state,
with both save and restore minimally functional.
There are still quite a few rough edges.
KNOWN ISSUES:
1) this applies only to virsh save and virsh restore for now
(no managed save etc).
2) error handling is not good yet, especially during resume,
errors may leave behind a qemu process and such.
May need some help find all of these cases
3) the compression part is demonstrative only, there needs
to be more attention to compression options, and detecting
the compression used to store the multifd saves.
...
changes from v4:
* runIO renamed to virFileDiskCopy and rethought arguments
* renamed new APIs from ...ParametersFlags to ...Params
* introduce the new virDomainSaveParams and virDomainRestoreParams
without any additional parameters, so they can be upstreamed first.
* solved the issue in the gendispatch.pl script generating code that
was missing the conn parameter.
---
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
Thanks for your thoughts,
Claudio
Claudio Fontana (27):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
iohelper: move runIO function to virfile.c
virfile: rename runIO to virFileDiskCopy
virfile: change virFileDiskCopy arguments to extend beyond stdin,
stdout
virfile: add comment about the use of SEEK_END in virFileDiskCopy
multifd-helper: new helper for parallel save/restore
libvirt: introduce virDomainSaveParams public API
libvirt: introduce virDomainRestoreParams public API
remote: Add RPC support for the virDomainSaveParams API
gendispatch: add DomainRestoreParams as requiring conn argument
remote: Add RPC support for the virDomainRestoreParams API
qemu: add implementation for virDomainSaveParams API
qemu: add implementation for virDomainRestoreParams API
libvirt: add new VIR_DOMAIN_SAVE_PARALLEL flag and parameter
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in save
qemu: add stub support for VIR_DOMAIN_SAVE_PARALLEL in restore
qemu: saveimage: introduce virQEMUSaveFd
qemu: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: implement qemuMigrationSrcToFilesMultiFd
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
docs: update refs to virDomainSaveParams and virDomainRestoreParams
qemu: add migration parameter multifd-compression
docs/formatsnapshot.rst | 5 +-
docs/manpages/virsh.rst | 34 +-
include/libvirt/libvirt-domain.h | 49 ++
po/POTFILES.in | 1 +
src/driver-hypervisor.h | 14 +
src/libvirt-domain.c | 99 +++-
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 6 +
src/qemu/qemu_capabilities.c | 6 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_driver.c | 239 +++++++--
src/qemu/qemu_migration.c | 155 ++++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 ++-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 496 ++++++++++++++----
src/qemu/qemu_saveimage.h | 49 +-
src/qemu/qemu_snapshot.c | 6 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 29 +-
src/remote_protocol-structs | 17 +
src/rpc/gendispatch.pl | 5 +-
src/util/iohelper.c | 162 +-----
src/util/meson.build | 19 +
src/util/multifd-helper.c | 249 +++++++++
src/util/virfile.c | 218 ++++++++
src/util/virfile.h | 2 +
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
tools/virsh-domain.c | 96 +++-
64 files changed, 1686 insertions(+), 446 deletions(-)
create mode 100644 src/util/multifd-helper.c
--
2.34.1
1
27
This is the multifd save prototype in semi-functional state,
with both save and restore minimally functional.
There are still quite a few rough edges.
KNOWN ISSUES:
1) this applies only to virsh save and virsh restore for now
(no managed save etc).
2) the .pl scripts to generate the headers for the new APIs
do not reliably work for me, for the Restore case. I get:
src/remote/remote_daemon_dispatch_stubs.h:10080:9:
error: too few arguments to function ‘virDomainRestoreParametersFlags’
if (virDomainRestoreParametersFlags(params, nparams, args->flags) < 0)
To work around this I had to fixup the header manually to add the
conn parameter like this:
...(conn, params, nparams, args->flags) < 0)
3) error handling is not good yet, especially during resume,
errors may leave behind a qemu process and such.
May need some help find all of these cases...
...
changes from v3:
* reordered series to have all helper-related change at the start
* solved all reported issues from ninja test, including documentation
* fixed most broken migration capabilities code (still imperfect likely)
* added G_GNUC_UNUSED as needed
* after multifd restore, added what I think were the missing operations:
qemuProcessRefreshState(),
qemuProcessStartCPUs() - most importantly,
virDomainObjSave()
The domain now starts running after restore without further encouragement
* removed the sleep(10) from the multifd-helper
changes from v2:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
Thanks for your thoughts,
Claudio
*** BLURB HERE ***
Claudio Fontana (20):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
iohelper: move runIO function to a separate module
runio: add arguments to extend use beyond just stdin and stdout
multifd-helper: new helper for parallel save/restore
libvirt: introduce virDomainSaveParametersFlags public API
libvirt: introduce virDomainRestoreParametersFlags public API
remote: Add RPC support for the virDomainSaveParametersFlags API
remote: Add RPC support for the virDomainRestoreParametersFlags API
qemu: add a stub for virDomainSaveParametersFlags API
qemu: add a stub for virDomainRestoreParametersFlags API
qemu: saveimage: introduce virQEMUSaveFd
qemu: wire up saveimage code with the multifd helper
qemu: capabilities: add multifd to the probed migration capabilities
qemu: implement qemuMigrationSrcToFilesMultiFd
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
qemu: add migration parameter multifd-compression
docs/manpages/virsh.rst | 34 +-
include/libvirt/libvirt-domain.h | 49 ++
po/POTFILES.in | 2 +
src/driver-hypervisor.h | 14 +
src/libvirt-domain.c | 99 ++++
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 6 +
src/qemu/qemu_capabilities.c | 6 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_driver.c | 239 +++++++--
src/qemu/qemu_migration.c | 155 ++++--
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 ++-
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 496 ++++++++++++++----
src/qemu/qemu_saveimage.h | 49 +-
src/qemu/qemu_snapshot.c | 6 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 29 +-
src/remote_protocol-structs | 17 +
src/util/iohelper.c | 150 +-----
src/util/meson.build | 15 +
src/util/multifd-helper.c | 250 +++++++++
src/util/runio.c | 214 ++++++++
src/util/runio.h | 38 ++
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 +
.../caps_5.2.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../caps_6.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 +
.../caps_6.0.0.x86_64.xml | 2 +
.../caps_6.1.0.x86_64.xml | 2 +
.../caps_6.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 +
.../caps_6.2.0.x86_64.xml | 2 +
.../caps_7.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 +
.../caps_7.0.0.x86_64.xml | 2 +
tools/virsh-domain.c | 96 +++-
62 files changed, 1713 insertions(+), 427 deletions(-)
create mode 100644 src/util/multifd-helper.c
create mode 100644 src/util/runio.c
create mode 100644 src/util/runio.h
--
2.34.1
2
40
From: Klaus Jensen <k.jensen(a)samsung.com>
We cannot provide auto-generated unique or persistent namespace
identifiers (EUI64, NGUID, UUID) easily. Since 6.1, namespaces have been
assigned a generated EUI64 of the form "52:54:00:<namespace counter>".
This is will be unique within a QEMU instance, but not globally.
Revert that this is assigned automatically and immediately deprecate the
compatibility parameter. Users can opt-in to this with the
`eui64-default=on` device parameter or set it explicitly with
`eui64=UINT64`.
Cc: libvir-list(a)redhat.com
Signed-off-by: Klaus Jensen <k.jensen(a)samsung.com>
---
docs/about/deprecated.rst | 7 +++++++
hw/core/machine.c | 4 +++-
hw/nvme/ns.c | 2 +-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 896e5a97abbd..c65faa5ab4ad 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -356,6 +356,13 @@ contains native support for this feature and thus use of the option
ROM approach is obsolete. The native SeaBIOS support can be activated
by using ``-machine graphics=off``.
+``-device nvme-ns,eui64-default=on|off`` (since 7.1)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In QEMU versions 6.1, 6.2 and 7.0, the ``nvme-ns`` generates an EUI-64
+identifer that is not globally unique. If an EUI-64 identifer is required, the
+user must set it explicitly using the ``nvme-ns`` device parameter ``eui64``.
+
Block device options
''''''''''''''''''''
diff --git a/hw/core/machine.c b/hw/core/machine.c
index cb9bbc844d24..1e2108d95f11 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -37,7 +37,9 @@
#include "hw/virtio/virtio.h"
#include "hw/virtio/virtio-pci.h"
-GlobalProperty hw_compat_7_0[] = {};
+GlobalProperty hw_compat_7_0[] = {
+ { "nvme-ns", "eui64-default", "on"},
+};
const size_t hw_compat_7_0_len = G_N_ELEMENTS(hw_compat_7_0);
GlobalProperty hw_compat_6_2[] = {
diff --git a/hw/nvme/ns.c b/hw/nvme/ns.c
index af6504fad2d8..06a04131f192 100644
--- a/hw/nvme/ns.c
+++ b/hw/nvme/ns.c
@@ -641,7 +641,7 @@ static Property nvme_ns_props[] = {
DEFINE_PROP_SIZE("zoned.zrwas", NvmeNamespace, params.zrwas, 0),
DEFINE_PROP_SIZE("zoned.zrwafg", NvmeNamespace, params.zrwafg, -1),
DEFINE_PROP_BOOL("eui64-default", NvmeNamespace, params.eui64_default,
- true),
+ false),
DEFINE_PROP_END_OF_LIST(),
};
--
2.35.1
2
1
I have just tagged v8.3.0-rc1 in the repository and pushed signed
tarballs and source RPMs to https://libvirt.org/sources/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
1
1
[Cc +libvirt folks]
On Thu, 14 Apr 2022 03:46:52 -0700
Yi Liu <yi.l.liu(a)intel.com> wrote:
> With the introduction of iommufd[1], the linux kernel provides a generic
> interface for userspace drivers to propagate their DMA mappings to kernel
> for assigned devices. This series does the porting of the VFIO devices
> onto the /dev/iommu uapi and let it coexist with the legacy implementation.
> Other devices like vpda, vfio mdev and etc. are not considered yet.
>
> For vfio devices, the new interface is tied with device fd and iommufd
> as the iommufd solution is device-centric. This is different from legacy
> vfio which is group-centric. To support both interfaces in QEMU, this
> series introduces the iommu backend concept in the form of different
> container classes. The existing vfio container is named legacy container
> (equivalent with legacy iommu backend in this series), while the new
> iommufd based container is named as iommufd container (may also be mentioned
> as iommufd backend in this series). The two backend types have their own
> way to setup secure context and dma management interface. Below diagram
> shows how it looks like with both BEs.
>
> VFIO AddressSpace/Memory
> +-------+ +----------+ +-----+ +-----+
> | pci | | platform | | ap | | ccw |
> +---+---+ +----+-----+ +--+--+ +--+--+ +----------------------+
> | | | | | AddressSpace |
> | | | | +------------+---------+
> +---V-----------V-----------V--------V----+ /
> | VFIOAddressSpace | <------------+
> | | | MemoryListener
> | VFIOContainer list |
> +-------+----------------------------+----+
> | |
> | |
> +-------V------+ +--------V----------+
> | iommufd | | vfio legacy |
> | container | | container |
> +-------+------+ +--------+----------+
> | |
> | /dev/iommu | /dev/vfio/vfio
> | /dev/vfio/devices/vfioX | /dev/vfio/$group_id
> Userspace | |
> ===========+============================+================================
> Kernel | device fd |
> +---------------+ | group/container fd
> | (BIND_IOMMUFD | | (SET_CONTAINER/SET_IOMMU)
> | ATTACH_IOAS) | | device fd
> | | |
> | +-------V------------V-----------------+
> iommufd | | vfio |
> (map/unmap | +---------+--------------------+-------+
> ioas_copy) | | | map/unmap
> | | |
> +------V------+ +-----V------+ +------V--------+
> | iommfd core | | device | | vfio iommu |
> +-------------+ +------------+ +---------------+
>
> [Secure Context setup]
> - iommufd BE: uses device fd and iommufd to setup secure context
> (bind_iommufd, attach_ioas)
> - vfio legacy BE: uses group fd and container fd to setup secure context
> (set_container, set_iommu)
> [Device access]
> - iommufd BE: device fd is opened through /dev/vfio/devices/vfioX
> - vfio legacy BE: device fd is retrieved from group fd ioctl
> [DMA Mapping flow]
> - VFIOAddressSpace receives MemoryRegion add/del via MemoryListener
> - VFIO populates DMA map/unmap via the container BEs
> *) iommufd BE: uses iommufd
> *) vfio legacy BE: uses container fd
>
> This series qomifies the VFIOContainer object which acts as a base class
> for a container. This base class is derived into the legacy VFIO container
> and the new iommufd based container. The base class implements generic code
> such as code related to memory_listener and address space management whereas
> the derived class implements callbacks that depend on the kernel user space
> being used.
>
> The selection of the backend is made on a device basis using the new
> iommufd option (on/off/auto). By default the iommufd backend is selected
> if supported by the host and by QEMU (iommufd KConfig). This option is
> currently available only for the vfio-pci device. For other types of
> devices, it does not yet exist and the legacy BE is chosen by default.
I've discussed this a bit with Eric, but let me propose a different
command line interface. Libvirt generally likes to pass file
descriptors to QEMU rather than grant it access to those files
directly. This was problematic with vfio-pci because libvirt can't
easily know when QEMU will want to grab another /dev/vfio/vfio
container. Therefore we abandoned this approach and instead libvirt
grants file permissions.
However, with iommufd there's no reason that QEMU ever needs more than
a single instance of /dev/iommufd and we're using per device vfio file
descriptors, so it seems like a good time to revisit this.
The interface I was considering would be to add an iommufd object to
QEMU, so we might have a:
-device iommufd[,fd=#][,id=foo]
For non-libivrt usage this would have the ability to open /dev/iommufd
itself if an fd is not provided. This object could be shared with
other iommufd users in the VM and maybe we'd allow multiple instances
for more esoteric use cases. [NB, maybe this should be a -object rather than
-device since the iommufd is not a guest visible device?]
The vfio-pci device might then become:
-device vfio-pci[,host=DDDD:BB:DD.f][,sysfsdev=/sys/path/to/device][,fd=#][,iommufd=foo]
So essentially we can specify the device via host, sysfsdev, or passing
an fd to the vfio device file. When an iommufd object is specified,
"foo" in the example above, each of those options would use the
vfio-device access mechanism, essentially the same as iommufd=on in
your example. With the fd passing option, an iommufd object would be
required and necessarily use device level access.
In your example, the iommufd=auto seems especially troublesome for
libvirt because QEMU is going to have different locked memory
requirements based on whether we're using type1 or iommufd, where the
latter resolves the duplicate accounting issues. libvirt needs to know
deterministically which backed is being used, which this proposal seems
to provide, while at the same time bringing us more in line with fd
passing. Thoughts? Thanks,
Alex
5
15
This is the multifd save prototype in its first semi-functional state,
now with both save and restore minimally functional.
Still as mentioned before, likely there are quite a few rough edges,
let me know what you think about this possible option.
changes from v2 are many, mainly:
* added ability to restore the VM from disk using multifd
* fixed the multifd-helper to work in both directions,
assuming the need to listen for save, and connect for restore.
* fixed a large number of bugs, and probably introduced some :-)
KNOWN ISSUES:
1) this applies only to virsh save and virsh restore for now
(no managed save etc).
2) the .pl scripts to generate the headers for the new APIs
do not reliably work for me, for the Restore case. I get:
src/remote/remote_daemon_dispatch_stubs.h:10080:9:
error: too few arguments to function ‘virDomainRestoreParametersFlags’
if (virDomainRestoreParametersFlags(params, nparams, args->flags) < 0)
To work around this I had to fixup the header manually to look like:
...(conn, params, nparams, args->flags) < 0)
Thanks for your thoughts,
Claudio
Claudio Fontana (19):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
libvirt: introduce virDomainSaveParametersFlags public API
libvirt: introduce virDomainRestoreParametersFlags public API
remote: Add RPC support for the virDomainSaveParametersFlags API
remote: Add RPC support for the virDomainRestoreParametersFlags API
qemu: add a stub for virDomainSaveParametersFlags API
qemu: add a stub for virDomainRestoreParametersFlags API
qemu: saveimage: introduce virQEMUSaveFd
iohelper: move runIO function to a separate module
runio: add arguments to extend use beyond just stdin and stdout
multifd-helper: new helper for parallel save/restore
qemu: wire up saveimage code with the multifd helper
qemu: implement qemuMigrationSrcToFilesMultiFd
qemu: add parameter to qemuMigrationDstRun to skip waiting
qemu: implement qemuSaveImageLoadMultiFd
tools: add parallel parameter to virsh save command
tools: add parallel parameter to virsh restore command
qemu: add migration parameter multifd-compression
docs/manpages/virsh.rst | 34 ++-
include/libvirt/libvirt-domain.h | 13 +
src/driver-hypervisor.h | 14 +
src/libvirt-domain.c | 99 +++++++
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 6 +
src/qemu/qemu_capabilities.c | 5 +
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_driver.c | 233 +++++++++++----
src/qemu/qemu_migration.c | 155 ++++++----
src/qemu/qemu_migration.h | 16 +-
src/qemu/qemu_migration_params.c | 71 +++--
src/qemu/qemu_migration_params.h | 15 +
src/qemu/qemu_process.c | 3 +-
src/qemu/qemu_process.h | 5 +-
src/qemu/qemu_saveimage.c | 480 ++++++++++++++++++++++++-------
src/qemu/qemu_saveimage.h | 49 +++-
src/qemu/qemu_snapshot.c | 6 +-
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 29 +-
src/remote_protocol-structs | 17 ++
src/util/iohelper.c | 150 +---------
src/util/meson.build | 15 +
src/util/multifd-helper.c | 250 ++++++++++++++++
src/util/runio.c | 214 ++++++++++++++
src/util/runio.h | 38 +++
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
tools/virsh-domain.c | 96 +++++--
29 files changed, 1599 insertions(+), 426 deletions(-)
create mode 100644 src/util/multifd-helper.c
create mode 100644 src/util/runio.c
create mode 100644 src/util/runio.h
--
2.34.1
3
34
[PATCH] build-aux: remove duplicated syntax check filter for 'select'
by Daniel P. Berrangé 28 Apr '22
by Daniel P. Berrangé 28 Apr '22
28 Apr '22
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
build-aux/syntax-check.mk | 3 ---
1 file changed, 3 deletions(-)
diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk
index 66ebc3e066..6664763faf 100644
--- a/build-aux/syntax-check.mk
+++ b/build-aux/syntax-check.mk
@@ -1621,9 +1621,6 @@ exclude_file_name_regexp--sc_prohibit_newline_at_end_of_diagnostic = \
exclude_file_name_regexp--sc_prohibit_nonreentrant = \
^((po|tests|examples)/|docs/.*(py|js|html\.in|.rst)|run.in$$|tools/wireshark/util/genxdrstub\.pl|tools/virt-login-shell\.c$$)
-exclude_file_name_regexp--sc_prohibit_select = \
- ^build-aux/syntax-check\.mk$$
-
exclude_file_name_regexp--sc_prohibit_canonicalize_file_name = \
^(build-aux/syntax-check\.mk|tests/virfilemock\.c)$$
--
2.35.1
2
1
28 Apr '22
RFC, starting point for discussion.
Sketch API changes to allow parallel Saves, and open up
and implementation for QEMU to leverage multifd migration to files,
with optional multifd compression.
This allows to improve save times for huge VMs.
The idea is to issue commands like:
virsh save domain /path/savevm --parallel --parallel-connections 2
and have libvirt start a multifd migration to:
/path/savevm : main migration connection
/path/savevm.1 : multifd channel 1
/path/savevm.2 : multifd channel 2
Signed-off-by: Claudio Fontana <cfontana(a)suse.de>
---
include/libvirt/libvirt-domain.h | 5 +++++
src/driver-hypervisor.h | 7 +++++++
src/libvirt_public.syms | 5 +++++
src/qemu/qemu_driver.c | 1 +
tools/virsh-domain.c | 8 ++++++++
5 files changed, 26 insertions(+)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 2d5718301e..a7b9c4132d 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -1270,6 +1270,7 @@ typedef enum {
VIR_DOMAIN_SAVE_RUNNING = 1 << 1, /* Favor running over paused */
VIR_DOMAIN_SAVE_PAUSED = 1 << 2, /* Favor paused over running */
VIR_DOMAIN_SAVE_RESET_NVRAM = 1 << 3, /* Re-initialize NVRAM from template */
+ VIR_DOMAIN_SAVE_PARALLEL = 1 << 4, /* Parallel Save/Restore to multiple files */
} virDomainSaveRestoreFlags;
int virDomainSave (virDomainPtr domain,
@@ -1278,6 +1279,10 @@ int virDomainSaveFlags (virDomainPtr domain,
const char *to,
const char *dxml,
unsigned int flags);
+int virDomainSaveParametersFlags (virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
int virDomainRestore (virConnectPtr conn,
const char *from);
int virDomainRestoreFlags (virConnectPtr conn,
diff --git a/src/driver-hypervisor.h b/src/driver-hypervisor.h
index 4423eb0885..a4e1d21e76 100644
--- a/src/driver-hypervisor.h
+++ b/src/driver-hypervisor.h
@@ -240,6 +240,12 @@ typedef int
const char *dxml,
unsigned int flags);
+typedef int
+(*virDrvDomainSaveParametersFlags)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
typedef int
(*virDrvDomainRestore)(virConnectPtr conn,
const char *from);
@@ -1489,6 +1495,7 @@ struct _virHypervisorDriver {
virDrvDomainGetControlInfo domainGetControlInfo;
virDrvDomainSave domainSave;
virDrvDomainSaveFlags domainSaveFlags;
+ virDrvDomainSaveParametersFlags domainSaveParametersFlags;
virDrvDomainRestore domainRestore;
virDrvDomainRestoreFlags domainRestoreFlags;
virDrvDomainSaveImageGetXMLDesc domainSaveImageGetXMLDesc;
diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
index f93692c427..eb3a7afb75 100644
--- a/src/libvirt_public.syms
+++ b/src/libvirt_public.syms
@@ -916,4 +916,9 @@ LIBVIRT_8.0.0 {
virDomainSetLaunchSecurityState;
} LIBVIRT_7.8.0;
+LIBVIRT_8.3.0 {
+ global:
+ virDomainSaveParametersFlags;
+} LIBVIRT_8.0.0;
+
# .... define new API here using predicted next version number ....
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 77012eb527..249105356c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20826,6 +20826,7 @@ static virHypervisorDriver qemuHypervisorDriver = {
.domainGetControlInfo = qemuDomainGetControlInfo, /* 0.9.3 */
.domainSave = qemuDomainSave, /* 0.2.0 */
.domainSaveFlags = qemuDomainSaveFlags, /* 0.9.4 */
+ .domainSaveParametersFlags = qemuDomainSaveParametersFlags, /* 8.3.0 */
.domainRestore = qemuDomainRestore, /* 0.2.0 */
.domainRestoreFlags = qemuDomainRestoreFlags, /* 0.9.4 */
.domainSaveImageGetXMLDesc = qemuDomainSaveImageGetXMLDesc, /* 0.9.4 */
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index d5fd8be7c3..ccded6d265 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -4164,6 +4164,14 @@ static const vshCmdOptDef opts_save[] = {
.type = VSH_OT_BOOL,
.help = N_("avoid file system cache when saving")
},
+ {.name = "parallel",
+ .type = VSH_OT_BOOL,
+ .help = N_("enable parallel save to files")
+ },
+ {.name = "parallel-connections",
+ .type = VSH_OT_INT,
+ .help = N_("number of connections/files for parallel save")
+ },
{.name = "xml",
.type = VSH_OT_STRING,
.completer = virshCompletePathLocalExisting,
--
2.34.1
4
12
27 Apr '22
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
NEWS.rst | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 7ad8b9ec0b..c9b0ad42ed 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -15,6 +15,11 @@ v8.3.0 (unreleased)
* **Removed features**
+ * qemu: Remove support for QEMU < 3.1
+
+ In accordance with our platform support policy, the oldest supported QEMU
+ version is now bumped from 2.11 to 3.1.
+
* **New features**
* qemu: Introduce support for virtio-iommu
--
2.35.1
2
1
These two pointers can never be NULL since they are initialised to a reference
of a struct. This became apparent when commit 210a19539447 added a VIR_DEBUG
which used both pointers because due to the concise condition the compiler saw
that if the "and" part of the condition did short-circuit (and it assumed that
can happen) the second variable would not be initialised, but it is used in the
debugging message, so the build failed with:
In file included from ../src/cpu/cpu_x86.c:27:
../src/cpu/cpu_x86.c: In function ‘virCPUx86DataIsIdentical’:
../src/util/virlog.h:79:5: error: ‘bdata’ may be used uninitialized in this
function [-Werror=maybe-uninitialized]
Fix this by just assigning the helper pointers and remove the condition
altogether.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Pushed under the build-breaker rule, but feel free to review/object.
src/cpu/cpu_x86.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 7e9d1cea47d1..a5eac7601cad 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -3314,10 +3314,8 @@ virCPUx86DataIsIdentical(const virCPUData *a,
return VIR_CPU_COMPARE_INCOMPATIBLE;
}
- if (!((adata = &a->data.x86) && (bdata = &b->data.x86))) {
- VIR_DEBUG("missing x86 data: a:%p b:%p", adata, bdata);
- return VIR_CPU_COMPARE_ERROR;
- }
+ adata = &a->data.x86;
+ bdata = &b->data.x86;
if (adata->len != bdata->len) {
VIR_DEBUG("unequal length a:%zu b:%zu", adata->len, bdata->len);
--
2.35.1
2
2
[libvirt PATCH] util: fix double destroy / missing unref of GSource
by Daniel P. Berrangé 27 Apr '22
by Daniel P. Berrangé 27 Apr '22
27 Apr '22
A leak of the GSource was introduced in
commit 87a43a907f0ad4897a28ad7c216bc70f37270b93
Author: Michal Prívozník <mprivozn(a)redhat.com>
Date: Fri Jan 28 18:42:45 2022 +0100
lib: Use g_clear_pointer() more
As it mistakenly replaced the g_vir_source_unref call with a second
call to g_source_destroy.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/util/vireventglib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/vireventglib.c b/src/util/vireventglib.c
index fc04d8f712..3cc42597fd 100644
--- a/src/util/vireventglib.c
+++ b/src/util/vireventglib.c
@@ -227,7 +227,7 @@ virEventGLibHandleUpdate(int watch,
goto cleanup;
VIR_DEBUG("Removed old handle source=%p", data->source);
- g_source_destroy(data->source);
+ vir_g_source_unref(data->source, NULL);
g_clear_pointer(&data->source, g_source_destroy);
data->events = 0;
}
--
2.35.1
2
1
We do not need VIR_DOMAIN_VIRT_QEMU to get qemu default
version. With the 'os_type' and 'arch'in capabilities,
we could identify 'emulator' which is enough to get the version.
Actually VIR_DOMAIN_VIRT_QEMU is not the only domain virt type for
qemu driver, there are VIR_DOMAIN_VIRT_KVM and VIR_DOMAIN_VIRT_HVF.
If TCG is disabled in qemu, it will cause the error that could not
find suitable emulater when access version.
Signed-off-by: Liang Yan <lyan(a)digtalocean.com>
---
src/qemu/qemu_capabilities.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index b91db851bb..9a0b7ebeb4 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1857,7 +1857,7 @@ int virQEMUCapsGetDefaultVersion(virCaps *caps,
hostarch = virArchFromHost();
if (!(capsdata = virCapabilitiesDomainDataLookup(caps,
- VIR_DOMAIN_OSTYPE_HVM, hostarch, VIR_DOMAIN_VIRT_QEMU,
+ VIR_DOMAIN_OSTYPE_HVM, hostarch, VIR_DOMAIN_VIRT_NONE,
NULL, NULL))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Cannot find suitable emulator for %s"),
--
2.34.1
1
0
The following changes since commit a1755db71e34df016ffc10aa0727360aae2c6036:
Merge tag 'pull-block-2022-04-25' of https://gitlab.com/hreitz/qemu into staging (2022-04-25 13:35:41 -0700)
are available in the Git repository at:
https://gitlab.com/berrange/qemu tags/misc-next-pull-request
for you to fetch changes up to 5cf434b5af386fadc3418df71d3738676cbb0549:
github: fix config mistake preventing repo lockdown commenting (2022-04-26 16:12:26 +0100)
----------------------------------------------------------------
Misc patch queue
* Removes depecated --enable-fips QEMU system emulator option
* Fixes array bounds check in keycode conversion for ESCC device
----------------------------------------------------------------
Daniel P. Berrangé (3):
softmmu: remove deprecated --enable-fips option
hw/char: fix qcode array bounds check in ESCC impl
github: fix config mistake preventing repo lockdown commenting
.github/workflows/lockdown.yml | 6 +++---
docs/about/deprecated.rst | 12 ------------
docs/about/removed-features.rst | 11 +++++++++++
hw/char/escc.c | 2 +-
include/qemu/osdep.h | 3 ---
os-posix.c | 8 --------
qemu-options.hx | 10 ----------
ui/vnc.c | 7 -------
util/osdep.c | 28 ----------------------------
9 files changed, 15 insertions(+), 72 deletions(-)
--
2.35.1
2
4
It belongs to the comment for VIR_DOMAIN_AFFECT_CONFIG, not to
the unrelated one immediately after it.
Fixes: 807cdbf75976f88e8a23b26951f263029cc9e5f4
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
include/libvirt/libvirt-domain.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 6fed42c47a..9386f5189c 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -323,8 +323,8 @@ typedef virDomainControlInfo *virDomainControlInfoPtr;
typedef enum {
VIR_DOMAIN_AFFECT_CURRENT = 0, /* Affect current domain state. (Since: v0.9.2) */
VIR_DOMAIN_AFFECT_LIVE = 1 << 0, /* Affect running domain state. (Since: v0.9.2) */
- VIR_DOMAIN_AFFECT_CONFIG = 1 << 1, /* Affect persistent domain state. */
- /* 1 << 2 is reserved for virTypedParameterFlags (Since: v0.9.2) */
+ VIR_DOMAIN_AFFECT_CONFIG = 1 << 1, /* Affect persistent domain state. (Since: v0.9.2) */
+ /* 1 << 2 is reserved for virTypedParameterFlags */
} virDomainModificationImpact;
/**
--
2.35.1
1
0
Libvirt domain XML currently allows only local filepaths
that can be used to specify a NVRAM disk.
Since, VMs can migrate across hypervisor hosts, it should be
possible to allocate NVRAM disks on network storage for
uninterrupted access.
This series extends the NVRAM element to support hosting over
network-backed disks, for high availability.
It achieves this by embedding virStorageSource pointer for
nvram into _virDomainLoaderDef.
It introduces a 'type' attribute for NVRAM element to
specify 'file' vs 'network' backed NVRAM.
Changes v1->v2:
- Split the patch into smaller patches
- Added unit test
- Updated the doc
- Addressed Peter's comment on v1 (https://listman.redhat.com/archives/libvir-list/2022-March/229684.html)
Rohit Kumar (8):
Make NVRAM a virStorageSource type.
Add support to parse/format virStorageSource type NVRAM
Validate remote store NVRAM
Cleanup diskSourceNetwork and diskSourceFile schema
Update XML schema to support network backed NVRAM
Update NVRAM documentation
Add unit test for network backed NVRAM
Add unit test to support new 'file' type NVRAM
docs/formatdomain.rst | 43 +++++++--
src/conf/domain_conf.c | 88 ++++++++++++++++---
src/conf/domain_conf.h | 2 +-
src/conf/schemas/domaincommon.rng | 80 +++++++++++------
src/qemu/qemu_cgroup.c | 3 +-
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_domain.c | 14 +--
src/qemu/qemu_driver.c | 5 +-
src/qemu/qemu_firmware.c | 23 +++--
src/qemu/qemu_namespace.c | 5 +-
src/qemu/qemu_process.c | 5 +-
src/qemu/qemu_validate.c | 22 +++++
src/security/security_dac.c | 6 +-
src/security/security_selinux.c | 6 +-
src/security/virt-aa-helper.c | 5 +-
src/vbox/vbox_common.c | 2 +-
.../bios-nvram-file.x86_64-latest.args | 37 ++++++++
tests/qemuxml2argvdata/bios-nvram-file.xml | 23 +++++
.../bios-nvram-network.x86_64-latest.args | 37 ++++++++
tests/qemuxml2argvdata/bios-nvram-network.xml | 25 ++++++
tests/qemuxml2argvtest.c | 2 +
21 files changed, 360 insertions(+), 75 deletions(-)
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-network.xml
--
2.25.1
3
34
[libvirt PATCH] ci: print test suite logs on failure for Cirrus jobs
by Daniel P. Berrangé 26 Apr '22
by Daniel P. Berrangé 26 Apr '22
26 Apr '22
We don't have access to the 'testlog.txt' file, so we need meson to
print the failures for any broken tests directly.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
The CI pipeline for macOS started failing a few days ago. It was not
triggered by any commit, as the pipeline immediately preceeding the
first failure used the same commit hash on master. The logs show
glib2 being updated from 2.72.0 to 2.72.1
With this patch applied I can see the test logs
https://gitlab.com/berrange/libvirt/-/jobs/2376891003
and all the failing tests are hitting:
(process:50961): GLib-WARNING **: 01:56:14.162: poll(2) failed due to:
Bad file descriptor.
so something todo with the QEMU monitor/event loop AFAIK, but not
sure what.
ci/cirrus/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml
index 867d5f297b..f03ad58143 100644
--- a/ci/cirrus/build.yml
+++ b/ci/cirrus/build.yml
@@ -26,4 +26,4 @@ build_task:
- meson setup build
- meson dist -C build --no-tests
- meson compile -C build
- - meson test -C build --no-suite syntax-check
+ - meson test -C build --no-suite syntax-check --print-errorlogs
--
2.35.1
2
2
apibuild.py mistakes these as being a continuation of the
previous comment.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial-ish and necessary to unblock Victor's work.
include/libvirt/libvirt-domain-snapshot.h | 2 --
include/libvirt/libvirt-domain.h | 2 --
2 files changed, 4 deletions(-)
diff --git a/include/libvirt/libvirt-domain-snapshot.h b/include/libvirt/libvirt-domain-snapshot.h
index 35eeb21e27..9181cc1f38 100644
--- a/include/libvirt/libvirt-domain-snapshot.h
+++ b/include/libvirt/libvirt-domain-snapshot.h
@@ -123,8 +123,6 @@ typedef enum {
not just children, when
listing a snapshot */
- /* For historical reasons, groups do not use contiguous bits. */
-
VIR_DOMAIN_SNAPSHOT_LIST_LEAVES = (1 << 2), /* Filter by snapshots
with no children */
VIR_DOMAIN_SNAPSHOT_LIST_NO_LEAVES = (1 << 3), /* Filter by snapshots
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 3dfcd14b9c..f8f1ff2ce2 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -2148,8 +2148,6 @@ typedef enum {
VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA = (1 << 4), /* If last use of domain,
then also remove any
checkpoint metadata */
-
- /* Future undefine control flags should come here. */
} virDomainUndefineFlagsValues;
--
2.35.1
1
0
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial
include/libvirt/libvirt-domain.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 0fa4509b73..3dfcd14b9c 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -2793,15 +2793,15 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
# define VIR_PERF_PARAM_TASK_CLOCK "task_clock"
/**
-* VIR_PERF_PARAM_PAGE_FAULTS:
-*
-* Macro for typed parameter name that represents page_faults
-* perf event which can be used to measure the count of page
-* faults by applications running on the platform. It corresponds
-* to the "perf.page_faults" field in the *Stats APIs.
-*
-* Since: v3.2.0
-*/
+ * VIR_PERF_PARAM_PAGE_FAULTS:
+ *
+ * Macro for typed parameter name that represents page_faults
+ * perf event which can be used to measure the count of page
+ * faults by applications running on the platform. It corresponds
+ * to the "perf.page_faults" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ */
# define VIR_PERF_PARAM_PAGE_FAULTS "page_faults"
/**
--
2.35.1
1
0
[PATCH][RESEND] processMonitorEOFEvent:fix delet Domain object about the new VM in processMonitorEOFEvent()
by Yi Wang 26 Apr '22
by Yi Wang 26 Apr '22
26 Apr '22
From: 王鹏钧10288409 <10288409@zte.intra@LIN-184C297BAE7.zte.com.cn>
Virsh shutdown is executed firstly, virsh destroy is executed later,
and VM is recreated again. In this process, due to will delet Domain
object about the new VM in processMonitorEOFEvent(), which
virDomainObjListRemove is called to remove objlist, the new VM
cannot be found through virsh list command and qemu process is still
running. Therefore, add virDomainObjListFindByName function checks
to avoid delet Domain object about the new VM in objlist.
This process chart of problem is as follows
shutdown | destroy | create
============================+==================+===================
qemuMonitorIO | |
qemuProcessHandleMonitorEOF | |
| virDomainDestroy |
| qemuProcessStop |
| | qemuDomainCreateXML
| | qemuProcessInit
processMonitorEOFEvent | |
qemuDomainRemoveInactive | |
| | qemuProcessLaunch
Signed-off-by: Wang PengJun <wang.pengjun1(a)zte.com.cn>
Signed-off-by: Yi Wang <wang.yi59(a)zte.com.cn>
---
src/qemu/qemu_driver.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ee0963c30d..a504f89724 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4024,6 +4024,7 @@ processMonitorEOFEvent(virQEMUDriver *driver,
const char *auditReason = "shutdown";
unsigned int stopFlags = 0;
virObjectEvent *event = NULL;
+ virDomainObj *obj;
if (qemuProcessBeginStopJob(driver, vm, VIR_JOB_DESTROY, true) < 0)
return;
@@ -4055,7 +4056,12 @@ processMonitorEOFEvent(virQEMUDriver *driver,
virObjectEventStateQueue(driver->domainEventState, event);
endjob:
- qemuDomainRemoveInactive(driver, vm);
+ virObjectUnlock(vm);
+ obj = virDomainObjListFindByName(driver->domains, vm->def->name);
+ if (vm == obj)
+ qemuDomainRemoveInactive(driver, vm);
+ virDomainObjEndAPI(&obj);
+ virObjectLock(vm);
qemuDomainObjEndJob(vm);
}
--
2.27.0
1
0
[PATCH] tests: qemucapabilities: Update qemu caps dump for the qemu-7.0.0 release on x86_64
by Peter Krempa 25 Apr '22
by Peter Krempa 25 Apr '22
25 Apr '22
Few minor changes in qemu since the last update:
- PIIX4_PM gained 'x-not-migrate-acpi-index' property
- 'cocoa' display and corresponding props (not present in this build)
Changes in build:
- dbus display driver re-enabled
- gtk display support re-disabled
- xen support re-disabled
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../caps_7.0.0.x86_64.replies | 583 ++++++++----------
.../caps_7.0.0.x86_64.xml | 10 +-
2 files changed, 257 insertions(+), 336 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
index d1f453dcca..620442704a 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
@@ -17,11 +17,11 @@
{
"return": {
"qemu": {
- "micro": 92,
- "minor": 2,
- "major": 6
+ "micro": 0,
+ "minor": 0,
+ "major": 7
},
- "package": "v7.0.0-rc2"
+ "package": "v7.0.0"
},
"id": "libvirt-2"
}
@@ -5119,10 +5119,6 @@
"name": "135",
"tag": "type",
"variants": [
- {
- "case": "gtk",
- "type": "358"
- },
{
"case": "curses",
"type": "360"
@@ -5131,6 +5127,10 @@
"case": "egl-headless",
"type": "361"
},
+ {
+ "case": "dbus",
+ "type": "362"
+ },
{
"case": "default",
"type": "0"
@@ -10498,6 +10498,10 @@
"case": "qemu-vdagent",
"type": "518"
},
+ {
+ "case": "dbus",
+ "type": "519"
+ },
{
"case": "vc",
"type": "520"
@@ -11756,9 +11760,6 @@
{
"name": "none"
},
- {
- "name": "gtk"
- },
{
"name": "sdl"
},
@@ -11770,17 +11771,20 @@
},
{
"name": "spice-app"
+ },
+ {
+ "name": "dbus"
}
],
"meta-type": "enum",
"values": [
"default",
"none",
- "gtk",
"sdl",
"egl-headless",
"curses",
- "spice-app"
+ "spice-app",
+ "dbus"
]
},
{
@@ -16067,6 +16071,9 @@
{
"name": "qemu-vdagent"
},
+ {
+ "name": "dbus"
+ },
{
"name": "vc"
},
@@ -16097,6 +16104,7 @@
"spicevmc",
"spiceport",
"qemu-vdagent",
+ "dbus",
"vc",
"ringbuf",
"memory"
@@ -16202,6 +16210,16 @@
],
"meta-type": "object"
},
+ {
+ "name": "519",
+ "members": [
+ {
+ "name": "data",
+ "type": "618"
+ }
+ ],
+ "meta-type": "object"
+ },
{
"name": "520",
"members": [
@@ -18460,6 +18478,26 @@
],
"meta-type": "object"
},
+ {
+ "name": "618",
+ "members": [
+ {
+ "name": "logfile",
+ "default": null,
+ "type": "str"
+ },
+ {
+ "name": "logappend",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "name",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
{
"name": "619",
"members": [
@@ -20363,10 +20401,6 @@
"name": "acpi-erst",
"parent": "pci-device"
},
- {
- "name": "virtio-crypto-device",
- "parent": "virtio-device"
- },
{
"name": "isa-applesmc",
"parent": "isa-device"
@@ -20379,49 +20413,53 @@
"name": "vhost-user-input-pci",
"parent": "vhost-user-input-pci-base-type"
},
+ {
+ "name": "usb-redir",
+ "parent": "usb-device"
+ },
{
"name": "floppy-bus",
"parent": "bus"
},
{
- "name": "Denverton-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "virtio-crypto-device",
+ "parent": "virtio-device"
},
{
"name": "chardev-testdev",
"parent": "chardev"
},
{
- "name": "usb-wacom-tablet",
- "parent": "usb-device"
+ "name": "Denverton-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
- "name": "Icelake-Server-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "pci-ipmi-bt",
+ "parent": "pci-device"
},
{
"name": "chardev-stdio",
"parent": "chardev-fd"
},
{
- "name": "pci-ipmi-bt",
- "parent": "pci-device"
+ "name": "usb-wacom-tablet",
+ "parent": "usb-device"
},
{
"name": "filter-buffer",
"parent": "netfilter"
},
{
- "name": "secondary-vga",
- "parent": "pci-vga"
+ "name": "Icelake-Server-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "ich9-usb-uhci6",
"parent": "pci-uhci-usb"
},
{
- "name": "usb-redir",
- "parent": "usb-device"
+ "name": "secondary-vga",
+ "parent": "pci-vga"
},
{
"name": "kvm-pit",
@@ -20451,14 +20489,14 @@
"name": "sev-guest",
"parent": "confidential-guest-support"
},
- {
- "name": "core2duo-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "ich9-usb-uhci5",
"parent": "pci-uhci-usb"
},
+ {
+ "name": "core2duo-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "pcm3680_pci",
"parent": "pci-device"
@@ -20619,10 +20657,6 @@
"name": "pxb-host",
"parent": "pci-host-bridge"
},
- {
- "name": "virtio-scsi-pci",
- "parent": "virtio-scsi-pci-base"
- },
{
"name": "virtio-input-host-pci",
"parent": "virtio-input-host-pci-base-type"
@@ -20744,8 +20778,8 @@
"parent": "virtio-device"
},
{
- "name": "xenfv-4.2-machine",
- "parent": "generic-pc-machine"
+ "name": "virtio-scsi-pci",
+ "parent": "virtio-scsi-pci-base"
},
{
"name": "ipmi-bmc-extern",
@@ -20855,10 +20889,6 @@
"name": "pr-manager-helper",
"parent": "pr-manager"
},
- {
- "name": "virtio-scsi-device",
- "parent": "virtio-scsi-common"
- },
{
"name": "pc-i440fx-2.10-machine",
"parent": "generic-pc-machine"
@@ -20872,20 +20902,16 @@
"parent": "pci-device"
},
{
- "name": "xen-pci-passthrough",
- "parent": "pci-device"
- },
- {
- "name": "Haswell-IBRS-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "virtio-scsi-device",
+ "parent": "virtio-scsi-common"
},
{
"name": "pxb-pcie",
"parent": "pci-device"
},
{
- "name": "cpu-cluster",
- "parent": "device"
+ "name": "Haswell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "vhost-user-i2c-pci",
@@ -20896,7 +20922,7 @@
"parent": "object"
},
{
- "name": "xen-backend",
+ "name": "cpu-cluster",
"parent": "device"
},
{
@@ -20904,16 +20930,16 @@
"parent": "sys-bus-device"
},
{
- "name": "Haswell-v3-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "i82557a",
+ "parent": "pci-device"
},
{
"name": "vhost-user-scsi-pci-non-transitional",
"parent": "vhost-user-scsi-pci-base"
},
{
- "name": "i82557a",
- "parent": "pci-device"
+ "name": "vmmouse",
+ "parent": "isa-device"
},
{
"name": "chardev-udp",
@@ -20932,8 +20958,8 @@
"parent": "virtio-scsi-pci-base"
},
{
- "name": "vmmouse",
- "parent": "isa-device"
+ "name": "Haswell-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "migration",
@@ -20976,8 +21002,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "vhost-vsock-device",
- "parent": "vhost-vsock-common"
+ "name": "chardev-dbus",
+ "parent": "chardev-socket"
},
{
"name": "Broadwell-v2-x86_64-cpu",
@@ -20995,10 +21021,6 @@
"name": "EPYC-IBPB-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "Skylake-Server-v5-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "ib700",
"parent": "isa-device"
@@ -21008,7 +21030,7 @@
"parent": "x86-iommu"
},
{
- "name": "Nehalem-v2-x86_64-cpu",
+ "name": "Skylake-Server-v5-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
@@ -21016,16 +21038,16 @@
"parent": "virtio-9p-pci-base"
},
{
- "name": "igd-passthrough-i440FX",
- "parent": "i440FX"
+ "name": "Nehalem-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "memory-backend-file",
"parent": "memory-backend"
},
{
- "name": "xen-disk",
- "parent": "xen-block"
+ "name": "vhost-vsock-device",
+ "parent": "vhost-vsock-common"
},
{
"name": "isa-pcspk",
@@ -21036,25 +21058,21 @@
"parent": "vhost-scsi-common"
},
{
- "name": "usb-tablet",
- "parent": "usb-hid"
+ "name": "sd-card",
+ "parent": "device"
},
{
"name": "sysbus-ahci",
"parent": "sys-bus-device"
},
{
- "name": "sd-card",
- "parent": "device"
+ "name": "usb-tablet",
+ "parent": "usb-hid"
},
{
"name": "pc-q35-4.0.1-machine",
"parent": "generic-pc-machine"
},
- {
- "name": "IvyBridge-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "virtio-blk-pci-non-transitional",
"parent": "virtio-blk-pci-base"
@@ -21064,13 +21082,17 @@
"parent": "device"
},
{
- "name": "ne2k_pci",
- "parent": "pci-device"
+ "name": "IvyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "isabus-bridge",
"parent": "sys-bus-device"
},
+ {
+ "name": "ne2k_pci",
+ "parent": "pci-device"
+ },
{
"name": "usb-bus",
"parent": "bus"
@@ -21087,18 +21109,10 @@
"name": "tcg-accel",
"parent": "accel"
},
- {
- "name": "i82551",
- "parent": "pci-device"
- },
{
"name": "virtio-balloon-pci",
"parent": "virtio-balloon-pci-base"
},
- {
- "name": "Cascadelake-Server-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "virtio-gpu-device",
"parent": "virtio-gpu-base"
@@ -21107,6 +21121,10 @@
"name": "e1000",
"parent": "e1000-base"
},
+ {
+ "name": "Cascadelake-Server-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "athlon-v1-x86_64-cpu",
"parent": "x86_64-cpu"
@@ -21124,8 +21142,8 @@
"parent": "generic-pc-machine"
},
{
- "name": "xen-apic",
- "parent": "apic-common"
+ "name": "i82551",
+ "parent": "pci-device"
},
{
"name": "EPYC-v1-x86_64-cpu",
@@ -21159,14 +21177,14 @@
"name": "pc-q35-6.0-machine",
"parent": "generic-pc-machine"
},
- {
- "name": "mioe3680_pci",
- "parent": "pci-device"
- },
{
"name": "vhost-user-backend",
"parent": "object"
},
+ {
+ "name": "mioe3680_pci",
+ "parent": "pci-device"
+ },
{
"name": "vmxnet3",
"parent": "pci-device"
@@ -21204,24 +21222,24 @@
"parent": "smbus-device"
},
{
- "name": "virtio-serial-device",
- "parent": "virtio-device"
+ "name": "dbus-display",
+ "parent": "object"
},
{
- "name": "virtio-serial-pci",
- "parent": "virtio-serial-pci-base"
+ "name": "vhost-user-gpu-pci",
+ "parent": "vhost-user-gpu-pci-base-type"
},
{
- "name": "Denverton-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "virtio-serial-pci",
+ "parent": "virtio-serial-pci-base"
},
{
- "name": "xen-bridge",
- "parent": "sys-bus-device"
+ "name": "virtio-serial-device",
+ "parent": "virtio-device"
},
{
- "name": "vhost-user-gpu-pci",
- "parent": "vhost-user-gpu-pci-base-type"
+ "name": "Denverton-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "iothread",
@@ -21243,14 +21261,14 @@
"name": "ati-vga",
"parent": "pci-device"
},
- {
- "name": "pentium3-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "kvm-i8259",
"parent": "pic-common"
},
+ {
+ "name": "pentium3-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "isa-serial",
"parent": "isa-device"
@@ -21311,18 +21329,10 @@
"name": "Opteron_G3-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "xen-cdrom",
- "parent": "xen-block"
- },
{
"name": "Cooperlake-v2-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "EPYC-v3-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "isa-ide",
"parent": "isa-device"
@@ -21332,13 +21342,17 @@
"parent": "x86_64-cpu"
},
{
- "name": "sgx-epc",
- "parent": "device"
+ "name": "EPYC-v3-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "scsi-cd",
"parent": "scsi-disk-base"
},
+ {
+ "name": "sgx-epc",
+ "parent": "device"
+ },
{
"name": "gpex-root",
"parent": "pci-device"
@@ -21407,17 +21421,13 @@
"name": "VGA",
"parent": "pci-vga"
},
- {
- "name": "i440FX",
- "parent": "pci-device"
- },
{
"name": "qio-channel-buffer",
"parent": "qio-channel"
},
{
- "name": "xen-bus",
- "parent": "bus"
+ "name": "i440FX",
+ "parent": "pci-device"
},
{
"name": "Penryn-v1-x86_64-cpu",
@@ -21436,16 +21446,16 @@
"parent": "virtio-device"
},
{
- "name": "Icelake-Server-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "pc-i440fx-3.1-machine",
+ "parent": "generic-pc-machine"
},
{
"name": "pci-serial-4x",
"parent": "pci-device"
},
{
- "name": "pc-i440fx-3.1-machine",
- "parent": "generic-pc-machine"
+ "name": "Icelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "sga",
@@ -21516,11 +21526,11 @@
"parent": "usb-device"
},
{
- "name": "IvyBridge-x86_64-cpu",
+ "name": "SandyBridge-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "SandyBridge-v1-x86_64-cpu",
+ "name": "IvyBridge-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
@@ -21583,10 +21593,6 @@
"name": "ccid-bus",
"parent": "bus"
},
- {
- "name": "xen-pvdevice",
- "parent": "pci-device"
- },
{
"name": "ide-hd",
"parent": "ide-device"
@@ -21619,14 +21625,14 @@
"name": "pc-i440fx-4.1-machine",
"parent": "generic-pc-machine"
},
- {
- "name": "e1000-82544gc",
- "parent": "e1000-base"
- },
{
"name": "chardev-spiceport",
"parent": "chardev-spice"
},
+ {
+ "name": "e1000-82544gc",
+ "parent": "e1000-base"
+ },
{
"name": "tls-creds-x509",
"parent": "tls-creds"
@@ -21659,10 +21665,6 @@
"name": "isa-cirrus-vga",
"parent": "isa-device"
},
- {
- "name": "pvrdma",
- "parent": "pci-device"
- },
{
"name": "qemu64-x86_64-cpu",
"parent": "x86_64-cpu"
@@ -21671,6 +21673,10 @@
"name": "Skylake-Server-v2-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "chardev-braille",
+ "parent": "chardev"
+ },
{
"name": "pc-q35-4.1-machine",
"parent": "generic-pc-machine"
@@ -21703,14 +21709,14 @@
"name": "pc-testdev",
"parent": "isa-device"
},
- {
- "name": "qio-channel-websock",
- "parent": "qio-channel"
- },
{
"name": "megasas",
"parent": "megasas-base"
},
+ {
+ "name": "qio-channel-websock",
+ "parent": "qio-channel"
+ },
{
"name": "virtio-iommu-pci",
"parent": "virtio-iommu-pci-base-type"
@@ -21719,21 +21725,17 @@
"name": "pc-i440fx-6.1-machine",
"parent": "generic-pc-machine"
},
- {
- "name": "vmcoreinfo",
- "parent": "device"
- },
{
"name": "Icelake-Client-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "tpci200",
- "parent": "pci-device"
+ "name": "vmcoreinfo",
+ "parent": "device"
},
{
- "name": "chardev-braille",
- "parent": "chardev"
+ "name": "tpci200",
+ "parent": "pci-device"
},
{
"name": "rocker",
@@ -21767,10 +21769,6 @@
"name": "qemu-console",
"parent": "object"
},
- {
- "name": "chardev-socket",
- "parent": "chardev"
- },
{
"name": "clock",
"parent": "object"
@@ -21808,20 +21806,20 @@
"parent": "device"
},
{
- "name": "Skylake-Server-IBRS-x86_64-cpu",
+ "name": "Cascadelake-Server-noTSX-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "virtio-pmem",
- "parent": "virtio-device"
+ "name": "chardev-socket",
+ "parent": "chardev"
},
{
"name": "nvme-bus",
"parent": "bus"
},
{
- "name": "xen-sysbus",
- "parent": "bus"
+ "name": "virtconsole",
+ "parent": "virtserialport"
},
{
"name": "virtio-net-pci-non-transitional",
@@ -21839,14 +21837,14 @@
"name": "scsi-hd",
"parent": "scsi-disk-base"
},
- {
- "name": "Cascadelake-Server-noTSX-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "usb-kbd",
"parent": "usb-hid"
},
+ {
+ "name": "lsi53c810",
+ "parent": "lsi53c895a"
+ },
{
"name": "isa-fdc",
"parent": "isa-device"
@@ -21872,24 +21870,24 @@
"parent": "object"
},
{
- "name": "Westmere-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "ccid-card-emulated",
+ "parent": "ccid-card"
},
{
"name": "pc-q35-2.9-machine",
"parent": "generic-pc-machine"
},
{
- "name": "Skylake-Client-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "virtio-pmem",
+ "parent": "virtio-device"
},
{
"name": "tpm-tis",
"parent": "isa-device"
},
{
- "name": "virtconsole",
- "parent": "virtserialport"
+ "name": "Skylake-Server-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "hyperv-testdev",
@@ -21912,8 +21910,8 @@
"parent": "generic-pc-machine"
},
{
- "name": "ccid-card-emulated",
- "parent": "ccid-card"
+ "name": "Westmere-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "pc-q35-5.1-machine",
@@ -21928,8 +21926,8 @@
"parent": "virtio-input-hid-device"
},
{
- "name": "lsi53c810",
- "parent": "lsi53c895a"
+ "name": "Skylake-Client-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "ioh3420",
@@ -22031,10 +22029,6 @@
"name": "phenom-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "virtio-net-pci-transitional",
- "parent": "virtio-net-pci-base"
- },
{
"name": "vhost-vsock-pci",
"parent": "vhost-vsock-pci-base"
@@ -22044,8 +22038,8 @@
"parent": "device"
},
{
- "name": "vhost-user-blk-pci-transitional",
- "parent": "vhost-user-blk-pci-base"
+ "name": "virtio-net-pci-transitional",
+ "parent": "virtio-net-pci-base"
},
{
"name": "irq",
@@ -22072,8 +22066,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "xenfv-3.1-machine",
- "parent": "generic-pc-machine"
+ "name": "vhost-user-blk-pci-transitional",
+ "parent": "vhost-user-blk-pci-base"
},
{
"name": "coreduo-x86_64-cpu",
@@ -22159,21 +22153,17 @@
"name": "Skylake-Server-v4-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "kvmvapic",
- "parent": "sys-bus-device"
- },
{
"name": "Nehalem-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "nvme-ns",
- "parent": "device"
+ "name": "kvmvapic",
+ "parent": "sys-bus-device"
},
{
- "name": "authz-simple",
- "parent": "authz"
+ "name": "nvme-ns",
+ "parent": "device"
},
{
"name": "Icelake-Server-v6-x86_64-cpu",
@@ -22192,8 +22182,8 @@
"parent": "vhost-user-blk-pci-base"
},
{
- "name": "xen-accel",
- "parent": "accel"
+ "name": "authz-simple",
+ "parent": "authz"
},
{
"name": "fw_cfg_io",
@@ -22311,18 +22301,10 @@
"name": "qemu32-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "xen-sysdev",
- "parent": "sys-bus-device"
- },
{
"name": "Haswell-noTSX-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "chardev-null",
- "parent": "chardev"
- },
{
"name": "pci-serial",
"parent": "pci-device"
@@ -22351,10 +22333,6 @@
"name": "Opteron_G4-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "qio-channel-rdma",
- "parent": "qio-channel"
- },
{
"name": "ne2k_isa",
"parent": "isa-device"
@@ -22375,14 +22353,14 @@
"name": "vhost-user-gpu",
"parent": "virtio-gpu-base"
},
- {
- "name": "pentium-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "hda-duplex",
"parent": "hda-audio"
},
+ {
+ "name": "pentium-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "amd-iommu-iommu-memory-region",
"parent": "iommu-memory-region"
@@ -22396,17 +22374,13 @@
"parent": "pci-device"
},
{
- "name": "Cooperlake-v1-x86_64-cpu",
+ "name": "Nehalem-IBRS-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
"name": "Cascadelake-Server-v3-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "vhost-user-rng-pci",
- "parent": "vhost-user-rng-pci-base"
- },
{
"name": "cfi.pflash01",
"parent": "sys-bus-device"
@@ -22416,8 +22390,12 @@
"parent": "virtio-device"
},
{
- "name": "isa-parallel",
- "parent": "isa-device"
+ "name": "chardev-null",
+ "parent": "chardev"
+ },
+ {
+ "name": "Cooperlake-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "Skylake-Server-x86_64-cpu",
@@ -22428,16 +22406,16 @@
"parent": "generic-pc-machine"
},
{
- "name": "Nehalem-IBRS-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "isa-parallel",
+ "parent": "isa-device"
},
{
"name": "pentium2-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "xen-platform",
- "parent": "pci-device"
+ "name": "vhost-user-rng-pci",
+ "parent": "vhost-user-rng-pci-base"
},
{
"name": "isa-vga",
@@ -22476,20 +22454,20 @@
"parent": "rng-backend"
},
{
- "name": "Cascadelake-Server-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "qxl-vga",
+ "parent": "pci-qxl"
},
{
"name": "i82558b",
"parent": "pci-device"
},
{
- "name": "ivshmem-doorbell",
- "parent": "ivshmem-common"
+ "name": "Cascadelake-Server-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
- "name": "qxl-vga",
- "parent": "pci-qxl"
+ "name": "ivshmem-doorbell",
+ "parent": "ivshmem-common"
},
{
"name": "PIIX3-xen",
@@ -22672,8 +22650,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "kvm64-v1-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "pcie-root-port",
+ "parent": "pcie-root-port-base"
},
{
"name": "IDE",
@@ -22684,8 +22662,8 @@
"parent": "x86_64-cpu"
},
{
- "name": "pcie-root-port",
- "parent": "pcie-root-port-base"
+ "name": "kvm64-v1-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "mptsas1068",
@@ -22696,17 +22674,13 @@
"parent": "scsi-disk-base"
},
{
- "name": "xenpv-machine",
- "parent": "machine"
+ "name": "chardev-spicevmc",
+ "parent": "chardev-spice"
},
{
"name": "Snowridge-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "chardev-spicevmc",
- "parent": "chardev-spice"
- },
{
"name": "q35-pcihost",
"parent": "pcie-host-bridge"
@@ -22771,6 +22745,10 @@
"name": "vhost-user-blk",
"parent": "virtio-device"
},
+ {
+ "name": "SandyBridge-v2-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "nvme-subsys",
"parent": "device"
@@ -22779,10 +22757,6 @@
"name": "Haswell-noTSX-IBRS-x86_64-cpu",
"parent": "x86_64-cpu"
},
- {
- "name": "SandyBridge-v2-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "pc-q35-5.2-machine",
"parent": "generic-pc-machine"
@@ -24538,6 +24512,11 @@
"name": "smm-compat",
"type": "bool"
},
+ {
+ "default-value": false,
+ "name": "x-not-migrate-acpi-index",
+ "type": "bool"
+ },
{
"default-value": 2,
"name": "s4_val",
@@ -29178,13 +29157,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": false,
- "name": "xenpv",
- "numa-mem-supported": false,
- "cpu-max": 1,
- "deprecated": false
- },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-6.2",
@@ -29283,16 +29255,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": true,
- "name": "xenfv-3.1",
- "numa-mem-supported": true,
- "default-cpu-type": "qemu64-x86_64-cpu",
- "cpu-max": 128,
- "deprecated": false,
- "default-ram-id": "pc.ram",
- "alias": "xenfv"
- },
{
"hotpluggable-cpus": true,
"name": "pc-q35-2.4",
@@ -29582,15 +29544,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": true,
- "name": "xenfv-4.2",
- "numa-mem-supported": true,
- "default-cpu-type": "qemu64-x86_64-cpu",
- "cpu-max": 128,
- "deprecated": false,
- "default-ram-id": "pc.ram"
- },
{
"hotpluggable-cpus": false,
"name": "microvm",
@@ -32035,41 +31988,6 @@
],
"option": "machine"
},
- {
- "parameters": [
- {
- "name": "timeout",
- "help": "Request timeout in seconds (default 0 = no timeout)",
- "type": "number"
- },
- {
- "name": "initiator-name",
- "help": "Initiator iqn name to use when connecting",
- "type": "string"
- },
- {
- "name": "header-digest",
- "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
- "type": "string"
- },
- {
- "name": "password-secret",
- "help": "ID of the secret providing password for CHAP authentication to target",
- "type": "string"
- },
- {
- "name": "password",
- "help": "password for CHAP authentication to target",
- "type": "string"
- },
- {
- "name": "user",
- "help": "username for CHAP authentication to target",
- "type": "string"
- }
- ],
- "option": "iscsi"
- },
{
"parameters": [
{
@@ -32203,6 +32121,41 @@
],
"option": "spice"
},
+ {
+ "parameters": [
+ {
+ "name": "timeout",
+ "help": "Request timeout in seconds (default 0 = no timeout)",
+ "type": "number"
+ },
+ {
+ "name": "initiator-name",
+ "help": "Initiator iqn name to use when connecting",
+ "type": "string"
+ },
+ {
+ "name": "header-digest",
+ "help": "HeaderDigest setting. {CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
+ "type": "string"
+ },
+ {
+ "name": "password-secret",
+ "help": "ID of the secret providing password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "password",
+ "help": "password for CHAP authentication to target",
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "help": "username for CHAP authentication to target",
+ "type": "string"
+ }
+ ],
+ "option": "iscsi"
+ },
{
"parameters": [
],
@@ -37593,13 +37546,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": false,
- "name": "xenpv",
- "numa-mem-supported": false,
- "cpu-max": 1,
- "deprecated": false
- },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-6.2",
@@ -37698,16 +37644,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": true,
- "name": "xenfv-3.1",
- "numa-mem-supported": true,
- "default-cpu-type": "qemu64-x86_64-cpu",
- "cpu-max": 128,
- "deprecated": false,
- "default-ram-id": "pc.ram",
- "alias": "xenfv"
- },
{
"hotpluggable-cpus": true,
"name": "pc-q35-2.4",
@@ -37997,15 +37933,6 @@
"deprecated": false,
"default-ram-id": "pc.ram"
},
- {
- "hotpluggable-cpus": true,
- "name": "xenfv-4.2",
- "numa-mem-supported": true,
- "default-cpu-type": "qemu64-x86_64-cpu",
- "cpu-max": 128,
- "deprecated": false,
- "default-ram-id": "pc.ram"
- },
{
"hotpluggable-cpus": false,
"name": "microvm",
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
index 87f9b4068d..8074c97ecd 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
@@ -242,10 +242,10 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-iommu.boot-bypass'/>
<flag name='virtio-net.rss'/>
- <version>6002092</version>
+ <version>7000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
- <package>v7.0.0-rc2</package>
+ <package>v7.0.0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
@@ -1617,7 +1617,6 @@
<machine type='kvm' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
- <machine type='kvm' name='xenpv' maxCpus='1'/>
<machine type='kvm' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
@@ -1628,7 +1627,6 @@
<machine type='kvm' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
- <machine type='kvm' name='xenfv-3.1' alias='xenfv' hotplugCpus='yes' maxCpus='128' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='x-remote' maxCpus='1'/>
@@ -1660,7 +1658,6 @@
<machine type='kvm' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
- <machine type='kvm' name='xenfv-4.2' hotplugCpus='yes' maxCpus='128' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
<machine type='kvm' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='kvm' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
@@ -3723,7 +3720,6 @@
<machine type='tcg' name='pc-q35-5.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
- <machine type='tcg' name='xenpv' maxCpus='1'/>
<machine type='tcg' name='pc-i440fx-6.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
@@ -3734,7 +3730,6 @@
<machine type='tcg' name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-6.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
- <machine type='tcg' name='xenfv-3.1' alias='xenfv' hotplugCpus='yes' maxCpus='128' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='x-remote' maxCpus='1'/>
@@ -3766,7 +3761,6 @@
<machine type='tcg' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-6.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
- <machine type='tcg' name='xenfv-4.2' hotplugCpus='yes' maxCpus='128' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='microvm' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' defaultRAMid='microvm.ram'/>
<machine type='tcg' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
<machine type='tcg' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes' defaultRAMid='pc.ram'/>
--
2.35.1
5
13
Bugs in the code meant to invalidate the qemu capabilities cache
resulted in us always re-probing capabilities on startup of
libvirtd/virtqemud. This got extremely annoying with the modern
deployments using --timeout.
Apart from issues in inserting the detected features, it also turns out
that AMD boxes report data which changes based on which CPU the
instruction happened to execute, so we need to mask that out.
Peter Krempa (7):
virCPUx86DataIsIdentical: Add debug output
virCPUx86DataGetHost: Fix construction of the returned data
virHostCPUGetCPUID: Add comment on how KVM_GET_SUPPORTED_CPUID works
util: virhostcpu: Extract filtering of the returned data from
virHostCPUGetCPUID
virHostCPUGetCPUID: Fix possible allocation of huge amount of memory
virHostCPUGetCPUID: Limit the buffer size ranges
virHostCPUGetCPUIDFilterVolatile: Filter out topology data on AMD
src/cpu/cpu_x86.c | 31 ++++++++++---
src/util/virhostcpu.c | 104 ++++++++++++++++++++++++++++++++++++------
2 files changed, 116 insertions(+), 19 deletions(-)
--
2.35.1
3
9
[PATCH 0/2] tests: Turn testQemuPrepareHostBackendChardevOne() into proper mock
by Michal Privoznik 25 Apr '22
by Michal Privoznik 25 Apr '22
25 Apr '22
*** BLURB HERE ***
Michal Prívozník (2):
qemu_processpriv: Fix #error message
tests: Turn testQemuPrepareHostBackendChardevOne() into proper mock
src/qemu/qemu_process.c | 13 +----
src/qemu/qemu_processpriv.h | 20 ++++++-
tests/qemuhotplugmock.c | 11 ----
tests/qemuhotplugtest.c | 1 +
tests/qemumonitorjsontest.c | 7 ++-
tests/qemuxml2argvmock.c | 94 +++++++++++++++++++++++++++++++
tests/qemuxml2argvtest.c | 10 ++--
tests/testutilsqemu.c | 107 +-----------------------------------
tests/testutilsqemu.h | 4 --
9 files changed, 127 insertions(+), 140 deletions(-)
--
2.35.1
3
5
Peter Krempa (2):
virsh: cmdBlockcopy: Add '--print-xml' flag
virsh: cmdBlockcopy: Fix generator of block copy disk XML
docs/manpages/virsh.rst | 4 +++-
tools/virsh-domain.c | 24 +++++++++++++++++-------
2 files changed, 20 insertions(+), 8 deletions(-)
--
2.35.1
2
3
[libvirt RFC] qemu_saveimage: only use wrapper when using --bypass-cache
by Claudio Fontana 24 Apr '22
by Claudio Fontana 24 Apr '22
24 Apr '22
align the "save" with the "restore" code,
by only using the wrapper when using --bypass-cache.
This avoids a copy, resulting in better performance.
Signed-off-by: Claudio Fontana <cfontana(a)suse.de>
---
src/qemu/qemu_saveimage.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_saveimage.c
index 4fd4c5cfcd..5ea1b2fbcc 100644
--- a/src/qemu/qemu_saveimage.c
+++ b/src/qemu/qemu_saveimage.c
@@ -289,8 +289,10 @@ qemuSaveImageCreate(virQEMUDriver *driver,
if (qemuSecuritySetImageFDLabel(driver->securityManager, vm->def, fd) < 0)
goto cleanup;
- if (!(wrapperFd = virFileWrapperFdNew(&fd, path, wrapperFlags)))
- goto cleanup;
+ if ((flags & VIR_DOMAIN_SAVE_BYPASS_CACHE)) {
+ if (!(wrapperFd = virFileWrapperFdNew(&fd, path, wrapperFlags)))
+ goto cleanup;
+ }
if (virQEMUSaveDataWrite(data, fd, path) < 0)
goto cleanup;
--
2.34.1
3
15
[PATCH 00/11] qemu: Fix crash when attempting to use authentication for HTTP backed disks
by Peter Krempa 23 Apr '22
by Peter Krempa 23 Apr '22
23 Apr '22
The crash is fixed by properly instantiating the auth object.
Also this series cleans up some problems noticed along the way.
Peter Krempa (11):
conf: schema: Fix alignment in 'diskSourceNetworkProtocolHTTPS' schema
definition
qemuDomainValidateStorageSource: Reorganize encryption config
validation
qemuDomainValidateStorageSource: Add validation of 'encryption'
support
qemuBlockStorageSourceGetRBDProps: Simplify handling of encryption
format
virDomainDiskDefValidateSourceChainOne: Reject authentication for
protocols which don't support it
qemuDomainStorageSourceHasAuth: Don't decide based on protocol
qemu: domain: Inline qemuDomainDiskHasEncryptionSecret
qemu: domain: Inline qemuDomainStorageSourceHasAuth
conf: schemas: Split out definition for 'ftp' protocol
conf: schema: Allow authentication for FTP(S) and HTTP(S) disks
tests: qemuxml2*: Add testing of authenticated http/ftp disks
src/conf/domain_validate.c | 34 ++++++
src/conf/schemas/domaincommon.rng | 35 +++++-
src/qemu/qemu_block.c | 10 +-
src/qemu/qemu_domain.c | 103 ++++++------------
src/qemu/qemu_domain.h | 3 -
.../disk-cdrom-network.x86_64-4.1.0.args | 6 +-
.../disk-cdrom-network.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/disk-cdrom-network.xml | 6 +
.../disk-encryption-wrong.x86_64-latest.err | 1 +
.../disk-encryption-wrong.xml | 37 +++++++
...-network-rbd-encryption.x86_64-latest.args | 2 +-
.../disk-network-rbd-encryption.xml | 2 +-
tests/qemuxml2argvtest.c | 1 +
.../disk-cdrom-network.x86_64-latest.xml | 72 ++++++++++++
...k-network-rbd-encryption.x86_64-latest.xml | 2 +-
tests/qemuxml2xmltest.c | 1 +
16 files changed, 233 insertions(+), 88 deletions(-)
create mode 100644 tests/qemuxml2argvdata/disk-encryption-wrong.x86_64-latest.err
create mode 100644 tests/qemuxml2argvdata/disk-encryption-wrong.xml
create mode 100644 tests/qemuxml2xmloutdata/disk-cdrom-network.x86_64-latest.xml
--
2.35.1
2
13
This is the multifd save prototype in its first semi-functional state,
(save direction only),
with surely a lot of rough edges as I am not very familiar with the
libvirt code base yet or its rules.
It seems to work for me, but take a look if this is something
realistic to pursue further, whether this could be acceptable
for libvirt.
Claudio Fontana (11):
libvirt: introduce virDomainSaveParametersFlags public API
remote: Add RPC support for the virDomainSaveParametersFlags API
qemu: add a stub for virDomainSaveParametersFlags API
qemu: initial implementation for the virDomainSaveParametersFlags API
iohelper: move runIO function to a separate module
runio: add arguments to extend use beyond just stdin and stdout
multifd-helper: new helper for parallel saves
qemu: wire up saveimage code with the multifd helper
qemu: implement qemuMigrationSrcToFilesMultiFd
tools: add parallel parameter to virsh save command
qemu: add migration parameter multifd-compression
docs/manpages/virsh.rst | 23 ++-
include/libvirt/libvirt-domain.h | 9 +
src/driver-hypervisor.h | 7 +
src/libvirt-domain.c | 51 ++++++
src/libvirt_private.syms | 1 +
src/libvirt_public.syms | 5 +
src/qemu/qemu_capabilities.c | 3 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_driver.c | 66 +++++++-
src/qemu/qemu_migration.c | 135 ++++++++++-----
src/qemu/qemu_migration.h | 7 +
src/qemu/qemu_migration_params.c | 71 +++++---
src/qemu/qemu_migration_params.h | 15 ++
src/qemu/qemu_saveimage.c | 281 ++++++++++++++++++++++++++-----
src/qemu/qemu_saveimage.h | 9 +
src/qemu/qemu_snapshot.c | 2 +-
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 17 +-
src/remote_protocol-structs | 9 +
src/util/iohelper.c | 180 +-------------------
src/util/meson.build | 15 ++
src/util/multifd-helper.c | 205 ++++++++++++++++++++++
src/util/runio.c | 214 +++++++++++++++++++++++
src/util/runio.h | 38 +++++
src/util/virthread.c | 5 +
src/util/virthread.h | 1 +
tools/virsh-domain.c | 49 +++++-
27 files changed, 1108 insertions(+), 312 deletions(-)
create mode 100644 src/util/multifd-helper.c
create mode 100644 src/util/runio.c
create mode 100644 src/util/runio.h
--
2.34.1
1
11
Hi,
Here it comes, version 3.
v1: https://listman.redhat.com/archives/libvir-list/2022-April/229881.html
v2: https://listman.redhat.com/archives/libvir-list/2022-April/230097.html
In this version, I have:
- dropped the changes to .sym files (Peter, Daniel)
- improved commit log: 'doc' -> 'docstring' (and more) (Peter)
- fixed all versions prior to v1.0.0 (Peter, Andrea)
- created a validate script, to confirm all is good. Not expecting it
to be merged, just added to help review that the outcome is
acceptable.
- lots of fixes found by the script above.
- dropped the concept of generated/manual in git shortlog of the series.
- added an allow list for functions where there is a mismatch between
version in the sym file and the git tag they were introduced (Peter)
I hope that it'll be useful to other generators, besides:
https://gitlab.com/libvirt/libvirt-go-module/-/merge_requests/7
Gitlab run of this series (fails with codestyle of do-not-commit
script).
https://gitlab.com/victortoso/libvirt/-/pipelines/520901763
Have a wonderful day,
Victor
Victor Toso (30):
syntax-check: sc_prohibit_nonreentrant: skip comments
syntax-check: prohibit_virXXXFree: skip strings
docstring: Fix generated documentation of
virConnectListAllNodeDeviceFlags
docstring: variable: Move docstring from source to header file
docstring: enums: libvirt: Add 'Since version' metadata
docstring: enums: qemu: Add 'Since version' metadata
docstring: enums: admin: Add 'Since version' metadata
docstring: macros: libvirt: Add 'Since version' metadata
docstring: macros: admin: Add 'Since version' metadata
docstring: typedef: libvirt:: Add 'Since version' metadata
docstring: typedef: qemu:: Add 'Since version' metadata
docstring: typedef: admin:: Add 'Since version' metadata
docstring: function: libvirt: Add 'Since version' metadata
docstring: function: qemu: Add 'Since version' metadata
docstring: function: lxc: Add 'Since version' metadata
docstring: function: admin: Add 'Since version' metadata
docstring: libvirt-common: Add 'Since version' metadata
docstring: Fix generated documentation of virStorageVolInfoFlags
docstring: Fix and append Since to virConnectListAllStoragePoolsFlags
docstring: Fix and append Since to virDomainDeviceModifyFlags
docstring: Fix and append Since to virDomainMemoryModFlags
docstring: Fix and append Since to virDomainVcpuFlags
scripts: apibuild: parse 'Since' version for enums
scripts: apibuild: fix parsing block comments from typedef enum
scripts: apibuild: parse 'Since' for typedefs
scripts: apibuild: parse 'Since' for macros
scripts: apibuild: parse 'Since' for functions
scripts: apibuild: factor out comment cleaning
scripts: apibuild: add parsing variable's comments
do-not-commit: script to validate output
build-aux/syntax-check.mk | 4 +-
include/libvirt/libvirt-admin.h | 95 +-
include/libvirt/libvirt-common.h.in | 54 +-
include/libvirt/libvirt-domain-checkpoint.h | 62 +-
include/libvirt/libvirt-domain-snapshot.h | 100 +-
include/libvirt/libvirt-domain.h | 2665 +++++++++++++++----
include/libvirt/libvirt-event.h | 35 +-
include/libvirt/libvirt-host.h | 320 ++-
include/libvirt/libvirt-interface.h | 33 +-
include/libvirt/libvirt-network.h | 195 +-
include/libvirt/libvirt-nodedev.h | 100 +-
include/libvirt/libvirt-nwfilter.h | 29 +-
include/libvirt/libvirt-qemu.h | 39 +-
include/libvirt/libvirt-secret.h | 81 +-
include/libvirt/libvirt-storage.h | 316 ++-
include/libvirt/libvirt-stream.h | 48 +-
include/libvirt/virterror.h | 428 +--
scripts/apibuild.py | 212 +-
scripts/version-quest.py | 190 ++
src/admin/libvirt-admin.c | 93 +
src/libvirt-domain-checkpoint.c | 36 +
src/libvirt-domain-snapshot.c | 63 +
src/libvirt-domain.c | 557 +++-
src/libvirt-host.c | 102 +
src/libvirt-interface.c | 63 +
src/libvirt-lxc.c | 12 +
src/libvirt-network.c | 135 +
src/libvirt-nodedev.c | 81 +
src/libvirt-nwfilter.c | 72 +
src/libvirt-qemu.c | 18 +
src/libvirt-secret.c | 60 +
src/libvirt-storage.c | 171 ++
src/libvirt-stream.c | 51 +
src/libvirt.c | 29 +-
src/util/virerror.c | 45 +
src/util/virevent.c | 27 +
src/util/virtypedparam-public.c | 57 +
37 files changed, 5533 insertions(+), 1145 deletions(-)
create mode 100644 scripts/version-quest.py
--
2.35.1
3
81
[PATCH] nwfilter_driver: Make reload fail if racing with stateCleanup()
by Michal Privoznik 22 Apr '22
by Michal Privoznik 22 Apr '22
22 Apr '22
When one thread is trying to reload NWFilter driver (by running
nwfilterStateReload()) but there's another thread that's
concurrently running nwfilterStateCleanup() a crash may occur.
This is despite nwfilterStateReload() checking for driver !=
NULL, because is done so without @driverMutex held. A typical
TOCTOU. Fortunately, the mutex is always initialized, so the
mutex can be acquired at all times and @driver can be checked
with the lock held.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2075837
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/nwfilter/nwfilter_driver.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
index b66ba22737..d028efafbe 100644
--- a/src/nwfilter/nwfilter_driver.c
+++ b/src/nwfilter/nwfilter_driver.c
@@ -309,6 +309,8 @@ nwfilterStateInitialize(bool privileged,
static int
nwfilterStateReload(void)
{
+ VIR_LOCK_GUARD lock = virLockGuardLock(&driverMutex);
+
if (!driver)
return -1;
@@ -319,15 +321,13 @@ nwfilterStateReload(void)
/* shut down all threads -- they will be restarted if necessary */
virNWFilterLearnThreadsTerminate(true);
- VIR_WITH_MUTEX_LOCK_GUARD(&driverMutex) {
- VIR_WITH_MUTEX_LOCK_GUARD(&driver->updateLock) {
- virNWFilterObjListLoadAllConfigs(driver->nwfilters, driver->configDir);
- }
-
-
- virNWFilterBuildAll(driver, false);
+ VIR_WITH_MUTEX_LOCK_GUARD(&driver->updateLock) {
+ virNWFilterObjListLoadAllConfigs(driver->nwfilters, driver->configDir);
}
+
+ virNWFilterBuildAll(driver, false);
+
return 0;
}
--
2.35.1
2
1
Andrea Bolognani (2):
include: Fix vertical spacing inside comments
include: Fix vertical spacing between comments and symbols
include/libvirt/libvirt-common.h.in | 1 -
include/libvirt/libvirt-domain-checkpoint.h | 6 -
include/libvirt/libvirt-domain-snapshot.h | 7 -
include/libvirt/libvirt-domain.h | 154 --------------------
include/libvirt/libvirt-event.h | 1 -
include/libvirt/libvirt-host.h | 33 -----
include/libvirt/libvirt-interface.h | 5 -
include/libvirt/libvirt-network.h | 17 ---
include/libvirt/libvirt-nodedev.h | 7 -
include/libvirt/libvirt-nwfilter.h | 6 -
include/libvirt/libvirt-secret.h | 7 -
include/libvirt/libvirt-storage.h | 25 ----
include/libvirt/libvirt-stream.h | 3 -
include/libvirt/virterror.h | 6 -
14 files changed, 278 deletions(-)
--
2.35.1
2
3
22 Apr '22
Change log:
v2: rebased the patchset. Laine's response is appended at the end.
I am re-introducing the patchset for <acpi-hotplug-bridge> which got
reverted here few months back:
https://www.spinics.net/linux/fedora/libvir/msg224089.html
The reason for the reversal was that there seemed to be some
instability/issues around the use of the qemu commandline which this
patchset tries to support. In particular, some guest operating systems
did not like the way QEMU was trying to disable native hotplug on pcie
root ports. Subsequently, in QEMU 6.2, we have changed our mechanism
using which we disable native hotplug. As I understand, we do not have
any reported issues so far in 6.2 around this area. QEMU will enter a
soft feature freeze in the first week of march in prep for 7.0 release.
Libvirt is also entering a new release cycle phaze. Hence, I am
introducing this patchset early enough in the release cycles so that if
we do see any issues on the qemu side during the rc0, rc1 cycles and if
reversal of this patchset is again required, it can be done in time
before the next libvirt release end of March.
All the patches in this series had been previously reviewed. Some
subsequent fixes were made after my initial patches were pushed. I have
squashed all those fixes and consolidated them into four patches. I have
also updated the documentation to reflect the new changes from the QEMU
side and rebased my changes fixing the tests in the process.
What changed in QEMU post version 6.1 ?
=========================================
We have made basically two major changes in QEMU. First is this change:
(1) commit 211afe5c69b597acf85fdd577eb497f5be1ffbd8
Author: Julia Suvorova <jusual(a)redhat.com>
Date: Fri Nov 12 06:08:56 2021 -0500
hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC
There are two ways to enable ACPI PCI Hot-plug:
* Disable the Hot-plug Capable bit on PCIe slots.
This was the first approach which led to regression [1-2], as
I/O space for a port is allocated only when it is hot-pluggable,
which is determined by HPC bit.
* Leave the HPC bit on and disable PCIe Native Hot-plug in _OSC
method.
This removes the (future) ability of hot-plugging switches with PCIe
Native hotplug since ACPI PCI Hot-plug only works with cold-plugged
bridges. If the user wants to explicitely use this feature, they can
disable ACPI PCI Hot-plug with:
--global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off
Change the bit in _OSC method so that the OS selects ACPI PCI Hot-plug
instead of PCIe Native.
[1] https://gitlab.com/qemu-project/qemu/-/issues/641
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2006409
Signed-off-by: Julia Suvorova <jusual(a)redhat.com>
Signed-off-by: Igor Mammedov <imammedo(a)redhat.com>
Message-Id: <20211112110857.3116853-5-imammedo(a)redhat.com>
Reviewed-by: Ani Sinha <ani(a)anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
The patch description says it all. Instead of masking out the HPC bit in
pcie slots, we keep them turned on. Instead, we do not advertize native
hotplug capability for PCIE using _OSC control method. See section
6.2.11 in ACPI spec 6.2. At the same time, we turn on ACPI hotplug for
these slots so now the guest OS can select ACPI hotplug instead.
The second change is introduction of a property with which we keep the
existing behavior for pc-q35-6.1 machines. This means HPC bit is masked
and ACPI hotplug is enabled by default for pcie root ports.
The QEMU commit is:
(2) commit c318bef76206c2ecb6016e8e68c4ac6ff9a4c8cb
Author: Julia Suvorova <jusual(a)redhat.com>
Date: Fri Nov 12 06:08:54 2021 -0500
hw/acpi/ich9: Add compat prop to keep HPC bit set for 6.1 machine type
To solve issues [1-2] the Hot Plug Capable bit in PCIe Slots will be
turned on, while the switch to ACPI Hot-plug will be done in the
DSDT table.
Introducing 'x-keep-native-hpc' property disables the HPC bit only
in 6.1 and as a result keeps the forced 'reserve-io' on
pcie-root-ports in 6.1 too.
[1] https://gitlab.com/qemu-project/qemu/-/issues/641
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2006409
Signed-off-by: Julia Suvorova <jusual(a)redhat.com>
Signed-off-by: Igor Mammedov <imammedo(a)redhat.com>
Message-Id: <20211112110857.3116853-3-imammedo(a)redhat.com>
Reviewed-by: Michael S. Tsirkin <mst(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Lastly, as a related side note, because from QEMU 6.2 onwards, we do not
mask out HPC bit in PCIE, the work done by this patch is no longer
needed:
(3) commit e2a6290aab578b2170c1f5909fa556385dc0d820
Author: Marcel Apfelbaum <marcel.apfelbaum(a)gmail.com>
Date: Mon Aug 2 12:00:57 2021 +0300
hw/pcie-root-port: Fix hotplug for PCI devices requiring IO
Q35 has now ACPI hotplug enabled by default for PCI(e) devices.
As opposed to native PCIe hotplug, guests like Fedora 34
will not assign IO range to pcie-root-ports not supporting
native hotplug, resulting into a regression.
Reproduce by:
qemu-bin -M q35 -device pcie-root-port,id=p1 -monitor stdio
device_add e1000,bus=p1
In the Guest OS the respective pcie-root-port will have the IO range
disabled.
Fix it by setting the "reserve-io" hint capability of the
pcie-root-ports so the firmware will allocate the IO range instead.
Acked-by: Igor Mammedov <imammedo(a)redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel(a)redhat.com>
Message-Id: <20210802090057.1709775-1-marcel(a)redhat.com>
Reviewed-by: Michael S. Tsirkin <mst(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
This is what commit (2) alludes to. In pc-q35-6.1 machines we do need
patch (3) since we mask out HPC bit from pcie ports.
I know this is convoluted mess. In fairness I am trying all I can in my
spare time to help from the QEMU side. I am determined to see this
patchset through into libvirt.
Thanks
Laine's comments ...
My memory isn't completely clear, but I think there was also the issue
that the option claims to enable ACPI hotplug when set to on, but
instead what it actually does (in the Q35 case at least) is to enable
native PCI hotplug when set to off (without actually disabling ACPI
hotplug) and disable native PCI hotplug when set to on, or something
like that. This ends up leaving it up to the guest OS to decide which
type of hotplug to use, meaning its decision could override what's in
the libvirt config, thus confusing everyone. Again, I probably have the
details mixed up, but it was something like this.
I asked mst about this this morning, and he suggested something that
you've already done - Cc'ing the series to qemu-devel and the relevant
maintainers so we can have a discussion with all involved parties about
their opinions on whether we really should expose this existing option
in libvirt, or if we should instead have two new options that are more
orthogonal about enabling/disabling the two types of hotplug, so that
libvirt config can more accurately represent what is being presented to
the guest rather than a "best guess" of what we think the guest is going
to do with what is presented.
(Michael did also say that, with the current flurry of bug reports for
the QEMU rc's, this discusion may not happen until closer to release
when the bug reports die down. I know this doesn't mesh with your desire
to "push now to allow for testing" (which in general would be a good
thing if we were certain that we wanted the option like this and were
just expecting some minor bugs that could be fixed), but my opinion is
that 1) it's possible for anyone interested to test the functionality
using <qemu:commandline>, and 2) we should avoid turning libvirt git
into a revolving door of experiments. The only practical difference
between using <qemu:commandline> and having a dedicated option is that
the use of <qemu:commandline> causes the domain to be tainted, and the
XML is a bit more complicated. But since the people we're talking about
here will already have built their own libvirt binaries, the tainted
status of any guests is irrelevant and the extra complexity of using
<qemu:commandline> is probably trivial to them :-).
Ani Sinha (4):
qemu: capablities: detect acpi-pci-hotplug-with-bridge-support
conf: introduce support for acpi-bridge-hotplug feature
qemu: command: add support for acpi-bridge-hotplug feature
NEWS: document new acpi pci hotplug config option
NEWS.rst | 8 ++
docs/formatdomain.rst | 32 +++++++
docs/schemas/domaincommon.rng | 15 ++++
src/conf/domain_conf.c | 89 ++++++++++++++++++-
src/conf/domain_conf.h | 9 ++
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_command.c | 19 ++++
src/qemu/qemu_validate.c | 42 +++++++++
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
...-hotplug-bridge-disable.aarch64-latest.err | 1 +
.../aarch64-acpi-hotplug-bridge-disable.xml | 13 +++
...-hotplug-bridge-disable.x86_64-latest.args | 35 ++++++++
.../pc-i440fx-acpi-hotplug-bridge-disable.xml | 36 ++++++++
.../pc-i440fx-acpi-hotplug-bridge-enable.xml | 36 ++++++++
...pi-hotplug-bridge-disable.x86_64-6.0.0.err | 1 +
...-hotplug-bridge-disable.x86_64-latest.args | 38 ++++++++
.../q35-acpi-hotplug-bridge-disable.xml | 53 +++++++++++
.../q35-acpi-hotplug-bridge-enable.xml | 53 +++++++++++
tests/qemuxml2argvtest.c | 7 ++
...i-hotplug-bridge-disable.x86_64-latest.xml | 1 +
...pi-hotplug-bridge-enable.x86_64-latest.xml | 1 +
...i-hotplug-bridge-disable.x86_64-latest.xml | 1 +
...pi-hotplug-bridge-enable.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 4 +
27 files changed, 504 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.aarch64-latest.err
create mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.xml
create mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.xml
create mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-enable.xml
create mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-6.0.0.err
create mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.xml
create mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-enable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-enable.x86_64-latest.xml
--
2.25.1
2
12
21 Apr '22
changes v1 -> v2:
* fix missing write
changes v2 -> v3:
* move error reporting back into the copy function
* split into two patches, one introducing the IO parameters struct,
and another introducing the new function.
Claudio Fontana (2):
iohelper: introduce new struct to carry copy operation parameters
iohelper: refactor copy operation as a separate function
src/util/iohelper.c | 170 ++++++++++++++++++++++++++------------------
1 file changed, 100 insertions(+), 70 deletions(-)
--
2.34.1
1
2
while doing research with alternative implementations of runIO,
it seemed necessary to do some refactoring, in order to separate
parameter setting from the actual copy, so that alternative
copy methods can be researched and hopefully eventually implemented.
No functional changes are expected.
Signed-off-by: Claudio Fontana <cfontana(a)suse.de>
---
src/util/iohelper.c | 197 +++++++++++++++++++++++++++-----------------
1 file changed, 122 insertions(+), 75 deletions(-)
changes v1 -> v2:
* fix missing write
diff --git a/src/util/iohelper.c b/src/util/iohelper.c
index 2c91bf4f93..ca569b5ae9 100644
--- a/src/util/iohelper.c
+++ b/src/util/iohelper.c
@@ -45,21 +45,38 @@
# define O_DIRECT 0
#endif
-static int
-runIO(const char *path, int fd, int oflags)
+struct runIOParams {
+ bool isBlockDev;
+ bool isDirect;
+ bool isWrite;
+ int fdin;
+ const char *fdinname;
+ int fdout;
+ const char *fdoutname;
+};
+
+/* runIOCopy: execute the IO copy based on the passed parameters */
+/**
+ * runIOCopy:
+ * @p: the IO parameters
+ *
+ * Execute the copy based on the passed parameters.
+ *
+ * Returns: size transfered, or < 0 on error.
+ * Errors: -1 = read/write error
+ * -2 = read error
+ * -3 = write error
+ * -4 = truncate error
+ */
+
+static off_t
+runIOCopy(const struct runIOParams p)
{
g_autofree void *base = NULL; /* Location to be freed */
char *buf = NULL; /* Aligned location within base */
size_t buflen = 1024*1024;
intptr_t alignMask = 64*1024 - 1;
- int ret = -1;
- int fdin, fdout;
- const char *fdinname, *fdoutname;
- unsigned long long total = 0;
- bool direct = O_DIRECT && ((oflags & O_DIRECT) != 0);
- off_t end = 0;
- struct stat sb;
- bool isBlockDev = false;
+ off_t total = 0;
#if WITH_POSIX_MEMALIGN
if (posix_memalign(&base, alignMask + 1, buflen))
@@ -71,50 +88,6 @@ runIO(const char *path, int fd, int oflags)
buf = (char *) (((intptr_t) base + alignMask) & ~alignMask);
#endif
- if (fstat(fd, &sb) < 0) {
- virReportSystemError(errno,
- _("Unable to access file descriptor %d path %s"),
- fd, path);
- goto cleanup;
- }
- isBlockDev = S_ISBLK(sb.st_mode);
-
- switch (oflags & O_ACCMODE) {
- case O_RDONLY:
- fdin = fd;
- fdinname = path;
- fdout = STDOUT_FILENO;
- fdoutname = "stdout";
- /* To make the implementation simpler, we give up on any
- * attempt to use O_DIRECT in a non-trivial manner. */
- if (!isBlockDev && direct && ((end = lseek(fd, 0, SEEK_CUR)) != 0)) {
- virReportSystemError(end < 0 ? errno : EINVAL, "%s",
- _("O_DIRECT read needs entire seekable file"));
- goto cleanup;
- }
- break;
- case O_WRONLY:
- fdin = STDIN_FILENO;
- fdinname = "stdin";
- fdout = fd;
- fdoutname = path;
- /* To make the implementation simpler, we give up on any
- * attempt to use O_DIRECT in a non-trivial manner. */
- if (!isBlockDev && direct && (end = lseek(fd, 0, SEEK_END)) != 0) {
- virReportSystemError(end < 0 ? errno : EINVAL, "%s",
- _("O_DIRECT write needs empty seekable file"));
- goto cleanup;
- }
- break;
-
- case O_RDWR:
- default:
- virReportSystemError(EINVAL,
- _("Unable to process file with flags %d"),
- (oflags & O_ACCMODE));
- goto cleanup;
- }
-
while (1) {
ssize_t got;
@@ -124,53 +97,127 @@ runIO(const char *path, int fd, int oflags)
* writes will be aligned.
* In other cases using saferead reduces number of syscalls.
*/
- if (fdin == fd && direct) {
- if ((got = read(fdin, buf, buflen)) < 0 &&
+ if (!p.isWrite && p.isDirect) {
+ if ((got = read(p.fdin, buf, buflen)) < 0 &&
errno == EINTR)
continue;
} else {
- got = saferead(fdin, buf, buflen);
- }
-
- if (got < 0) {
- virReportSystemError(errno, _("Unable to read %s"), fdinname);
- goto cleanup;
+ got = saferead(p.fdin, buf, buflen);
}
+ if (got < 0)
+ return -2;
if (got == 0)
break;
total += got;
/* handle last write size align in direct case */
- if (got < buflen && direct && fdout == fd) {
+ if (got < buflen && p.isDirect && p.isWrite) {
ssize_t aligned_got = (got + alignMask) & ~alignMask;
memset(buf + got, 0, aligned_got - got);
- if (safewrite(fdout, buf, aligned_got) < 0) {
- virReportSystemError(errno, _("Unable to write %s"), fdoutname);
- goto cleanup;
+ if (safewrite(p.fdout, buf, aligned_got) < 0) {
+ return -3;
}
-
- if (!isBlockDev && ftruncate(fd, total) < 0) {
- virReportSystemError(errno, _("Unable to truncate %s"), fdoutname);
- goto cleanup;
+ if (!p.isBlockDev && ftruncate(p.fdout, total) < 0) {
+ return -4;
}
-
break;
}
- if (safewrite(fdout, buf, got) < 0) {
- virReportSystemError(errno, _("Unable to write %s"), fdoutname);
+ if (safewrite(p.fdout, buf, got) < 0) {
+ return -3;
+ }
+ }
+ return total;
+}
+
+static int
+runIO(const char *path, int fd, int oflags)
+{
+ int ret = -1;
+ off_t total = 0;
+ struct stat sb;
+ struct runIOParams p;
+
+ if (fstat(fd, &sb) < 0) {
+ virReportSystemError(errno,
+ _("Unable to access file descriptor %d path %s"),
+ fd, path);
+ goto cleanup;
+ }
+ p.isBlockDev = S_ISBLK(sb.st_mode);
+ p.isDirect = O_DIRECT && (oflags & O_DIRECT);
+
+ switch (oflags & O_ACCMODE) {
+ case O_RDONLY:
+ p.isWrite = false;
+ p.fdin = fd;
+ p.fdinname = path;
+ p.fdout = STDOUT_FILENO;
+ p.fdoutname = "stdout";
+ break;
+ case O_WRONLY:
+ p.isWrite = true;
+ p.fdin = STDIN_FILENO;
+ p.fdinname = "stdin";
+ p.fdout = fd;
+ p.fdoutname = path;
+ break;
+ case O_RDWR:
+ default:
+ virReportSystemError(EINVAL,
+ _("Unable to process file with flags %d"),
+ (oflags & O_ACCMODE));
+ goto cleanup;
+ }
+ /* To make the implementation simpler, we give up on any
+ * attempt to use O_DIRECT in a non-trivial manner. */
+ if (!p.isBlockDev && p.isDirect) {
+ off_t end;
+ if (p.isWrite) {
+ if ((end = lseek(fd, 0, SEEK_END)) != 0) {
+ virReportSystemError(end < 0 ? errno : EINVAL, "%s",
+ _("O_DIRECT write needs empty seekable file"));
+ goto cleanup;
+ }
+ } else if ((end = lseek(fd, 0, SEEK_CUR)) != 0) {
+ virReportSystemError(end < 0 ? errno : EINVAL, "%s",
+ _("O_DIRECT read needs entire seekable file"));
goto cleanup;
}
}
+ total = runIOCopy(p);
+
+ if (total < 0) {
+ switch (total) {
+ case -1:
+ virReportSystemError(errno, _("Unable to move data from %s to %s"),
+ p.fdinname, p.fdoutname);
+ break;
+ case -2:
+ virReportSystemError(errno, _("Unable to read %s"), p.fdinname);
+ break;
+ case -3:
+ virReportSystemError(errno, _("Unable to write %s"), p.fdoutname);
+ break;
+ case -4:
+ virReportSystemError(errno, _("Unable to truncate %s"), p.fdoutname);
+ break;
+ default:
+ virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown runIOCopy error %ld"), total);
+ break;
+ }
+ goto cleanup;
+ }
+
/* Ensure all data is written */
- if (virFileDataSync(fdout) < 0) {
+ if (virFileDataSync(p.fdout) < 0) {
if (errno != EINVAL && errno != EROFS) {
/* fdatasync() may fail on some special FDs, e.g. pipes */
- virReportSystemError(errno, _("unable to fsync %s"), fdoutname);
+ virReportSystemError(errno, _("unable to fsync %s"), p.fdoutname);
goto cleanup;
}
}
--
2.35.1
2
3
This an RFC discussing a new API, virDomainGetSevAttestationReport (along with a
virsh command "domgetsevreport"), with initial QEMU support via the
"query-sev-attestation-report" QAPI mechanism. "query-sev-attestation-report" is
supplied a base64-encoded 16 byte "mnonce" string as input, with a purpose of
being embedded into the attestation report to provide protection.
My main point of concern is the design/communication of the virTypedParameterPtr
exchanged between the client and libvirtd and how they interact together, as I
have seen no other API follow the method I used. Namely, the same
virTypedParameterPtr is used for both input _AND_ output. The same
virTypedParameterPtr containing the original mnonce string inputted to the API is
also used to contain the attestation report upon being returned from the API.
This contrasts with much of the APIs I've noticed, which use a
virTypedParameterPtr for either input or output, but not both.
This patch is not final, as I still would like some human-readable outputting
and storage of the attestation report.
Looking for thoughts on the design of this API, as well as suggested
improvements.
Tyler Fanelli (5):
libvirt: Introduce virDomainGetSevAttestationReport public API
remote: add RPC support for the virDomainGetSevAttestationReport API
qemu_capabilities: Introduce QEMU_CAPS_SEV_GET_ATTESTATION_REPORT
qemu: Implement the virDomainGetSevAttestationReport API
tools: add domgetsevreport virsh command
docs/manpages/virsh.rst | 18 ++++
include/libvirt/libvirt-domain.h | 22 +++++
src/driver-hypervisor.h | 7 ++
src/libvirt-domain.c | 63 ++++++++++++++
src/libvirt_public.syms | 4 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_driver.c | 86 +++++++++++++++++++
src/qemu/qemu_monitor.c | 11 +++
src/qemu/qemu_monitor.h | 5 ++
src/qemu/qemu_monitor_json.c | 40 +++++++++
src/qemu/qemu_monitor_json.h | 5 ++
src/remote/remote_daemon_dispatch.c | 44 ++++++++++
src/remote/remote_driver.c | 55 ++++++++++++
src/remote/remote_protocol.x | 21 ++++-
src/remote_protocol-structs | 12 +++
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
tools/virsh-domain.c | 68 +++++++++++++++
20 files changed, 466 insertions(+), 1 deletion(-)
--
2.34.1
3
12
From: Maxim Nestratov <mnestratov(a)virtuozzo.com>
This is a quite an old (created at 2016) patch fixing an issue for at
that time contemporary Fedora 23. virsh reboot returns success (yet
after hanging for a while), VM is rebooted sucessfully too but then
shutdown from inside guest causes reboot and not shutdown.
VM has agent installed. So virsh reboot first tries to reboot VM thru
the agent. The agent calls 'shutdown -r' command. Typically it returns
instantly but on this distro for some reason it takes time. I did not
investigate the cause but the command waits in dbus client code,
probably waits for reply. The libvirt waits 60s for agent command to
execute and then errors out. Next reboot API falls back to ACPI shutdown
which returns successfully thus the reboot command return success too.
Yet shutdown command in guest eventually successfull and guest is truly
rebooted. So libvirt does not receive SHUTDOWN event and fake reboot
flag which is armed on fallback path stays armed. Thus next shutdown
from guest leads to reboot.
The issue has 100% repro on Fedora 23. On modern distros I can't
reproduce it at all. Shutdown command is asynchronous and returns
immediately even if I start some service that ignores TERM signal and
thus shutdown procedure waits for 90s (if I not mistaken) before sending
KILL.
Yet I guess it is nice to have this patch to be more robust.
Signed-off-by: Nikolay Shirokovskiy <nikolay.shirokovskiy(a)openvz.org>
---
src/qemu/qemu_process.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index f63fc3389d..d81ed9391a 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -435,6 +435,7 @@ qemuProcessHandleReset(qemuMonitor *mon G_GNUC_UNUSED,
if (priv->agent)
qemuAgentNotifyEvent(priv->agent, QEMU_AGENT_EVENT_RESET);
+ qemuDomainSetFakeReboot(vm, false);
qemuDomainSaveStatus(vm);
unlock:
--
2.35.1
2
1
[libvirt PATCH 00/10] Cleanup and test more firmware handling scenarios
by Daniel P. Berrangé 21 Apr '22
by Daniel P. Berrangé 21 Apr '22
21 Apr '22
There are a mind bending number of possible ways to configure the
firmware with/without NVRAM. Only a small portion are tested and
many error scenarios are silently ignored.
This series attempts to get coverage of every possible XML config
scenario and report explicit errors in all invalid configs.
There is an open question on patch 4. Essentially the use of NVRAM
combined with writable executable feels like an accidental feature
in libvirt that hasn't really been thought through. I'd like to
better define expectations here but there are several possible
strategies and I'm undecided which is best.
Daniel P. Berrangé (10):
qemu: fix bad indentation for qemuDomainNVRAMPathFormat
tests: add explicit test case for pflash loader lacking path
tests: add test case for NVRAM with template
conf: validate NVRAM template usage with R/W loader binary
tests: don't permit NVRAM path when using firmware auto-select
qemu: inline code for filling in per-VM NVRAM path
conf: rename struct field for NVRAM template
conf: switch nvram parsing to use XML node / property helpers
conf: move nvram parsing into virDomainLoaderDefParseXML
conf: stop ignoring <loader>/<nvram> with firmware auto-select
src/conf/domain_conf.c | 121 +++++++++++-------
src/conf/domain_conf.h | 2 +-
src/qemu/qemu_domain.c | 18 +--
src/qemu/qemu_domain.h | 8 +-
src/qemu/qemu_firmware.c | 13 +-
src/qemu/qemu_process.c | 4 +-
tests/qemuxml2argvdata/bios-nvram-no-path.err | 1 +
tests/qemuxml2argvdata/bios-nvram-no-path.xml | 19 +++
...-nvram-rw-template-vars.x86_64-latest.args | 41 ++++++
.../bios-nvram-rw-template-vars.xml | 36 ++++++
.../bios-nvram-rw-template.err | 1 +
.../bios-nvram-rw-template.xml | 36 ++++++
.../bios-nvram-rw-vars.x86_64-latest.args | 41 ++++++
tests/qemuxml2argvdata/bios-nvram-rw-vars.xml | 36 ++++++
.../bios-nvram-template.x86_64-latest.args | 37 ++++++
.../qemuxml2argvdata/bios-nvram-template.xml | 21 +++
tests/qemuxml2argvdata/os-firmware-bios.xml | 1 -
.../os-firmware-efi-bad-loader-path.err | 1 +
.../os-firmware-efi-bad-loader-path.xml | 67 ++++++++++
.../os-firmware-efi-bad-loader-type.err | 1 +
.../os-firmware-efi-bad-loader-type.xml | 67 ++++++++++
.../os-firmware-efi-bad-nvram-path.err | 1 +
.../os-firmware-efi-bad-nvram-path.xml | 68 ++++++++++
.../os-firmware-efi-bad-nvram-template.err | 1 +
.../os-firmware-efi-bad-nvram-template.xml | 68 ++++++++++
.../os-firmware-efi-secboot.xml | 1 -
tests/qemuxml2argvdata/os-firmware-efi.xml | 1 -
tests/qemuxml2argvtest.c | 9 ++
.../os-firmware-bios.x86_64-latest.xml | 1 -
.../os-firmware-efi-secboot.x86_64-latest.xml | 1 -
.../os-firmware-efi.x86_64-latest.xml | 1 -
31 files changed, 647 insertions(+), 77 deletions(-)
create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.xml
--
2.34.1
3
16
Signed-off-by: Lena Voytek <lena.voytek(a)canonical.com>
---
src/security/apparmor/libvirt-qemu | 3 ++-
src/security/apparmor/usr.sbin.libvirtd.in | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
index 250ba4ea58..c29168da27 100644
--- a/src/security/apparmor/libvirt-qemu
+++ b/src/security/apparmor/libvirt-qemu
@@ -180,7 +180,7 @@
audit deny /{var/,}run/qemu/*/*.so w,
# swtpm
- /{usr/,}bin/swtpm rmix,
+ /{usr/,}bin/swtpm rmpix,
/usr/{lib,lib64}/libswtpm_libtpms.so mr,
/usr/lib/(a){multiarch}/libswtpm_libtpms.so mr,
@@ -226,6 +226,7 @@
unix (send, receive) type=stream addr=none peer=(label=libvirtd),
unix (send, receive) type=stream addr=none peer=(label=/usr/sbin/libvirtd),
unix (send, receive) type=stream addr=none peer=(label=virtqemud),
+ unix (send, receive) type=stream addr=none peer=(label=swtpm),
# for gathering information about available host resources
/sys/devices/system/cpu/ r,
diff --git a/src/security/apparmor/usr.sbin.libvirtd.in b/src/security/apparmor/usr.sbin.libvirtd.in
index f2ab6ff2aa..886f1ad518 100644
--- a/src/security/apparmor/usr.sbin.libvirtd.in
+++ b/src/security/apparmor/usr.sbin.libvirtd.in
@@ -58,6 +58,7 @@ profile libvirtd @sbindir@/libvirtd flags=(attach_disconnected) {
ptrace (read,trace) peer=dnsmasq,
ptrace (read,trace) peer=/usr/sbin/dnsmasq,
ptrace (read,trace) peer=libvirt-*,
+ ptrace (read,trace) peer=swtpm,
signal (send) peer=dnsmasq,
signal (send) peer=/usr/sbin/dnsmasq,
--
2.25.1
3
2
When <qemu:override> is the only usage of the qemu namespace the entire
section is mistakenly removed. Add check for use count.
Signed-off-by: Justin Gatzen <justin.gatzen(a)gmail.com>
---
src/qemu/qemu_domain.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 95134a3570..00c209313b 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3514,7 +3514,8 @@ qemuDomainDefNamespaceParse(xmlXPathContextPtr ctxt,
if (nsdata->args || nsdata->num_env > 0 ||
nsdata->capsadd || nsdata->capsdel ||
- nsdata->deprecationBehavior)
+ nsdata->deprecationBehavior ||
+ nsdata->ndeviceOverride > 0)
*data = g_steal_pointer(&nsdata);
ret = 0;
--
2.35.1
2
1
We are getting close to the next release of libvirt. To aim for the
release on May 02 I suggest entering the freeze on Tuesday Apr 26 and
tagging RC2 on Friday Apr 29.
I hope this works for everyone.
Jirka
1
0
20 Apr '22
From: Lena Voytek <lena.voytek(a)canonical.com>
Signed-off-by: Lena Voytek <lena.voytek(a)canonical.com>
---
src/security/apparmor/libvirt-qemu | 3 ++-
src/security/apparmor/usr.sbin.libvirtd.in | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
FYI this was merged via gitlab
diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
index 250ba4ea58..c29168da27 100644
--- a/src/security/apparmor/libvirt-qemu
+++ b/src/security/apparmor/libvirt-qemu
@@ -180,7 +180,7 @@
audit deny /{var/,}run/qemu/*/*.so w,
# swtpm
- /{usr/,}bin/swtpm rmix,
+ /{usr/,}bin/swtpm rmpix,
/usr/{lib,lib64}/libswtpm_libtpms.so mr,
/usr/lib/(a){multiarch}/libswtpm_libtpms.so mr,
@@ -226,6 +226,7 @@
unix (send, receive) type=stream addr=none peer=(label=libvirtd),
unix (send, receive) type=stream addr=none peer=(label=/usr/sbin/libvirtd),
unix (send, receive) type=stream addr=none peer=(label=virtqemud),
+ unix (send, receive) type=stream addr=none peer=(label=swtpm),
# for gathering information about available host resources
/sys/devices/system/cpu/ r,
diff --git a/src/security/apparmor/usr.sbin.libvirtd.in b/src/security/apparmor/usr.sbin.libvirtd.in
index f2ab6ff2aa..886f1ad518 100644
--- a/src/security/apparmor/usr.sbin.libvirtd.in
+++ b/src/security/apparmor/usr.sbin.libvirtd.in
@@ -58,6 +58,7 @@ profile libvirtd @sbindir@/libvirtd flags=(attach_disconnected) {
ptrace (read,trace) peer=dnsmasq,
ptrace (read,trace) peer=/usr/sbin/dnsmasq,
ptrace (read,trace) peer=libvirt-*,
+ ptrace (read,trace) peer=swtpm,
signal (send) peer=dnsmasq,
signal (send) peer=/usr/sbin/dnsmasq,
--
2.35.1
1
0
Hi,
I noticed that in the virThread API return values from threads are explicitly excluded from the API.
The "virThreadHelper" sits in the middle between the caller of virThreadCreate and pthread, making it impossible to return a value from the thread,
to check after joining the thread.
I'd need to know if the thread execution is successful or not then I join the thread,
so what is the reason for this choice?
Should I use pthread directly instead?
Thanks,
Claudio
--
Claudio Fontana
Engineering Manager Virtualization, SUSE Labs Core
SUSE Software Solutions Italy Srl
4
4
20 Apr '22
As mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=2016527,
RHEL is planning to remove dependencies on the qemu-block-curl and
qemu-block-ssh plugins from the main qemu package. This creates issues
for libvirt for supporting network disk sources. So I've been looking
into using nbdkit from libvirt to proxy these network disks to qemu as
NBD disks.
The basic idea is that libvirt will spin up an nbdkit instance for e.g.
an https network disk source, and will provide the resulting unix socket
to qemu as an nbd disk. This allows libvirt to continue supporting
http/ftp/ssh disk sources regardless of whether the qemu block plugins
are installed or not.
However, there are a couple of issues and feature gaps that I've run
into that I'd like to discuss.
1. secrets
There is some code in libvirt[1] which seems to expect that it is
possible for http(s) disk sources to have a username and password
specified. However, I can't find any valid xml schema for specifying an
http username and password, and my reading of the code suggests that
there shouldn't be any way for these to be set for http(s)/ftp(s) disk
sources either since auth is only supported for ISCSI and RBD protocols
[2]. Am I missing something?
[1]
https://gitlab.com/libvirt/libvirt/-/blob/6be7beb3bdb9ad611a5598dad7edfbd2a…
[2]
https://gitlab.com/libvirt/libvirt/-/blob/6be7beb3bdb9ad611a5598dad7edfbd2a…
If it *is* possible for the username/password to be set for these disks,
then we have the issue that these sensitive pieces of data have so far
been passed as encrypted data to qemu using qemu secrets. But if nbdkit
is handling the http requests, we need to pass this data to nbdkit
rather than qemu and so we can no longer use qemu secrets. The same
issue applies to http cookies, which could potentially include
security-sensitive data such as login credentials, etc.
Fortunately, nbdkit provides a method for reading cookies and passwords
from a file, which should be secure if the file has permissions set
properly. So I'm currently planning to write a file containing the
cookies and pass them to nbdkit by specifying the filename. But I'm
still confused about the username/password possibility.
2. readahead
The libvirt xml format allows to specify a readahead size for disks that
are handled by the qemu-block-curl plugin. Unfortunately, nbdkit doesn't
currently support any readahead configuration. In nbdkit, readahead is
handled by an nbkit "filter" that takes no configuration options
(`nbdkit --filter=readahead ...`). In theory, this filter tries to
adaptively read ahead. But when I discussed it with Rich, he suggested
that he had stopped using it in virt-v2v because it was causing more
trouble than it was worth. He also suggested that this readahead filter
might need a complete rewrite, and presumably the rewrite could include
the ability to configure a readahead buffer size. But I'm not sure what
the timeframe might be for that.
3. blockdev-create
There is support in libvirt[3] for creating ssh network disks by sending
a 'blockdev-create' command to qemu. If qemu is no longer handling ssh
network disk sources directly, this feature becomes significantly more
complicated. I don't yet know enough about this part of the libvirt code
to know what further complications might pop up here. From my reading of
the code, this is mostly triggered by things like `virsh blockcopy`
`virsh backup-begin`, etc. But nbdkit cannot currently do this. Rich
pointed me to a recent commit[4] where he added disk creation to the
nbdkit vddk plugin, and suggested that something similar could be added
for the nbdkit ssh plugin.
[3]
https://gitlab.com/libvirt/libvirt/-/blob/6be7beb3bdb9ad611a5598dad7edfbd2a…
[4]
https://gitlab.com/nbdkit/nbdkit/-/commit/a39d5773afc3ebab7e5768118a2bccb89…
It seems to me that it's essential that we resolve #3 before we can move
forward with nbdkit support in libvirt. (Although I admit that I have no
idea how common it is for people to use ssh disks so I suppose there's a
slim possibility that we could just disable the 'create disk' feature
for ssh disks without any practical loss of functionality?) But it's
less obvious to me whether we could move ahead despite missing readahead
size configuration, etc.
Thoughts?
Jonathon
4
12
Hi,
The goal of this patch series is to provide 'since' version to all
exported types.
This is the non lazy version of the v1. In this series, we do
change the docstrings of all exported types, to add the version
metadata, in order to have scripts/apibuild.py to fetch it and add
it to the appropriated XML API. This patch series also enforces
that every new exported types requires a docstring with version
with the proper format.
v1: https://listman.redhat.com/archives/libvir-list/2022-April/229881.html
I've created a script that helped me out and it covered a good
amound of cases. I hand fixes all the missing docstrings and
corner cases that my script missed.
As mentioned in v1, I've used:
git grep -rq $symbol $tag $includedir
This is used to find if a given $symbol exists in a given $tag or
not. $tag starts with v1.0.0 and I have ignored any $tag that does
not start with 'v' or has '-rc' in the name.
To help review this not so small changeset, the changes were split
in the following order:
* docs: generated: 98% work from the script. I've split it
further, by module + group type.
* docs: manual: -> 30% manual labor, 70% vim's macro. It was also
split where it seems reasonable.
* docs: (...) -> Some fixes needed in the docs.
* scripts: -> Improvements to apibuild script.
* syms: -> Some fixes found with the found mismatch between
docstring and sym files.
Other than that, I only caught two false positives, that is, a $symbol
was present in a $tag but it was exported only at a latter $tag.
Branch : https://gitlab.com/victortoso/libvirt/-/commits/add-since-version
Green CI: https://gitlab.com/victortoso/libvirt/-/pipelines/517262280
Cheers,
Victor
Victor Toso (34):
docs: Fix generated documentation of virConnectListAllNodeDeviceFlags
docs: variable: Move docstring from source to header file
docs: generated: enums: libvirt: append 'Since version' metadata
docs: generated: enums: qemu: append 'Since version' metadata
docs: generated: enums: admin: append 'Since version' metadata
docs: generated: macros: libvirt: append 'Since version' metadata
docs: generated: macros: admin: append 'Since version' metadata
docs: generated: typedefs: libvirt: append 'Since version' metadata
docs: generated: typedefs: qemu: append 'Since version' metadata
docs: generated: typedefs: admin: append 'Since version' metadata
docs: generated: functions: libvirt: append 'Since version' metadata
docs: generated: functions: qemu: append 'Since version' metadata
docs: generated: functions: lxc: append 'Since version' metadata
docs: generated: functions: admin: append 'Since version' metadata
docs: manual: typedef: add docstring and Since metadata
docs: manual: functions: add Since metadata
docs: manual: enums: add docstring and Since metadata
docs: manual: macros: add docstring and Since metadata
docs: manual: libvirt-common: add docstring and Since metadata
docs: Fix generated documentation of virStorageVolInfoFlags
docs: Fix and append Since to virConnectListAllStoragePoolsFlags
docs: Fix and append Since to virDomainDeviceModifyFlags
docs: Fix and append Since to virDomainMemoryModFlags
docs: Fix and append Since to virDomainVcpuFlags
scripts: apibuild: parse 'Since' version for enums
scripts: apibuild: fix parsing block comments from typedef enum
scripts: apibuild: parse 'Since' for typedefs
scripts: apibuild: parse 'Since' for macros
scripts: apibuild: parse 'Since' for functions
scripts: apibuild: factor out comment cleaning
scripts: apibuild: add parsing variable's comments
syms: admin: Add sections to match when API was introduced
syms: libvirt: move virDomainSetBlockThreshold to 3.2.0
syntax-check: sc_prohibit_nonreentrant: skip comments
build-aux/syntax-check.mk | 2 +-
include/libvirt/libvirt-admin.h | 95 +-
include/libvirt/libvirt-common.h.in | 54 +-
include/libvirt/libvirt-domain-checkpoint.h | 62 +-
include/libvirt/libvirt-domain-snapshot.h | 100 +-
include/libvirt/libvirt-domain.h | 2665 +++++++++++++++----
include/libvirt/libvirt-event.h | 35 +-
include/libvirt/libvirt-host.h | 320 ++-
include/libvirt/libvirt-interface.h | 33 +-
include/libvirt/libvirt-network.h | 195 +-
include/libvirt/libvirt-nodedev.h | 100 +-
include/libvirt/libvirt-nwfilter.h | 29 +-
include/libvirt/libvirt-qemu.h | 39 +-
include/libvirt/libvirt-secret.h | 81 +-
include/libvirt/libvirt-storage.h | 316 ++-
include/libvirt/libvirt-stream.h | 48 +-
include/libvirt/virterror.h | 428 +--
scripts/apibuild.py | 136 +-
src/admin/libvirt-admin.c | 93 +
src/admin/libvirt_admin_public.syms | 58 +-
src/libvirt-domain-checkpoint.c | 36 +
src/libvirt-domain-snapshot.c | 63 +
src/libvirt-domain.c | 557 +++-
src/libvirt-host.c | 102 +
src/libvirt-interface.c | 63 +
src/libvirt-lxc.c | 12 +
src/libvirt-network.c | 135 +
src/libvirt-nodedev.c | 81 +
src/libvirt-nwfilter.c | 72 +
src/libvirt-qemu.c | 18 +
src/libvirt-secret.c | 60 +
src/libvirt-storage.c | 171 ++
src/libvirt-stream.c | 51 +
src/libvirt.c | 29 +-
src/libvirt_public.syms | 8 +-
src/util/virerror.c | 45 +
src/util/virevent.c | 27 +
src/util/virtypedparam-public.c | 57 +
38 files changed, 5317 insertions(+), 1159 deletions(-)
--
2.35.1
4
47
[PATCH] domain_cgroup: Fix a condition in virDomainCgroupConnectCgroup()
by Michal Privoznik 19 Apr '22
by Michal Privoznik 19 Apr '22
19 Apr '22
While parts of QEMU's CGroup code were moved under hypervisor
agnostic location (src/hypervisor/) a typo sneaked in. The
inspiration for virDomainCgroupConnectCgroup() comes from
qemuConnectCgroup(). The former is called upon reconnecting to a
running domain (after daemon restart). While the latter returned
early if the daemon was running unprivileged, the former returns
early if the daemon runs privileged. This is obviously wrong,
because root can set up CGroups.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2075765
Fixes: 788e2b58cb1896f1c25ebbdbde4bafddc5ed4dc9
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/hypervisor/domain_cgroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hypervisor/domain_cgroup.c b/src/hypervisor/domain_cgroup.c
index 5af88155bc..8072465615 100644
--- a/src/hypervisor/domain_cgroup.c
+++ b/src/hypervisor/domain_cgroup.c
@@ -485,7 +485,7 @@ virDomainCgroupConnectCgroup(const char *prefix,
bool privileged,
char *machineName)
{
- if (privileged)
+ if (!privileged)
return 0;
if (!virCgroupAvailable())
--
2.35.1
2
1
[libvirt PATCH] Fix copy-paste error in virNetServerSetClientAuthenticated
by Tim Wiederhake 19 Apr '22
by Tim Wiederhake 19 Apr '22
19 Apr '22
Fixes: db16792aa90cab5c9886fc2990ec13fbb20a3fb5
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/rpc/virnetserver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c
index 9b333f1a6c..371b72c8d6 100644
--- a/src/rpc/virnetserver.c
+++ b/src/rpc/virnetserver.c
@@ -827,7 +827,7 @@ virNetServerSetClientAuthenticated(virNetServer *srv,
virNetServerClient *client)
{
VIR_LOCK_GUARD server_lock = virObjectLockGuard(srv);
- VIR_LOCK_GUARD client_lock = virObjectLockGuard(srv);
+ VIR_LOCK_GUARD client_lock = virObjectLockGuard(client);
virNetServerClientSetAuthLocked(client, VIR_NET_SERVER_SERVICE_AUTH_NONE);
virNetServerSetClientAuthCompletedLocked(srv, client);
--
2.31.1
2
1
19 Apr '22
All QEMU versions we support have the corresponding features.
Andrea Bolognani (7):
tests: Drop pseries-machine-max-cpu-compat
qemu: Assume QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT
qemu: Stop setting QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT
qemu: Retire QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT
qemu: Assume QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT
qemu: Stop setting QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT
qemu: Retire QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT
src/qemu/qemu_capabilities.c | 12 +++-----
src/qemu/qemu_capabilities.h | 4 +--
src/qemu/qemu_command.c | 8 +----
src/qemu/qemu_validate.c | 8 -----
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 --
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 --
.../pseries-machine-max-cpu-compat.args | 29 -------------------
.../pseries-machine-max-cpu-compat.xml | 17 -----------
tests/qemuxml2argvtest.c | 22 ++++----------
tests/qemuxml2xmltest.c | 1 -
15 files changed, 12 insertions(+), 103 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/pseries-machine-max-cpu-compat.args
delete mode 100644 tests/qemuxml2argvdata/pseries-machine-max-cpu-compat.xml
--
2.35.1
2
8