[libvirt] [PATCH 00/24] Finish support for IA32_ARCH_CAPABILITIES MSR features

The MSR infrastructure is already present in our cpu driver, but no features were introduced yet since we needed additional support from QEMU. This is now pushed upstream and we can finally enable MSR features for QEMU. However, one more bit is missing here: we need to make sure to not use any MSR bits with QEMU which lack support for "unavailable-features" CPU property, otherwise migration, snapshots and save/restore would be broken. I'll send patches for this later to give more time for reviewing the core of this series. Jiri Denemark (24): qemu: Drop qemuFeatureNoEffect qemu_process: Drop cleanup label from qemuProcessUpdateGuestCPU cpu_conf: Introduce virCPUDefFilterFeatures qemu: Filter CPU features in active XML qemuxml2argvtest: Switch some tests to DO_TEST_CAPS_* qemu_command: Use consistent syntax for CPU features tests: Add QEMU caps data for future 4.1.0 tests: Add domain capabilities case for QEMU 4.1.0 qemuxml2argvtest: Add 4.0.0 cases for kvm features tests qemuxml2argvtest: Add test for CPU features translation qemu: Add APIs for translating CPU features qemu: Probe for max-x86_64-cpu type qemu: Probe for "unavailable-features" CPU property qemu: Probe host CPU after capabilities qemu_command: Use canonical names of CPU features qemu: Translate feature names from query-cpu-model-expansion qemu: Don't use full CPU model expansion qemu: Make qemuMonitorGetGuestCPU usable on x86 only cpu: Introduce virCPUDataAddFeature qemu: Add type filter to qemuMonitorJSONParsePropsList qemu: Introduce generic qemuMonitorGetGuestCPU qemu_process: Prefer generic qemuMonitorGetGuestCPU cpu_x86: Read CPU features from IA32_ARCH_CAPABILITIES MSR cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features src/conf/cpu_conf.c | 22 + src/conf/cpu_conf.h | 5 + src/cpu/cpu.c | 33 + src/cpu/cpu.h | 9 + src/cpu/cpu_x86.c | 25 +- src/cpu/cpu_x86.h | 3 - src/cpu_map/x86_features.xml | 20 + src/libvirt_private.syms | 3 +- src/qemu/qemu_capabilities.c | 125 +- src/qemu/qemu_capabilities.h | 11 + src/qemu/qemu_capspriv.h | 3 +- src/qemu/qemu_command.c | 65 +- src/qemu/qemu_monitor.c | 51 +- src/qemu/qemu_monitor.h | 11 +- src/qemu/qemu_monitor_json.c | 272 +- src/qemu/qemu_monitor_json.h | 8 +- src/qemu/qemu_process.c | 70 +- tests/cputest.c | 2 +- .../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-json.xml | 1 + ...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 1 + .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 4 + .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 4 + .../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 3 + .../qemu_3.1.0.x86_64.xml | 1 + .../qemu_4.0.0.x86_64.xml | 1 + .../qemu_4.1.0.x86_64.xml | 161 + tests/domaincapstest.c | 5 + .../caps_2.10.0.x86_64.xml | 1 + .../caps_2.11.0.x86_64.xml | 1 + .../caps_2.12.0.x86_64.replies | 1104 +- .../caps_2.12.0.x86_64.xml | 1 + .../caps_2.9.0.x86_64.xml | 1 + .../caps_3.0.0.x86_64.replies | 1132 +- .../caps_3.0.0.x86_64.xml | 1 + .../caps_3.1.0.x86_64.replies | 1180 +- .../caps_3.1.0.x86_64.xml | 1 + .../caps_4.0.0.x86_64.replies | 1196 +- .../caps_4.0.0.x86_64.xml | 1 + .../caps_4.1.0.x86_64.replies | 22716 ++++++++++++++++ .../caps_4.1.0.x86_64.xml | 1267 + tests/qemumonitorjsontest.c | 10 +- .../cpu-host-model-cmt.x86_64-4.0.0.args | 37 + .../cpu-translation.x86_64-4.0.0.args | 36 + .../cpu-translation.x86_64-latest.args | 36 + tests/qemuxml2argvdata/cpu-translation.xml | 34 + .../cpu-tsc-frequency.x86_64-4.0.0.args | 36 + ...ed.args => eoi-disabled.x86_64-2.7.0.args} | 12 +- .../eoi-disabled.x86_64-4.0.0.args | 33 + .../eoi-disabled.x86_64-latest.args | 33 + ...led.args => eoi-enabled.x86_64-2.7.0.args} | 12 +- .../eoi-enabled.x86_64-4.0.0.args | 33 + .../eoi-enabled.x86_64-latest.args | 33 + ...> kvmclock+eoi-disabled.x86_64-2.7.0.args} | 12 +- .../kvmclock+eoi-disabled.x86_64-4.0.0.args | 33 + .../kvmclock+eoi-disabled.x86_64-latest.args | 33 + ...=> pv-spinlock-disabled.x86_64-2.7.0.args} | 12 +- .../pv-spinlock-disabled.x86_64-4.0.0.args | 33 + .../pv-spinlock-disabled.x86_64-latest.args | 33 + ... => pv-spinlock-enabled.x86_64-2.7.0.args} | 12 +- .../pv-spinlock-enabled.x86_64-4.0.0.args | 33 + .../pv-spinlock-enabled.x86_64-latest.args | 33 + tests/qemuxml2argvtest.c | 22 +- 63 files changed, 29815 insertions(+), 308 deletions(-) create mode 100644 tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml create mode 100644 tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.xml create mode 100644 tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args rename tests/qemuxml2argvdata/{eoi-disabled.args => eoi-disabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{eoi-enabled.args => eoi-enabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args rename tests/qemuxml2argvdata/{kvmclock+eoi-disabled.args => kvmclock+eoi-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-disabled.args => pv-spinlock-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-enabled.args => pv-spinlock-enabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args -- 2.22.0

We already have virQEMUCapsCPUFilterFeatures for filtering features which QEMU does not know about. Let's move osxsave and ospke from qemuFeatureNoEffect there. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 9 ++++++++- src/qemu/qemu_command.c | 24 ++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index d0fdd1da9f..5f989a2613 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2823,6 +2823,11 @@ virQEMUCapsProbeQMPSEVCapabilities(virQEMUCapsPtr qemuCaps, } +/* + * Filter for features which should never be passed to QEMU. Either because + * QEMU never supported them or they were dropped as they never did anything + * useful. + */ bool virQEMUCapsCPUFilterFeatures(const char *name, void *opaque) @@ -2834,7 +2839,9 @@ virQEMUCapsCPUFilterFeatures(const char *name, if (STREQ(name, "cmt") || STREQ(name, "mbm_total") || - STREQ(name, "mbm_local")) + STREQ(name, "mbm_local") || + STREQ(name, "osxsave") || + STREQ(name, "ospke")) return false; return true; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 59dc134785..6cc165a118 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7038,27 +7038,6 @@ qemuBuildGlobalControllerCommandLine(virCommandPtr cmd, return 0; } -/** - * qemuFeatureNoEffect: - * @feature: CPU Feature - * - * Returns true, if the feature is known to have (never had) an effect on QEMU. - * Those features might be dropped in qemu without a longer deprecation cycle - * and must therefore be known e.g. to no more define them on command line. - */ -static bool -qemuFeatureNoEffect(virCPUFeatureDefPtr feature) -{ - if (!feature->name) - return false; - - if (STREQ(feature->name, "osxsave")) - return true; - if (STREQ(feature->name, "ospke")) - return true; - - return false; -} static int qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, @@ -7127,7 +7106,8 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, virBufferAsprintf(buf, ",vendor=%s", cpu->vendor_id); for (i = 0; i < cpu->nfeatures; i++) { - if (qemuFeatureNoEffect(&(cpu->features[i]))) + if (!virQEMUCapsCPUFilterFeatures(cpu->features[i].name, + (virArch *)&def->os.arch)) continue; switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: -- 2.22.0

On Wed, Jun 19, 2019 at 11:37:58AM +0200, Jiri Denemark wrote:
We already have virQEMUCapsCPUFilterFeatures for filtering features which QEMU does not know about. Let's move osxsave and ospke from qemuFeatureNoEffect there.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 9 ++++++++- src/qemu/qemu_command.c | 24 ++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_process.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1626796c19..144328c148 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5893,8 +5893,6 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, virCapsPtr caps, unsigned int flags) { - int ret = -1; - if (!def->cpu) return 0; @@ -5943,17 +5941,14 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, if (virCPUUpdate(def->os.arch, def->cpu, virQEMUCapsGetHostModel(qemuCaps, def->virtType, VIR_QEMU_CAPS_HOST_CPU_MIGRATABLE)) < 0) - goto cleanup; + return -1; if (virCPUTranslate(def->os.arch, def->cpu, virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType)) < 0) - goto cleanup; + return -1; def->cpu->fallback = VIR_CPU_FALLBACK_FORBID; - ret = 0; - - cleanup: - return ret; + return 0; } -- 2.22.0

On Wed, Jun 19, 2019 at 11:37:59AM +0200, Jiri Denemark wrote:
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_process.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

This new internal API can be used for in place filtering of CPU features in virCPUDef. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/conf/cpu_conf.c | 22 ++++++++++++++++++++++ src/conf/cpu_conf.h | 5 +++++ src/libvirt_private.syms | 1 + 3 files changed, 28 insertions(+) diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 825df88246..675d214c50 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -908,6 +908,28 @@ virCPUDefFindFeature(virCPUDefPtr def, } +int +virCPUDefFilterFeatures(virCPUDefPtr cpu, + virCPUDefFeatureFilter filter, + void *opaque) +{ + size_t i = 0; + + while (i < cpu->nfeatures) { + if (filter(cpu->features[i].name, opaque)) { + i++; + continue; + } + + VIR_FREE(cpu->features[i].name); + if (VIR_DELETE_ELEMENT_INPLACE(cpu->features, i, cpu->nfeatures) < 0) + return -1; + } + + return 0; +} + + bool virCPUDefIsEqual(virCPUDefPtr src, virCPUDefPtr dst, diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h index 562e0de531..906ef5368e 100644 --- a/src/conf/cpu_conf.h +++ b/src/conf/cpu_conf.h @@ -219,6 +219,11 @@ virCPUFeatureDefPtr virCPUDefFindFeature(virCPUDefPtr def, const char *name); +int +virCPUDefFilterFeatures(virCPUDefPtr cpu, + virCPUDefFeatureFilter filter, + void *opaque); + virCPUDefPtr * virCPUDefListParse(const char **xmlCPUs, unsigned int ncpus, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 0e6a39b59b..228cd929b4 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -77,6 +77,7 @@ virCPUDefCopy; virCPUDefCopyModel; virCPUDefCopyModelFilter; virCPUDefCopyWithoutModel; +virCPUDefFilterFeatures; virCPUDefFindFeature; virCPUDefFormat; virCPUDefFormatBuf; -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:00AM +0200, Jiri Denemark wrote:
This new internal API can be used for in place filtering of CPU features in virCPUDef.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/conf/cpu_conf.c | 22 ++++++++++++++++++++++ src/conf/cpu_conf.h | 5 +++++ src/libvirt_private.syms | 1 + 3 files changed, 28 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Properly filter features which should not be passed to QEMU because they were never supported by QEMU or they did nothing and QEMU dropped them. Currently they are just silently ignored by the command line generator. Let's make this process more visible and clean by dropping the features from the domain's active definition in qemuProcessUpdateGuestCPU. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_command.c | 3 --- src/qemu/qemu_process.c | 38 +++++++++++++++++++++----------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6cc165a118..a23e428322 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7106,9 +7106,6 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, virBufferAsprintf(buf, ",vendor=%s", cpu->vendor_id); for (i = 0; i < cpu->nfeatures; i++) { - if (!virQEMUCapsCPUFilterFeatures(cpu->features[i].name, - (virArch *)&def->os.arch)) - continue; switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: case VIR_CPU_FEATURE_REQUIRE: diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 144328c148..47e84e5ef0 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5928,26 +5928,30 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, return -1; /* nothing to update for host-passthrough */ - if (def->cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) - return 0; + if (def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) { + if (def->cpu->check == VIR_CPU_CHECK_PARTIAL && + virCPUCompare(caps->host.arch, + virQEMUCapsGetHostModel(qemuCaps, def->virtType, + VIR_QEMU_CAPS_HOST_CPU_FULL), + def->cpu, true) < 0) + return -1; - if (def->cpu->check == VIR_CPU_CHECK_PARTIAL && - virCPUCompare(caps->host.arch, - virQEMUCapsGetHostModel(qemuCaps, def->virtType, - VIR_QEMU_CAPS_HOST_CPU_FULL), - def->cpu, true) < 0) + if (virCPUUpdate(def->os.arch, def->cpu, + virQEMUCapsGetHostModel(qemuCaps, def->virtType, + VIR_QEMU_CAPS_HOST_CPU_MIGRATABLE)) < 0) + return -1; + + if (virCPUTranslate(def->os.arch, def->cpu, + virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType)) < 0) + return -1; + + def->cpu->fallback = VIR_CPU_FALLBACK_FORBID; + } + + if (virCPUDefFilterFeatures(def->cpu, virQEMUCapsCPUFilterFeatures, + &def->os.arch) < 0) return -1; - if (virCPUUpdate(def->os.arch, def->cpu, - virQEMUCapsGetHostModel(qemuCaps, def->virtType, - VIR_QEMU_CAPS_HOST_CPU_MIGRATABLE)) < 0) - return -1; - - if (virCPUTranslate(def->os.arch, def->cpu, - virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType)) < 0) - return -1; - - def->cpu->fallback = VIR_CPU_FALLBACK_FORBID; return 0; } -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:01AM +0200, Jiri Denemark wrote:
Properly filter features which should not be passed to QEMU because they were never supported by QEMU or they did nothing and QEMU dropped them.
Currently they are just silently ignored by the command line generator. Let's make this process more visible and clean by dropping the features from the domain's active definition in qemuProcessUpdateGuestCPU.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_command.c | 3 --- src/qemu/qemu_process.c | 38 +++++++++++++++++++++----------------- 2 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6cc165a118..a23e428322 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7106,9 +7106,6 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, virBufferAsprintf(buf, ",vendor=%s", cpu->vendor_id);
for (i = 0; i < cpu->nfeatures; i++) { - if (!virQEMUCapsCPUFilterFeatures(cpu->features[i].name, - (virArch *)&def->os.arch)) - continue; switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: case VIR_CPU_FEATURE_REQUIRE: diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 144328c148..47e84e5ef0 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5928,26 +5928,30 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, return -1;
/* nothing to update for host-passthrough */ - if (def->cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) - return 0; + if (def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) { + if (def->cpu->check == VIR_CPU_CHECK_PARTIAL && + virCPUCompare(caps->host.arch, + virQEMUCapsGetHostModel(qemuCaps, def->virtType, + VIR_QEMU_CAPS_HOST_CPU_FULL), + def->cpu, true) < 0) + return -1;
- if (def->cpu->check == VIR_CPU_CHECK_PARTIAL && - virCPUCompare(caps->host.arch, - virQEMUCapsGetHostModel(qemuCaps, def->virtType, - VIR_QEMU_CAPS_HOST_CPU_FULL), - def->cpu, true) < 0) + if (virCPUUpdate(def->os.arch, def->cpu, + virQEMUCapsGetHostModel(qemuCaps, def->virtType, + VIR_QEMU_CAPS_HOST_CPU_MIGRATABLE)) < 0) + return -1; + + if (virCPUTranslate(def->os.arch, def->cpu, + virQEMUCapsGetCPUDefinitions(qemuCaps, def->virtType)) < 0) + return -1; + + def->cpu->fallback = VIR_CPU_FALLBACK_FORBID; + } +
Splitting the condition inversion and resulting indentation change would make this patch nicer. Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

These test check all kvm CPU features that could be passed to the -cpu option by libvirt. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- ...ed.args => eoi-disabled.x86_64-2.7.0.args} | 12 ++++--- .../eoi-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ...led.args => eoi-enabled.x86_64-2.7.0.args} | 12 ++++--- .../eoi-enabled.x86_64-latest.args | 33 +++++++++++++++++++ ...> kvmclock+eoi-disabled.x86_64-2.7.0.args} | 12 ++++--- .../kvmclock+eoi-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ...=> pv-spinlock-disabled.x86_64-2.7.0.args} | 12 ++++--- .../pv-spinlock-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ... => pv-spinlock-enabled.x86_64-2.7.0.args} | 12 ++++--- .../pv-spinlock-enabled.x86_64-latest.args | 33 +++++++++++++++++++ tests/qemuxml2argvtest.c | 15 ++++++--- 11 files changed, 215 insertions(+), 25 deletions(-) rename tests/qemuxml2argvdata/{eoi-disabled.args => eoi-disabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{eoi-enabled.args => eoi-enabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args rename tests/qemuxml2argvdata/{kvmclock+eoi-disabled.args => kvmclock+eoi-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-disabled.args => pv-spinlock-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-enabled.args => pv-spinlock-enabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args diff --git a/tests/qemuxml2argvdata/eoi-disabled.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-2.7.0.args similarity index 65% rename from tests/qemuxml2argvdata/eoi-disabled.args rename to tests/qemuxml2argvdata/eoi-disabled.x86_64-2.7.0.args index 57fad2b666..5596739288 100644 --- a/tests/qemuxml2argvdata/eoi-disabled.args +++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-2.7.0.args @@ -8,9 +8,11 @@ XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ QEMU_AUDIO_DRV=none \ /usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-2.7,accel=tcg,usb=off,dump-guest-core=off \ -cpu qemu32,-kvm_pv_eoi \ -m 214 \ -realtime mlock=off \ @@ -24,5 +26,7 @@ server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --usb \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args new file mode 100644 index 0000000000..e59d0ab29b --- /dev/null +++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,-kvm_pv_eoi \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/eoi-enabled.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-2.7.0.args similarity index 65% rename from tests/qemuxml2argvdata/eoi-enabled.args rename to tests/qemuxml2argvdata/eoi-enabled.x86_64-2.7.0.args index 04836db5fd..03b3d05582 100644 --- a/tests/qemuxml2argvdata/eoi-enabled.args +++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-2.7.0.args @@ -8,9 +8,11 @@ XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ QEMU_AUDIO_DRV=none \ /usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-2.7,accel=tcg,usb=off,dump-guest-core=off \ -cpu qemu32,+kvm_pv_eoi \ -m 214 \ -realtime mlock=off \ @@ -24,5 +26,7 @@ server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --usb \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args new file mode 100644 index 0000000000..fed8deb688 --- /dev/null +++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,+kvm_pv_eoi \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-2.7.0.args similarity index 66% rename from tests/qemuxml2argvdata/kvmclock+eoi-disabled.args rename to tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-2.7.0.args index 5ef3f07f0e..1a566358c0 100644 --- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.args +++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-2.7.0.args @@ -8,9 +8,11 @@ XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ QEMU_AUDIO_DRV=none \ /usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-2.7,accel=tcg,usb=off,dump-guest-core=off \ -cpu qemu32,-kvmclock,-kvm_pv_eoi \ -m 214 \ -realtime mlock=off \ @@ -24,5 +26,7 @@ server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --usb \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args new file mode 100644 index 0000000000..c1c6e2b621 --- /dev/null +++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,-kvmclock,-kvm_pv_eoi \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-2.7.0.args similarity index 66% rename from tests/qemuxml2argvdata/pv-spinlock-disabled.args rename to tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-2.7.0.args index cda812d89c..5e8f4f62e4 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-disabled.args +++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-2.7.0.args @@ -8,9 +8,11 @@ XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ QEMU_AUDIO_DRV=none \ /usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-2.7,accel=tcg,usb=off,dump-guest-core=off \ -cpu qemu32,-kvm_pv_unhalt \ -m 214 \ -realtime mlock=off \ @@ -24,5 +26,7 @@ server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --usb \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args new file mode 100644 index 0000000000..52a36ca075 --- /dev/null +++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,-kvm_pv_unhalt \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-2.7.0.args similarity index 66% rename from tests/qemuxml2argvdata/pv-spinlock-enabled.args rename to tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-2.7.0.args index 3f27b57bb7..79e097e554 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-enabled.args +++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-2.7.0.args @@ -8,9 +8,11 @@ XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ QEMU_AUDIO_DRV=none \ /usr/bin/qemu-system-i686 \ --name QEMUGuest1 \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-2.7,accel=tcg,usb=off,dump-guest-core=off \ -cpu qemu32,+kvm_pv_unhalt \ -m 214 \ -realtime mlock=off \ @@ -24,5 +26,7 @@ server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --usb \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args new file mode 100644 index 0000000000..4f1ab219af --- /dev/null +++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,+kvm_pv_unhalt \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 49220733ae..55267ddedc 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -873,11 +873,16 @@ mymain(void) QEMU_CAPS_USB_HUB, QEMU_CAPS_DEVICE_ISA_SERIAL, QEMU_CAPS_DEVICE_CIRRUS_VGA); - DO_TEST("eoi-disabled", NONE); - DO_TEST("eoi-enabled", NONE); - DO_TEST("pv-spinlock-disabled", NONE); - DO_TEST("pv-spinlock-enabled", NONE); - DO_TEST("kvmclock+eoi-disabled", NONE); + DO_TEST_CAPS_VER("eoi-disabled", "2.7.0"); + DO_TEST_CAPS_LATEST("eoi-disabled"); + DO_TEST_CAPS_VER("eoi-enabled", "2.7.0"); + DO_TEST_CAPS_LATEST("eoi-enabled"); + DO_TEST_CAPS_VER("pv-spinlock-disabled", "2.7.0"); + DO_TEST_CAPS_LATEST("pv-spinlock-disabled"); + DO_TEST_CAPS_VER("pv-spinlock-enabled", "2.7.0"); + DO_TEST_CAPS_LATEST("pv-spinlock-enabled"); + DO_TEST_CAPS_VER("kvmclock+eoi-disabled", "2.7.0"); + DO_TEST_CAPS_LATEST("kvmclock+eoi-disabled"); DO_TEST("hyperv", NONE); DO_TEST("hyperv-off", NONE); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:02AM +0200, Jiri Denemark wrote:
These test check all kvm CPU features that could be passed to the -cpu option by libvirt.
It would be nice to mention why you picked 2.7.0 here.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- ...ed.args => eoi-disabled.x86_64-2.7.0.args} | 12 ++++--- .../eoi-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ...led.args => eoi-enabled.x86_64-2.7.0.args} | 12 ++++--- .../eoi-enabled.x86_64-latest.args | 33 +++++++++++++++++++ ...> kvmclock+eoi-disabled.x86_64-2.7.0.args} | 12 ++++--- .../kvmclock+eoi-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ...=> pv-spinlock-disabled.x86_64-2.7.0.args} | 12 ++++--- .../pv-spinlock-disabled.x86_64-latest.args | 33 +++++++++++++++++++ ... => pv-spinlock-enabled.x86_64-2.7.0.args} | 12 ++++--- .../pv-spinlock-enabled.x86_64-latest.args | 33 +++++++++++++++++++ tests/qemuxml2argvtest.c | 15 ++++++--- 11 files changed, 215 insertions(+), 25 deletions(-) rename tests/qemuxml2argvdata/{eoi-disabled.args => eoi-disabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{eoi-enabled.args => eoi-enabled.x86_64-2.7.0.args} (65%) create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args rename tests/qemuxml2argvdata/{kvmclock+eoi-disabled.args => kvmclock+eoi-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-disabled.args => pv-spinlock-disabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args rename tests/qemuxml2argvdata/{pv-spinlock-enabled.args => pv-spinlock-enabled.x86_64-2.7.0.args} (66%) create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Wed, Jun 19, 2019 at 13:43:53 +0200, Ján Tomko wrote:
On Wed, Jun 19, 2019 at 11:38:02AM +0200, Jiri Denemark wrote:
These test check all kvm CPU features that could be passed to the -cpu option by libvirt.
It would be nice to mention why you picked 2.7.0 here.
Yeah, I forgot to do so. With QEMU 2.7.0 and earlier, we use +|-feature syntax for CPU features, while feature=on|off is used with newer versions. I added similar explanation to the commit message. Jirka

Normal CPU features use modern -cpu ...,feature=on|off syntax when available, but kvm features kept using the old +feature or -feature. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_command.c | 46 +++++++++---------- .../eoi-disabled.x86_64-latest.args | 2 +- .../eoi-enabled.x86_64-latest.args | 2 +- .../kvmclock+eoi-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-enabled.x86_64-latest.args | 2 +- 6 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a23e428322..08da30d10c 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7039,6 +7039,19 @@ qemuBuildGlobalControllerCommandLine(virCommandPtr cmd, } +static void +qemuBuildCpuFeature(virQEMUCapsPtr qemuCaps, + virBufferPtr buf, + const char *name, + bool state) +{ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) + virBufferAsprintf(buf, ",%s=%s", name, state ? "on" : "off"); + else + virBufferAsprintf(buf, ",%c%s", state ? '+' : '-', name); +} + + static int qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, const virDomainDef *def, @@ -7109,18 +7122,12 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, switch ((virCPUFeaturePolicy) cpu->features[i].policy) { case VIR_CPU_FEATURE_FORCE: case VIR_CPU_FEATURE_REQUIRE: - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) - virBufferAsprintf(buf, ",%s=on", cpu->features[i].name); - else - virBufferAsprintf(buf, ",+%s", cpu->features[i].name); + qemuBuildCpuFeature(qemuCaps, buf, cpu->features[i].name, true); break; case VIR_CPU_FEATURE_DISABLE: case VIR_CPU_FEATURE_FORBID: - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) - virBufferAsprintf(buf, ",%s=off", cpu->features[i].name); - else - virBufferAsprintf(buf, ",-%s", cpu->features[i].name); + qemuBuildCpuFeature(qemuCaps, buf, cpu->features[i].name, false); break; case VIR_CPU_FEATURE_OPTIONAL: @@ -7179,8 +7186,8 @@ qemuBuildCpuCommandLine(virCommandPtr cmd, if (timer->name == VIR_DOMAIN_TIMER_NAME_KVMCLOCK && timer->present != -1) { - virBufferAsprintf(&buf, ",%ckvmclock", - timer->present ? '+' : '-'); + qemuBuildCpuFeature(qemuCaps, &buf, "kvmclock", + !!timer->present); } else if (timer->name == VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK && timer->present == 1) { virBufferAddLit(&buf, ",hv_time"); @@ -7191,24 +7198,13 @@ qemuBuildCpuCommandLine(virCommandPtr cmd, } if (def->apic_eoi) { - char sign; - if (def->apic_eoi == VIR_TRISTATE_SWITCH_ON) - sign = '+'; - else - sign = '-'; - - virBufferAsprintf(&buf, ",%ckvm_pv_eoi", sign); + qemuBuildCpuFeature(qemuCaps, &buf, "kvm_pv_eoi", + def->apic_eoi == VIR_TRISTATE_SWITCH_ON); } if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK]) { - char sign; - if (def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] == - VIR_TRISTATE_SWITCH_ON) - sign = '+'; - else - sign = '-'; - - virBufferAsprintf(&buf, ",%ckvm_pv_unhalt", sign); + qemuBuildCpuFeature(qemuCaps, &buf, "kvm_pv_unhalt", + def->features[VIR_DOMAIN_FEATURE_PVSPINLOCK] == VIR_TRISTATE_SWITCH_ON); } if (def->features[VIR_DOMAIN_FEATURE_HYPERV] == VIR_TRISTATE_SWITCH_ON) { diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args index e59d0ab29b..caae868abf 100644 --- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,-kvm_pv_eoi \ +-cpu qemu32,kvm_pv_eoi=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args index fed8deb688..abafafa411 100644 --- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,+kvm_pv_eoi \ +-cpu qemu32,kvm_pv_eoi=on \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args index c1c6e2b621..23d2bcb87e 100644 --- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,-kvmclock,-kvm_pv_eoi \ +-cpu qemu32,kvmclock=off,kvm_pv_eoi=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args index 52a36ca075..b78533cf39 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,-kvm_pv_unhalt \ +-cpu qemu32,kvm_pv_unhalt=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args index 4f1ab219af..a016e80016 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,+kvm_pv_unhalt \ +-cpu qemu32,kvm_pv_unhalt=on \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:03AM +0200, Jiri Denemark wrote:
Normal CPU features use modern -cpu ...,feature=on|off syntax when available, but kvm features kept using the old +feature or -feature.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_command.c | 46 +++++++++---------- .../eoi-disabled.x86_64-latest.args | 2 +- .../eoi-enabled.x86_64-latest.args | 2 +- .../kvmclock+eoi-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-enabled.x86_64-latest.args | 2 +- 6 files changed, 26 insertions(+), 30 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../caps_4.1.0.x86_64.replies | 23538 ++++++++++++++++ .../caps_4.1.0.x86_64.xml | 1414 + 2 files changed, 24952 insertions(+) create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies new file mode 100644 index 0000000000..7f3c22e176 --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies @@ -0,0 +1,23538 @@ +{ + "execute": "qmp_capabilities", + "id": "libvirt-1" +} + +{ + "return": { + }, + "id": "libvirt-1" +} + +{ + "execute": "query-version", + "id": "libvirt-2" +} + +{ + "return": { + "qemu": { + "micro": 50, + "minor": 0, + "major": 4 + }, + "package": "v4.0.0-1173-g9c70209b63" + }, + "id": "libvirt-2" +} + +{ + "execute": "query-target", + "id": "libvirt-3" +} + +{ + "return": { + "arch": "x86_64" + }, + "id": "libvirt-3" +} + +{ + "execute": "query-commands", + "id": "libvirt-4" +} + +{ + "return": [ + { + "name": "netdev_add" + }, + { + "name": "device_add" + }, + { + "name": "query-qmp-schema" + }, + { + "name": "query-cpu-definitions" + }, + { + "name": "query-cpu-model-expansion" + }, + { + "name": "query-sev-capabilities" + }, + { + "name": "query-sev-launch-measure" + }, + { + "name": "query-sev" + }, + { + "name": "rtc-reset-reinjection" + }, + { + "name": "set-numa-node" + }, + { + "name": "query-vm-generation-id" + }, + { + "name": "query-hotpluggable-cpus" + }, + { + "name": "xen-load-devices-state" + }, + { + "name": "query-acpi-ospm-status" + }, + { + "name": "query-memory-devices" + }, + { + "name": "query-memdev" + }, + { + "name": "query-command-line-options" + }, + { + "name": "query-target" + }, + { + "name": "query-fdsets" + }, + { + "name": "remove-fd" + }, + { + "name": "add-fd" + }, + { + "name": "query-memory-size-summary" + }, + { + "name": "query-current-machine" + }, + { + "name": "query-machines" + }, + { + "name": "closefd" + }, + { + "name": "getfd" + }, + { + "name": "object-del" + }, + { + "name": "object-add" + }, + { + "name": "query-dump-guest-memory-capability" + }, + { + "name": "query-dump" + }, + { + "name": "dump-guest-memory" + }, + { + "name": "device_del" + }, + { + "name": "xen-set-global-dirty-log" + }, + { + "name": "qom-list-properties" + }, + { + "name": "device-list-properties" + }, + { + "name": "qom-list-types" + }, + { + "name": "change" + }, + { + "name": "qom-set" + }, + { + "name": "qom-get" + }, + { + "name": "qom-list" + }, + { + "name": "human-monitor-command" + }, + { + "name": "balloon" + }, + { + "name": "inject-nmi" + }, + { + "name": "system_wakeup" + }, + { + "name": "x-exit-preconfig" + }, + { + "name": "cont" + }, + { + "name": "pmemsave" + }, + { + "name": "memsave" + }, + { + "name": "cpu-add" + }, + { + "name": "system_powerdown" + }, + { + "name": "system_reset" + }, + { + "name": "stop" + }, + { + "name": "quit" + }, + { + "name": "query-pci" + }, + { + "name": "query-balloon" + }, + { + "name": "query-iothreads" + }, + { + "name": "query-cpus-fast" + }, + { + "name": "query-cpus" + }, + { + "name": "query-events" + }, + { + "name": "query-uuid" + }, + { + "name": "query-kvm" + }, + { + "name": "query-name" + }, + { + "name": "add_client" + }, + { + "name": "query-commands" + }, + { + "name": "query-version" + }, + { + "name": "qmp_capabilities" + }, + { + "name": "trace-event-set-state" + }, + { + "name": "trace-event-get-state" + }, + { + "name": "transaction" + }, + { + "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-save-devices-state" + }, + { + "name": "migrate-incoming" + }, + { + "name": "migrate" + }, + { + "name": "query-migrate-cache-size" + }, + { + "name": "migrate-set-cache-size" + }, + { + "name": "migrate_set_speed" + }, + { + "name": "migrate_set_downtime" + }, + { + "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": "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": "set_link" + }, + { + "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": "nbd-server-stop" + }, + { + "name": "nbd-server-remove" + }, + { + "name": "nbd-server-add" + }, + { + "name": "nbd-server-start" + }, + { + "name": "eject" + }, + { + "name": "blockdev-snapshot-delete-internal-sync" + }, + { + "name": "blockdev-snapshot-internal-sync" + }, + { + "name": "query-pr-managers" + }, + { + "name": "x-blockdev-set-iothread" + }, + { + "name": "x-blockdev-change" + }, + { + "name": "block-set-write-threshold" + }, + { + "name": "blockdev-change-medium" + }, + { + "name": "blockdev-insert-medium" + }, + { + "name": "blockdev-remove-medium" + }, + { + "name": "blockdev-close-tray" + }, + { + "name": "blockdev-open-tray" + }, + { + "name": "blockdev-create" + }, + { + "name": "blockdev-del" + }, + { + "name": "x-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": "block_set_io_throttle" + }, + { + "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": "block_passwd" + }, + { + "name": "query-block-jobs" + }, + { + "name": "query-blockstats" + }, + { + "name": "query-block" + }, + { + "name": "block-latency-histogram-set" + }, + { + "name": "query-jobs" + }, + { + "name": "job-finalize" + }, + { + "name": "job-dismiss" + }, + { + "name": "job-complete" + }, + { + "name": "job-cancel" + }, + { + "name": "job-resume" + }, + { + "name": "job-pause" + }, + { + "name": "watchdog-set-action" + }, + { + "name": "query-status" + } + ], + "id": "libvirt-4" +} + +{ + "execute": "query-kvm", + "id": "libvirt-5" +} + +{ + "return": { + "enabled": true, + "present": true + }, + "id": "libvirt-5" +} + +{ + "execute": "qom-list-types", + "id": "libvirt-6" +} + +{ + "return": [ + { + "name": "vhost-vsock-pci", + "parent": "vhost-vsock-pci-base" + }, + { + "name": "scsi-generic", + "parent": "scsi-device" + }, + { + "name": "qio-channel-tls", + "parent": "qio-channel" + }, + { + "name": "scsi-hd", + "parent": "scsi-disk-base" + }, + { + "name": "usb-bot", + "parent": "usb-storage-dev" + }, + { + "name": "chardev-null", + "parent": "chardev" + }, + { + "name": "chardev-parallel", + "parent": "chardev" + }, + { + "name": "qemu-xhci", + "parent": "base-xhci" + }, + { + "name": "lsi53c895a", + "parent": "pci-device" + }, + { + "name": "kvm-ioapic", + "parent": "ioapic-common" + }, + { + "name": "cpu-cluster", + "parent": "device" + }, + { + "name": "virtio-keyboard-pci", + "parent": "virtio-input-hid-pci" + }, + { + "name": "xen-sysbus", + "parent": "bus" + }, + { + "name": "xen-bus", + "parent": "bus" + }, + { + "name": "i440FX", + "parent": "pci-device" + }, + { + "name": "ide-hd", + "parent": "ide-device" + }, + { + "name": "Opteron_G1-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "kvm64-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-scsi-pci-non-transitional", + "parent": "vhost-scsi-pci-base" + }, + { + "name": "virtio-net-device", + "parent": "virtio-device" + }, + { + "name": "kvm-i8259", + "parent": "pic-common" + }, + { + "name": "virtio-9p-pci-non-transitional", + "parent": "virtio-9p-pci-base" + }, + { + "name": "chardev-pty", + "parent": "chardev" + }, + { + "name": "xen-apic", + "parent": "apic-common" + }, + { + "name": "SUNW,fdtwo", + "parent": "base-sysbus-fdc" + }, + { + "name": "isa-pcspk", + "parent": "isa-device" + }, + { + "name": "Haswell-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pc-q35-4.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "loader", + "parent": "device" + }, + { + "name": "filter-rewriter", + "parent": "netfilter" + }, + { + "name": "pc-q35-4.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "virtio-serial-pci", + "parent": "virtio-serial-pci-base" + }, + { + "name": "Nehalem-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pc-0.12-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pcie-root-port", + "parent": "pcie-root-port-base" + }, + { + "name": "virtio-crypto-device", + "parent": "virtio-device" + }, + { + "name": "usb-host", + "parent": "usb-device" + }, + { + "name": "Icelake-Client-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "usb-bt-dongle", + "parent": "usb-device" + }, + { + "name": "igd-passthrough-isa-bridge", + "parent": "pci-device" + }, + { + "name": "usb-mtp", + "parent": "usb-device" + }, + { + "name": "qemu64-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "virtio-input-host-pci", + "parent": "virtio-input-pci" + }, + { + "name": "pc-i440fx-2.10-machine", + "parent": "generic-pc-machine" + }, + { + "name": "phenom-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "e1000", + "parent": "e1000-base" + }, + { + "name": "PIIX3-xen", + "parent": "pci-piix3" + }, + { + "name": "sysbus-ahci", + "parent": "sys-bus-device" + }, + { + "name": "ccid-card-emulated", + "parent": "ccid-card" + }, + { + "name": "ich9-usb-uhci5", + "parent": "pci-uhci-usb" + }, + { + "name": "pc-i440fx-1.4-machine", + "parent": "generic-pc-machine" + }, + { + "name": "ICH9-LPC", + "parent": "pci-device" + }, + { + "name": "pc-q35-2.6-machine", + "parent": "generic-pc-machine" + }, + { + "name": "ich9-usb-uhci6", + "parent": "pci-uhci-usb" + }, + { + "name": "ich9-usb-uhci4", + "parent": "pci-uhci-usb" + }, + { + "name": "chardev-spicevmc", + "parent": "chardev-spice" + }, + { + "name": "ich9-usb-uhci3", + "parent": "pci-uhci-usb" + }, + { + "name": "ich9-usb-uhci2", + "parent": "pci-uhci-usb" + }, + { + "name": "ich9-usb-uhci1", + "parent": "pci-uhci-usb" + }, + { + "name": "tls-creds-psk", + "parent": "tls-creds" + }, + { + "name": "tpci200", + "parent": "pci-device" + }, + { + "name": "memory-backend-file", + "parent": "memory-backend" + }, + { + "name": "pc-q35-2.5-machine", + "parent": "generic-pc-machine" + }, + { + "name": "AMDVI-PCI", + "parent": "pci-device" + }, + { + "name": "filter-redirector", + "parent": "netfilter" + }, + { + "name": "rtl8139", + "parent": "pci-device" + }, + { + "name": "chardev-hci", + "parent": "chardev" + }, + { + "name": "pc-q35-2.4-machine", + "parent": "generic-pc-machine" + }, + { + "name": "container", + "parent": "object" + }, + { + "name": "pc-i440fx-3.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "megasas", + "parent": "megasas-base" + }, + { + "name": "base-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "virtio-balloon-pci-non-transitional", + "parent": "virtio-balloon-pci-base" + }, + { + "name": "qxl-vga", + "parent": "pci-qxl" + }, + { + "name": "scsi-block", + "parent": "scsi-disk-base" + }, + { + "name": "Opteron_G2-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "unimplemented-device", + "parent": "sys-bus-device" + }, + { + "name": "vhost-user-input", + "parent": "virtio-input-device" + }, + { + "name": "tls-creds-anon", + "parent": "tls-creds" + }, + { + "name": "pc-i440fx-3.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "scsi-cd", + "parent": "scsi-disk-base" + }, + { + "name": "pxb-bus", + "parent": "PCI" + }, + { + "name": "pc-0.14-machine", + "parent": "generic-pc-machine" + }, + { + "name": "accel", + "parent": "object" + }, + { + "name": "floppy-bus", + "parent": "bus" + }, + { + "name": "usb-audio", + "parent": "usb-device" + }, + { + "name": "virtio-vga", + "parent": "virtio-vga-base" + }, + { + "name": "pc-i440fx-2.12-machine", + "parent": "generic-pc-machine" + }, + { + "name": "vmware-svga", + "parent": "pci-device" + }, + { + "name": "pc-0.13-machine", + "parent": "generic-pc-machine" + }, + { + "name": "isa-serial", + "parent": "isa-device" + }, + { + "name": "virtio-serial-device", + "parent": "virtio-device" + }, + { + "name": "isa-debug-exit", + "parent": "isa-device" + }, + { + "name": "vhost-scsi-pci", + "parent": "vhost-scsi-pci-base" + }, + { + "name": "chardev-gdb", + "parent": "chardev" + }, + { + "name": "fdc37m81x-superio", + "parent": "isa-superio" + }, + { + "name": "pc-testdev", + "parent": "isa-device" + }, + { + "name": "xen-backend", + "parent": "xen-sysdev" + }, + { + "name": "Haswell-noTSX-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pr-manager-helper", + "parent": "pr-manager" + }, + { + "name": "fw_cfg_mem", + "parent": "fw_cfg" + }, + { + "name": "virtio-scsi-pci-transitional", + "parent": "virtio-scsi-pci-base" + }, + { + "name": "usb-uas", + "parent": "usb-device" + }, + { + "name": "ide-cd", + "parent": "ide-device" + }, + { + "name": "pc-q35-2.8-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pc-i440fx-2.11-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pc-i440fx-1.6-machine", + "parent": "generic-pc-machine" + }, + { + "name": "virtio-balloon-pci", + "parent": "virtio-balloon-pci-base" + }, + { + "name": "chardev-socket", + "parent": "chardev" + }, + { + "name": "iothread", + "parent": "object" + }, + { + "name": "sb16", + "parent": "isa-device" + }, + { + "name": "chardev-mux", + "parent": "chardev" + }, + { + "name": "pc-q35-2.7-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pc-i440fx-1.5-machine", + "parent": "generic-pc-machine" + }, + { + "name": "486-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "bochs-display", + "parent": "pci-device" + }, + { + "name": "usb-ccid", + "parent": "usb-device" + }, + { + "name": "isa-cirrus-vga", + "parent": "isa-device" + }, + { + "name": "qio-channel-rdma", + "parent": "qio-channel" + }, + { + "name": "vhost-vsock-device", + "parent": "virtio-device" + }, + { + "name": "sdhci-pci", + "parent": "pci-device" + }, + { + "name": "virtio-input-host-device", + "parent": "virtio-input-device" + }, + { + "name": "i82559er", + "parent": "pci-device" + }, + { + "name": "pci-bridge", + "parent": "base-pci-bridge" + }, + { + "name": "cs4231a", + "parent": "isa-device" + }, + { + "name": "ivshmem-doorbell", + "parent": "ivshmem-common" + }, + { + "name": "chardev-udp", + "parent": "chardev" + }, + { + "name": "virtio-rng-device", + "parent": "virtio-device" + }, + { + "name": "isa-parallel", + "parent": "isa-device" + }, + { + "name": "piix4-ide", + "parent": "pci-ide" + }, + { + "name": "adlib", + "parent": "isa-device" + }, + { + "name": "pc-0.15-machine", + "parent": "generic-pc-machine" + }, + { + "name": "authz-list-file", + "parent": "authz" + }, + { + "name": "kvmvapic", + "parent": "sys-bus-device" + }, + { + "name": "hda-micro", + "parent": "hda-audio" + }, + { + "name": "pci-bridge-seat", + "parent": "pci-bridge" + }, + { + "name": "dc390", + "parent": "am53c974" + }, + { + "name": "chardev-pipe", + "parent": "chardev-fd" + }, + { + "name": "qemu,register", + "parent": "device" + }, + { + "name": "IDE", + "parent": "bus" + }, + { + "name": "fw_cfg_io", + "parent": "fw_cfg" + }, + { + "name": "tpm-crb", + "parent": "device" + }, + { + "name": "am53c974", + "parent": "pci-device" + }, + { + "name": "memory-backend-ram", + "parent": "memory-backend" + }, + { + "name": "xen-cdrom", + "parent": "xen-block" + }, + { + "name": "virtio-blk-device", + "parent": "virtio-device" + }, + { + "name": "pc-q35-2.9-machine", + "parent": "generic-pc-machine" + }, + { + "name": "nvdimm", + "parent": "pc-dimm" + }, + { + "name": "mc146818rtc", + "parent": "isa-device" + }, + { + "name": "qio-channel-websock", + "parent": "qio-channel" + }, + { + "name": "qio-channel-file", + "parent": "qio-channel" + }, + { + "name": "chardev-msmouse", + "parent": "chardev" + }, + { + "name": "pc-i440fx-1.7-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pc-q35-4.0.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "cryptodev-backend-builtin", + "parent": "cryptodev-backend" + }, + { + "name": "hda-output", + "parent": "hda-audio" + }, + { + "name": "KnightsMill-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "chardev-spiceport", + "parent": "chardev-spice" + }, + { + "name": "VGA", + "parent": "pci-vga" + }, + { + "name": "vfio-pci-nohotplug", + "parent": "vfio-pci" + }, + { + "name": "sga", + "parent": "isa-device" + }, + { + "name": "i8257", + "parent": "isa-device" + }, + { + "name": "qio-net-listener", + "parent": "object" + }, + { + "name": "port92", + "parent": "isa-device" + }, + { + "name": "mptsas1068", + "parent": "pci-device" + }, + { + "name": "edu", + "parent": "pci-device" + }, + { + "name": "Dhyana-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "virtio-mouse-pci", + "parent": "virtio-input-hid-pci" + }, + { + "name": "Skylake-Client-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "ICH9 SMB", + "parent": "pci-device" + }, + { + "name": "Broadwell-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vfio-pci-igd-lpc-bridge", + "parent": "pci-device" + }, + { + "name": "HDA", + "parent": "bus" + }, + { + "name": "n270-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "usb-redir", + "parent": "usb-device" + }, + { + "name": "pcm3680_pci", + "parent": "pci-device" + }, + { + "name": "floppy", + "parent": "device" + }, + { + "name": "qemu:memory-region", + "parent": "object" + }, + { + "name": "mioe3680_pci", + "parent": "pci-device" + }, + { + "name": "sysbus-ohci", + "parent": "sys-bus-device" + }, + { + "name": "chardev-ringbuf", + "parent": "chardev" + }, + { + "name": "max-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "can-bus", + "parent": "object" + }, + { + "name": "qtest-accel", + "parent": "accel" + }, + { + "name": "qio-channel-command", + "parent": "qio-channel" + }, + { + "name": "pxb-host", + "parent": "pci-host-bridge" + }, + { + "name": "IvyBridge-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-user-gpu", + "parent": "virtio-gpu-base" + }, + { + "name": "xio3130-downstream", + "parent": "pcie-slot" + }, + { + "name": "virtio-gpu-device", + "parent": "virtio-gpu-base" + }, + { + "name": "virtio-blk-pci", + "parent": "virtio-blk-pci-base" + }, + { + "name": "cirrus-vga", + "parent": "pci-device" + }, + { + "name": "isa-ipmi-kcs", + "parent": "isa-device" + }, + { + "name": "kvmclock", + "parent": "sys-bus-device" + }, + { + "name": "cryptodev-vhost-user", + "parent": "cryptodev-backend" + }, + { + "name": "Opteron_G3-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "lsi53c810", + "parent": "lsi53c895a" + }, + { + "name": "System", + "parent": "bus" + }, + { + "name": "Westmere-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "usb-serial", + "parent": "usb-serial-dev" + }, + { + "name": "Cascadelake-Server-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vt82c686b-usb-uhci", + "parent": "pci-uhci-usb" + }, + { + "name": "chardev-braille", + "parent": "chardev" + }, + { + "name": "chardev-file", + "parent": "chardev-fd" + }, + { + "name": "vhost-user-scsi-pci-non-transitional", + "parent": "vhost-user-scsi-pci-base" + }, + { + "name": "xen-sysdev", + "parent": "sys-bus-device" + }, + { + "name": "intel-iommu", + "parent": "x86-iommu" + }, + { + "name": "pc-q35-2.10-machine", + "parent": "generic-pc-machine" + }, + { + "name": "tpm-tis", + "parent": "isa-device" + }, + { + "name": "PCIE", + "parent": "PCI" + }, + { + "name": "pcie-pci-bridge", + "parent": "base-pci-bridge" + }, + { + "name": "ccid-card-passthru", + "parent": "ccid-card" + }, + { + "name": "qio-dns-resolver", + "parent": "object" + }, + { + "name": "vhost-user-blk-pci", + "parent": "vhost-user-blk-pci-base" + }, + { + "name": "virtio-net-pci-transitional", + "parent": "virtio-net-pci-base" + }, + { + "name": "virtio-serial-bus", + "parent": "bus" + }, + { + "name": "kvm-pit", + "parent": "pit-common" + }, + { + "name": "secondary-vga", + "parent": "pci-vga" + }, + { + "name": "vhost-scsi", + "parent": "vhost-scsi-common" + }, + { + "name": "pci-ohci", + "parent": "pci-device" + }, + { + "name": "cfi.pflash01", + "parent": "sys-bus-device" + }, + { + "name": "usb-hub", + "parent": "usb-device" + }, + { + "name": "ccid-bus", + "parent": "bus" + }, + { + "name": "xenpv-machine", + "parent": "machine" + }, + { + "name": "EPYC-IBPB-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "input-linux", + "parent": "object" + }, + { + "name": "piix3-ide-xen", + "parent": "pci-ide" + }, + { + "name": "vmgenid", + "parent": "device" + }, + { + "name": "virtio-rng-pci-transitional", + "parent": "virtio-rng-pci-base" + }, + { + "name": "virtio-serial-pci-transitional", + "parent": "virtio-serial-pci-base" + }, + { + "name": "ati-vga", + "parent": "pci-device" + }, + { + "name": "pc-q35-3.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pci-serial", + "parent": "pci-device" + }, + { + "name": "vmport", + "parent": "isa-device" + }, + { + "name": "vhost-user-scsi-pci", + "parent": "vhost-user-scsi-pci-base" + }, + { + "name": "ipmi-bmc-extern", + "parent": "ipmi-bmc" + }, + { + "name": "PIIX4_PM", + "parent": "pci-device" + }, + { + "name": "i8042", + "parent": "isa-device" + }, + { + "name": "coreduo-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "i82559c", + "parent": "pci-device" + }, + { + "name": "i82559b", + "parent": "pci-device" + }, + { + "name": "i82559a", + "parent": "pci-device" + }, + { + "name": "virtio-blk-pci-non-transitional", + "parent": "virtio-blk-pci-base" + }, + { + "name": "pc-q35-2.12-machine", + "parent": "generic-pc-machine" + }, + { + "name": "SCSI", + "parent": "bus" + }, + { + "name": "rocker", + "parent": "pci-device" + }, + { + "name": "pcnet", + "parent": "pci-device" + }, + { + "name": "rng-egd", + "parent": "rng-backend" + }, + { + "name": "Skylake-Server-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "Opteron_G4-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pc-q35-2.11-machine", + "parent": "generic-pc-machine" + }, + { + "name": "chardev-testdev", + "parent": "chardev" + }, + { + "name": "PIIX3", + "parent": "pci-piix3" + }, + { + "name": "filter-dump", + "parent": "netfilter" + }, + { + "name": "migration", + "parent": "device" + }, + { + "name": "vmmouse", + "parent": "isa-device" + }, + { + "name": "i82558b", + "parent": "pci-device" + }, + { + "name": "i82558a", + "parent": "pci-device" + }, + { + "name": "ioapic", + "parent": "ioapic-common" + }, + { + "name": "smbus-eeprom", + "parent": "smbus-device" + }, + { + "name": "Haswell-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "i82801", + "parent": "pci-device" + }, + { + "name": "tls-creds-x509", + "parent": "tls-creds" + }, + { + "name": "virtio-net-pci", + "parent": "virtio-net-pci-base" + }, + { + "name": "virtio-keyboard-device", + "parent": "virtio-input-hid-device" + }, + { + "name": "i82562", + "parent": "pci-device" + }, + { + "name": "Haswell-noTSX-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "usb-net", + "parent": "usb-device" + }, + { + "name": "tpm-passthrough", + "parent": "tpm-backend" + }, + { + "name": "q35-pcihost", + "parent": "pcie-host-bridge" + }, + { + "name": "amd-iommu", + "parent": "x86-iommu" + }, + { + "name": "i440FX-pcihost", + "parent": "pci-host-bridge" + }, + { + "name": "i82557c", + "parent": "pci-device" + }, + { + "name": "i82557b", + "parent": "pci-device" + }, + { + "name": "i82557a", + "parent": "pci-device" + }, + { + "name": "chardev-memory", + "parent": "chardev-ringbuf" + }, + { + "name": "isa-i8259", + "parent": "pic-common" + }, + { + "name": "virtio-gpu-pci", + "parent": "virtio-gpu-pci-base" + }, + { + "name": "pc-i440fx-2.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "SandyBridge-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "split-irq", + "parent": "device" + }, + { + "name": "usb-mouse", + "parent": "usb-hid" + }, + { + "name": "i82551", + "parent": "pci-device" + }, + { + "name": "sdhci-bus", + "parent": "sd-bus" + }, + { + "name": "i82550", + "parent": "pci-device" + }, + { + "name": "pc-q35-3.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "host-x86_64-cpu", + "parent": "max-x86_64-cpu" + }, + { + "name": "virtio-crypto-pci", + "parent": "virtio-pci" + }, + { + "name": "ich9-usb-ehci2", + "parent": "pci-ehci-usb" + }, + { + "name": "vfio-pci", + "parent": "pci-device" + }, + { + "name": "ich9-usb-ehci1", + "parent": "pci-ehci-usb" + }, + { + "name": "filter-mirror", + "parent": "netfilter" + }, + { + "name": "xen-disk", + "parent": "xen-block" + }, + { + "name": "isa-ide", + "parent": "isa-device" + }, + { + "name": "irq", + "parent": "object" + }, + { + "name": "throttle-group", + "parent": "object" + }, + { + "name": "IvyBridge-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "memory-backend-memfd", + "parent": "memory-backend" + }, + { + "name": "can-host-socketcan", + "parent": "can-host" + }, + { + "name": "qio-channel-socket", + "parent": "qio-channel" + }, + { + "name": "nec-usb-xhci", + "parent": "base-xhci" + }, + { + "name": "virtio-serial-pci-non-transitional", + "parent": "virtio-serial-pci-base" + }, + { + "name": "virtio-rng-pci-non-transitional", + "parent": "virtio-rng-pci-base" + }, + { + "name": "piix3-usb-uhci", + "parent": "pci-uhci-usb" + }, + { + "name": "virtserialport", + "parent": "virtio-serial-port" + }, + { + "name": "pvscsi", + "parent": "pci-device" + }, + { + "name": "sd-bus", + "parent": "bus" + }, + { + "name": "Opteron_G5-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "ich9-ahci", + "parent": "pci-device" + }, + { + "name": "chardev-stdio", + "parent": "chardev-fd" + }, + { + "name": "Skylake-Client-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pc-dimm", + "parent": "device" + }, + { + "name": "gus", + "parent": "isa-device" + }, + { + "name": "vhost-vsock-pci-non-transitional", + "parent": "vhost-vsock-pci-base" + }, + { + "name": "hyperv-testdev", + "parent": "isa-device" + }, + { + "name": "isa-vga", + "parent": "isa-device" + }, + { + "name": "pc-i440fx-2.2-machine", + "parent": "generic-pc-machine" + }, + { + "name": "xen-pci-passthrough", + "parent": "pci-device" + }, + { + "name": "cryptodev-backend", + "parent": "object" + }, + { + "name": "IndustryPack", + "parent": "bus" + }, + { + "name": "pc-i440fx-2.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pc-i440fx-4.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "Icelake-Server-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "or-irq", + "parent": "device" + }, + { + "name": "ipmi-bmc-sim", + "parent": "ipmi-bmc" + }, + { + "name": "Broadwell-noTSX-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "usb-ehci", + "parent": "pci-ehci-usb" + }, + { + "name": "pentium2-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "chardev-vc", + "parent": "chardev" + }, + { + "name": "virtio-rng-pci", + "parent": "virtio-rng-pci-base" + }, + { + "name": "filter-replay", + "parent": "netfilter" + }, + { + "name": "vhost-user-vga", + "parent": "virtio-vga-base" + }, + { + "name": "vhost-user-blk-pci-transitional", + "parent": "vhost-user-blk-pci-base" + }, + { + "name": "e1000-82545em", + "parent": "e1000-base" + }, + { + "name": "chardev-wctablet", + "parent": "chardev" + }, + { + "name": "vhost-user-gpu-pci", + "parent": "virtio-gpu-pci-base" + }, + { + "name": "hyperv-synic", + "parent": "device" + }, + { + "name": "pc-i440fx-2.5-machine", + "parent": "generic-pc-machine" + }, + { + "name": "e1000-82544gc", + "parent": "e1000-base" + }, + { + "name": "hpet", + "parent": "sys-bus-device" + }, + { + "name": "Broadwell-noTSX-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "ioh3420", + "parent": "pcie-root-port-base" + }, + { + "name": "pc-i440fx-2.4-machine", + "parent": "generic-pc-machine" + }, + { + "name": "virtio-9p-pci", + "parent": "virtio-9p-pci-base" + }, + { + "name": "vmcoreinfo", + "parent": "device" + }, + { + "name": "filter-buffer", + "parent": "netfilter" + }, + { + "name": "pci-serial-4x", + "parent": "pci-device" + }, + { + "name": "athlon-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "ich9-intel-hda", + "parent": "intel-hda-generic" + }, + { + "name": "pc-i440fx-2.3-machine", + "parent": "generic-pc-machine" + }, + { + "name": "virtio-9p-device", + "parent": "virtio-device" + }, + { + "name": "imx-usdhc", + "parent": "generic-sdhci" + }, + { + "name": "pc-i440fx-4.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "vhost-user-blk-pci-non-transitional", + "parent": "vhost-user-blk-pci-base" + }, + { + "name": "xen-bridge", + "parent": "sys-bus-device" + }, + { + "name": "vhost-user-backend", + "parent": "object" + }, + { + "name": "isa-ipmi-bt", + "parent": "isa-device" + }, + { + "name": "ipoctal232", + "parent": "ipack-device" + }, + { + "name": "virtio-tablet-device", + "parent": "virtio-input-hid-device" + }, + { + "name": "virtio-scsi-pci", + "parent": "virtio-scsi-pci-base" + }, + { + "name": "piix3-ide", + "parent": "pci-ide" + }, + { + "name": "virtio-pci-bus", + "parent": "virtio-bus" + }, + { + "name": "xen-pvdevice", + "parent": "pci-device" + }, + { + "name": "ES1370", + "parent": "pci-device" + }, + { + "name": "x3130-upstream", + "parent": "pcie-port" + }, + { + "name": "xenfv-machine", + "parent": "generic-pc-machine" + }, + { + "name": "pci-testdev", + "parent": "pci-device" + }, + { + "name": "qemu-console", + "parent": "object" + }, + { + "name": "ISA", + "parent": "bus" + }, + { + "name": "piix4-usb-uhci", + "parent": "pci-uhci-usb" + }, + { + "name": "virtio-balloon-pci-transitional", + "parent": "virtio-balloon-pci-base" + }, + { + "name": "pc-i440fx-2.7-machine", + "parent": "generic-pc-machine" + }, + { + "name": "tcg-accel", + "parent": "accel" + }, + { + "name": "virtconsole", + "parent": "virtserialport" + }, + { + "name": "pci-serial-2x", + "parent": "pci-device" + }, + { + "name": "pentium3-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-user-scsi-pci-transitional", + "parent": "vhost-user-scsi-pci-base" + }, + { + "name": "ne2k_isa", + "parent": "isa-device" + }, + { + "name": "isa-fdc", + "parent": "isa-device" + }, + { + "name": "Nehalem-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pc-i440fx-2.6-machine", + "parent": "generic-pc-machine" + }, + { + "name": "xen-platform", + "parent": "pci-device" + }, + { + "name": "chardev-serial", + "parent": "chardev-fd" + }, + { + "name": "authz-pam", + "parent": "authz" + }, + { + "name": "igd-passthrough-i440FX", + "parent": "i440FX" + }, + { + "name": "colo-compare", + "parent": "object" + }, + { + "name": "virtio-tablet-pci", + "parent": "virtio-input-hid-pci" + }, + { + "name": "e1000e", + "parent": "pci-device" + }, + { + "name": "usb-bus", + "parent": "bus" + }, + { + "name": "i82801b11-bridge", + "parent": "base-pci-bridge" + }, + { + "name": "PCI", + "parent": "bus" + }, + { + "name": "usb-storage", + "parent": "usb-storage-dev" + }, + { + "name": "vhost-user-scsi", + "parent": "vhost-scsi-common" + }, + { + "name": "mch", + "parent": "pci-device" + }, + { + "name": "ib700", + "parent": "isa-device" + }, + { + "name": "tpm-emulator", + "parent": "tpm-backend" + }, + { + "name": "esp", + "parent": "sys-bus-device" + }, + { + "name": "isabus-bridge", + "parent": "sys-bus-device" + }, + { + "name": "qemu32-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "ne2k_pci", + "parent": "pci-device" + }, + { + "name": "Broadwell-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-user-blk", + "parent": "virtio-device" + }, + { + "name": "ivshmem-plain", + "parent": "ivshmem-common" + }, + { + "name": "usb-kbd", + "parent": "usb-hid" + }, + { + "name": "isa-applesmc", + "parent": "isa-device" + }, + { + "name": "xen-accel", + "parent": "accel" + }, + { + "name": "secret", + "parent": "object" + }, + { + "name": "hda-duplex", + "parent": "hda-audio" + }, + { + "name": "authz-simple", + "parent": "authz" + }, + { + "name": "kvm32-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "virtio-9p-pci-transitional", + "parent": "virtio-9p-pci-base" + }, + { + "name": "pc-i440fx-2.9-machine", + "parent": "generic-pc-machine" + }, + { + "name": "kvm-apic", + "parent": "apic-common" + }, + { + "name": "sev-guest", + "parent": "object" + }, + { + "name": "virtio-balloon-device", + "parent": "virtio-device" + }, + { + "name": "none-machine", + "parent": "machine" + }, + { + "name": "sysbus-fdc", + "parent": "base-sysbus-fdc" + }, + { + "name": "ramfb", + "parent": "sys-bus-device" + }, + { + "name": "megasas-gen2", + "parent": "megasas-base" + }, + { + "name": "usb-tablet", + "parent": "usb-hid" + }, + { + "name": "pc-1.0-machine", + "parent": "generic-pc-machine" + }, + { + "name": "vhost-scsi-pci-transitional", + "parent": "vhost-scsi-pci-base" + }, + { + "name": "core2duo-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "qxl", + "parent": "pci-qxl" + }, + { + "name": "isa-debugcon", + "parent": "isa-device" + }, + { + "name": "pc-i440fx-2.8-machine", + "parent": "generic-pc-machine" + }, + { + "name": "nvme", + "parent": "pci-device" + }, + { + "name": "SandyBridge-IBRS-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "Skylake-Server-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pentium-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-user-input-pci", + "parent": "virtio-input-pci" + }, + { + "name": "usb-braille", + "parent": "usb-serial-dev" + }, + { + "name": "qio-channel-buffer", + "parent": "qio-channel" + }, + { + "name": "scsi-disk", + "parent": "scsi-disk-base" + }, + { + "name": "intel-hda", + "parent": "intel-hda-generic" + }, + { + "name": "kvm-accel", + "parent": "accel" + }, + { + "name": "pxb-pcie-bus", + "parent": "PCIE" + }, + { + "name": "virtio-scsi-device", + "parent": "virtio-scsi-common" + }, + { + "name": "AC97", + "parent": "pci-device" + }, + { + "name": "usb-wacom-tablet", + "parent": "usb-device" + }, + { + "name": "virtio-blk-pci-transitional", + "parent": "virtio-blk-pci-base" + }, + { + "name": "i2c-bus", + "parent": "bus" + }, + { + "name": "EPYC-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "virtio-mouse-device", + "parent": "virtio-input-hid-device" + }, + { + "name": "Conroe-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "pxb-pcie", + "parent": "pci-device" + }, + { + "name": "pc-1.3-machine", + "parent": "generic-pc-machine" + }, + { + "name": "authz-list", + "parent": "authz" + }, + { + "name": "ide-drive", + "parent": "ide-device" + }, + { + "name": "generic-sdhci", + "parent": "sys-bus-device" + }, + { + "name": "pvrdma", + "parent": "pci-device" + }, + { + "name": "pc-1.2-machine", + "parent": "generic-pc-machine" + }, + { + "name": "isa-pit", + "parent": "pit-common" + }, + { + "name": "pxb", + "parent": "pci-device" + }, + { + "name": "virtio-net-pci-non-transitional", + "parent": "virtio-net-pci-base" + }, + { + "name": "virtio-scsi-pci-non-transitional", + "parent": "virtio-scsi-pci-base" + }, + { + "name": "intel-iommu-iommu-memory-region", + "parent": "qemu:iommu-memory-region" + }, + { + "name": "pc-1.1-machine", + "parent": "generic-pc-machine" + }, + { + "name": "sd-card", + "parent": "device" + }, + { + "name": "kvaser_pci", + "parent": "pci-device" + }, + { + "name": "vmxnet3", + "parent": "pci-device" + }, + { + "name": "i6300esb", + "parent": "pci-device" + }, + { + "name": "Westmere-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "amd-iommu-iommu-memory-region", + "parent": "qemu:iommu-memory-region" + }, + { + "name": "pvpanic", + "parent": "isa-device" + }, + { + "name": "Penryn-x86_64-cpu", + "parent": "x86_64-cpu" + }, + { + "name": "vhost-vsock-pci-transitional", + "parent": "vhost-vsock-pci-base" + }, + { + "name": "apic", + "parent": "apic-common" + }, + { + "name": "isapc-machine", + "parent": "generic-pc-machine" + }, + { + "name": "rng-random", + "parent": "rng-backend" + } + ], + "id": "libvirt-6" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-blk-pci" + }, + "id": "libvirt-7" +} + +{ + "return": [ + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "request-merging", + "description": "on/off", + "type": "bool" + }, + { + "name": "secs", + "type": "uint32" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "write-zeroes", + "description": "on/off", + "type": "bool" + }, + { + "name": "scsi", + "description": "on/off", + "type": "bool" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "max-write-zeroes-sectors", + "type": "uint32" + }, + { + "name": "queue-size", + "type": "uint16" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "max-discard-sectors", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "share-rw", + "type": "bool" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "config-wce", + "description": "on/off", + "type": "bool" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-blk-device>" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "discard", + "description": "on/off", + "type": "bool" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "num-queues", + "type": "uint16" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-7" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-net-pci" + }, + "id": "libvirt-8" +} + +{ + "return": [ + { + "name": "ctrl_mac_addr", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "status", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "rsc_interval", + "type": "uint32" + }, + { + "name": "guest_csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "speed", + "type": "int32" + }, + { + "name": "ctrl_rx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "mrg_rxbuf", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-txtimer", + "type": "uint32" + }, + { + "name": "host_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "ctrl_rx_extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "gso", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "x-txburst", + "type": "int32" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_mtu", + "type": "uint16" + }, + { + "name": "ctrl_vlan", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_tso4", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-net-device>" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "guest_announce", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "host_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "duplex", + "type": "str" + }, + { + "name": "guest_tso6", + "description": "on/off", + "type": "bool" + }, + { + "name": "ctrl_guest_offloads", + "description": "on/off", + "type": "bool" + }, + { + "name": "csum", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "mq", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ecn", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_ufo", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "mac", + "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", + "type": "str" + }, + { + "name": "tx_queue_size", + "type": "uint16" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "tx", + "type": "str" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-mtu-bypass-backend", + "type": "bool" + }, + { + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest_rsc_ext", + "description": "on/off", + "type": "bool" + }, + { + "name": "rx_queue_size", + "type": "uint16" + } + ], + "id": "libvirt-8" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-scsi-pci" + }, + "id": "libvirt-9" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "virtqueue_size", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "num_queues", + "type": "uint32" + }, + { + "name": "cmd_per_lun", + "type": "uint32" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "hotplug", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_sectors", + "type": "uint32" + }, + { + "name": "param_change", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-scsi-device>" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-9" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-net-ccw" + }, + "id": "libvirt-10" +} + +{ + "id": "libvirt-10", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-ccw' not found" + } +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-scsi-ccw" + }, + "id": "libvirt-11" +} + +{ + "id": "libvirt-11", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-scsi-ccw' not found" + } +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-net-s390" + }, + "id": "libvirt-12" +} + +{ + "id": "libvirt-12", + "error": { + "class": "DeviceNotFound", + "desc": "Device 'virtio-net-s390' not found" + } +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "vfio-pci" + }, + "id": "libvirt-13" +} + +{ + "return": [ + { + "name": "x-igd-opregion", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pci-vendor-id", + "type": "uint32" + }, + { + "name": "yres", + "type": "uint32" + }, + { + "name": "x-pci-sub-device-id", + "type": "uint32" + }, + { + "name": "x-no-kvm-ioeventfd", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-no-kvm-msi", + "type": "bool" + }, + { + "name": "x-req", + "description": "on/off", + "type": "bool" + }, + { + "name": "xres", + "type": "uint32" + }, + { + "name": "x-no-vfio-ioeventfd", + "type": "bool" + }, + { + "name": "x-no-kvm-intx", + "type": "bool" + }, + { + "name": "host", + "description": "Address (bus/device/function) of the host device, example: 04:10.0", + "type": "str" + }, + { + "name": "x-no-kvm-msix", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-balloon-allowed", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pci-sub-vendor-id", + "type": "uint32" + }, + { + "name": "x-pci-device-id", + "type": "uint32" + }, + { + "name": "x-no-geforce-quirks", + "type": "bool" + }, + { + "name": "display", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "x-nv-gpudirect-clique", + "description": "NVIDIA GPUDirect Clique ID (0 - 15)", + "type": "uint4" + }, + { + "name": "x-igd-gms", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "x-msix-relocation", + "description": "off/auto/bar0/bar1/bar2/bar3/bar4/bar5", + "type": "OffAutoPCIBAR" + }, + { + "name": "x-intx-mmap-timeout-ms", + "type": "uint32" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-no-mmap", + "type": "bool" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "sysfsdev", + "type": "str" + }, + { + "name": "x-vga", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-13" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "scsi-hd" + }, + "id": "libvirt-14" +} + +{ + "return": [ + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "secs", + "type": "uint32" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "channel", + "type": "uint32" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "lun", + "type": "uint32" + }, + { + "name": "dpofua", + "description": "on/off", + "type": "bool" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "scsi-id", + "type": "uint32" + }, + { + "name": "cyls", + "type": "uint32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "rotation_rate", + "type": "uint16" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "scsi_version", + "type": "int32" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "port_wwn", + "type": "uint64" + }, + { + "name": "max_unmap_size", + "type": "uint64" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "max_io_size", + "type": "uint64" + }, + { + "name": "device_id", + "type": "str" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "share-rw", + "type": "bool" + }, + { + "name": "product", + "type": "str" + }, + { + "name": "vendor", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "port_index", + "type": "uint16" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "opt_io_size", + "type": "uint32" + } + ], + "id": "libvirt-14" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "ide-hd" + }, + "id": "libvirt-15" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "secs", + "type": "uint32" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "rotation_rate", + "type": "uint16" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "heads", + "type": "uint32" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "share-rw", + "type": "bool" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "bios-chs-trans", + "description": "Logical CHS translation algorithm, auto/none/lba/large/rechs", + "type": "BiosAtaTranslation" + }, + { + "name": "unit", + "type": "uint32" + }, + { + "name": "wwn", + "type": "uint64" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "model", + "type": "str" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "ver", + "type": "str" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "cyls", + "type": "uint32" + } + ], + "id": "libvirt-15" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "PIIX4_PM" + }, + "id": "libvirt-16" +} + +{ + "return": [ + { + "name": "memory-hotplug-support", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "acpi-pci-hotplug-with-bridge-support", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "disable_s4", + "type": "uint8" + }, + { + "name": "disable_s3", + "type": "uint8" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "s4_val", + "type": "uint8" + }, + { + "name": "smb_io_base", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + } + ], + "id": "libvirt-16" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "usb-redir" + }, + "id": "libvirt-17" +} + +{ + "return": [ + { + "name": "filter", + "type": "str" + }, + { + "name": "msos-desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "serial", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "debug", + "type": "uint8" + }, + { + "name": "streams", + "type": "bool" + }, + { + "name": "chardev", + "description": "ID of a chardev to use as a backend", + "type": "str" + }, + { + "name": "full-path", + "description": "on/off", + "type": "bool" + }, + { + "name": "attached", + "type": "bool" + } + ], + "id": "libvirt-17" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "i440FX-pcihost" + }, + "id": "libvirt-18" +} + +{ + "return": [ + { + "name": "short_root_bus", + "type": "uint32" + }, + { + "name": "pci-conf-idx[0]", + "type": "child<qemu:memory-region>" + }, + { + "name": "pci-hole64-end", + "type": "uint64" + }, + { + "name": "pci-hole-end", + "type": "uint32" + }, + { + "name": "pci-hole-start", + "type": "uint32" + }, + { + "name": "pci-hole64-start", + "type": "uint64" + }, + { + "name": "pci-hole64-size", + "type": "size" + }, + { + "name": "pci-conf-data[0]", + "type": "child<qemu:memory-region>" + }, + { + "name": "x-pci-hole64-fix", + "type": "bool" + } + ], + "id": "libvirt-18" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "q35-pcihost" + }, + "id": "libvirt-19" +} + +{ + "return": [ + { + "name": "short_root_bus", + "type": "uint32" + }, + { + "name": "system-mem", + "type": "link<qemu:memory-region>" + }, + { + "name": "pci-conf-idx[0]", + "type": "child<qemu:memory-region>" + }, + { + "name": "pcie-mmcfg-mmio[0]", + "type": "child<qemu:memory-region>" + }, + { + "name": "pci-hole64-start", + "type": "uint64" + }, + { + "name": "io-mem", + "type": "link<qemu:memory-region>" + }, + { + "name": "pci-hole64-end", + "type": "uint64" + }, + { + "name": "pci-hole-end", + "type": "uint32" + }, + { + "name": "above-4g-mem-size", + "type": "size" + }, + { + "name": "below-4g-mem-size", + "type": "size" + }, + { + "name": "ram-mem", + "type": "link<qemu:memory-region>" + }, + { + "name": "pci-hole-start", + "type": "uint32" + }, + { + "name": "MCFG", + "type": "uint64" + }, + { + "name": "mch", + "type": "child<mch>" + }, + { + "name": "pci-hole64-size", + "type": "size" + }, + { + "name": "pci-mem", + "type": "link<qemu:memory-region>" + }, + { + "name": "pci-conf-data[0]", + "type": "child<qemu:memory-region>" + }, + { + "name": "x-pci-hole64-fix", + "type": "bool" + }, + { + "name": "mcfg_size", + "type": "uint64" + } + ], + "id": "libvirt-19" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "usb-storage" + }, + "id": "libvirt-20" +} + +{ + "return": [ + { + "name": "serial", + "type": "str" + }, + { + "name": "msos-desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + }, + { + "name": "discard_granularity", + "type": "uint32" + }, + { + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" + }, + { + "name": "bootindex", + "type": "int32" + }, + { + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "share-rw", + "type": "bool" + }, + { + "name": "min_io_size", + "type": "uint16" + }, + { + "name": "opt_io_size", + "type": "uint32" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "attached", + "type": "bool" + }, + { + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "full-path", + "description": "on/off", + "type": "bool" + }, + { + "name": "rerror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "removable", + "description": "on/off", + "type": "bool" + }, + { + "name": "physical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" + } + ], + "id": "libvirt-20" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "kvm-pit" + }, + "id": "libvirt-21" +} + +{ + "return": [ + { + "name": "iobase", + "type": "uint32" + }, + { + "name": "lost_tick_policy", + "type": "LostTickPolicy" + } + ], + "id": "libvirt-21" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "VGA" + }, + "id": "libvirt-22" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "mmio", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "qemu-extended-regs", + "description": "on/off", + "type": "bool" + }, + { + "name": "big-endian-framebuffer", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "yres", + "type": "uint32" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "global-vmstate", + "type": "bool" + }, + { + "name": "edid", + "description": "on/off", + "type": "bool" + }, + { + "name": "xres", + "type": "uint32" + } + ], + "id": "libvirt-22" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "vmware-svga" + }, + "id": "libvirt-23" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "global-vmstate", + "type": "bool" + } + ], + "id": "libvirt-23" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "qxl" + }, + "id": "libvirt-24" +} + +{ + "return": [ + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "yres", + "type": "uint32" + }, + { + "name": "ram_size_mb", + "type": "uint32" + }, + { + "name": "global-vmstate", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "vgamem_mb", + "type": "uint32" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "debug", + "type": "uint32" + }, + { + "name": "vram_size_mb", + "type": "uint32" + }, + { + "name": "revision", + "type": "uint32" + }, + { + "name": "ram_size", + "type": "uint32" + }, + { + "name": "vram64_size_mb", + "type": "uint32" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "guestdebug", + "type": "uint32" + }, + { + "name": "vram_size", + "type": "uint64" + }, + { + "name": "surfaces", + "type": "int32" + }, + { + "name": "max_outputs", + "type": "uint16" + }, + { + "name": "xres", + "type": "uint32" + }, + { + "name": "cmdlog", + "type": "uint32" + } + ], + "id": "libvirt-24" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-gpu-pci" + }, + "id": "libvirt-25" +} + +{ + "return": [ + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "yres", + "type": "uint32" + }, + { + "name": "ioeventfd", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "xres", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "edid", + "description": "on/off", + "type": "bool" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "vectors", + "type": "uint32" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_hostmem", + "type": "size" + }, + { + "name": "virtio-backend", + "type": "child<virtio-gpu-device>" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "stats", + "description": "on/off", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "virgl", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-25" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-gpu-device" + }, + "id": "libvirt-26" +} + +{ + "return": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "yres", + "type": "uint32" + }, + { + "name": "stats", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "virgl", + "description": "on/off", + "type": "bool" + }, + { + "name": "edid", + "description": "on/off", + "type": "bool" + }, + { + "name": "max_outputs", + "type": "uint32" + }, + { + "name": "max_hostmem", + "type": "size" + }, + { + "name": "xres", + "type": "uint32" + } + ], + "id": "libvirt-26" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "ICH9-LPC" + }, + "id": "libvirt-27" +} + +{ + "return": [ + { + "name": "memory-hotplug-support", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "sci_int", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "gpe0_blk_len", + "type": "uint32" + }, + { + "name": "pm_io_base", + "type": "uint32" + }, + { + "name": "noreboot", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "cpu-hotplug-legacy", + "type": "bool" + }, + { + "name": "acpi_disable_cmd", + "type": "uint8" + }, + { + "name": "x-smi-broadcast", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "disable_s3", + "type": "uint8" + }, + { + "name": "s4_val", + "type": "uint8" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "acpi_enable_cmd", + "type": "uint8" + }, + { + "name": "enable_tco", + "type": "bool" + }, + { + "name": "disable_s4", + "type": "uint8" + }, + { + "name": "gpe0_blk", + "type": "uint32" + } + ], + "id": "libvirt-27" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "virtio-balloon-pci" + }, + "id": "libvirt-28" +} + +{ + "return": [ + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnkctl-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-modern", + "type": "bool" + }, + { + "name": "free-page-hint", + "description": "on/off", + "type": "bool" + }, + { + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + }, + { + "name": "page-per-vq", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-deverr-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-pm-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "class", + "type": "uint32" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "migrate-extra", + "description": "on/off", + "type": "bool" + }, + { + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-backend", + "type": "child<virtio-balloon-device>" + }, + { + "name": "x-ignore-backend-features", + "type": "bool" + }, + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "ats", + "description": "on/off", + "type": "bool" + }, + { + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + } + ], + "id": "libvirt-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": [ + { + "name": "notify_on_empty", + "description": "on/off", + "type": "bool" + }, + { + "name": "any_layout", + "description": "on/off", + "type": "bool" + }, + { + "name": "indirect_desc", + "description": "on/off", + "type": "bool" + }, + { + "name": "guest-stats", + "type": "guest statistics" + }, + { + "name": "guest-stats-polling-interval", + "type": "int" + }, + { + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "event_idx", + "description": "on/off", + "type": "bool" + }, + { + "name": "free-page-hint", + "description": "on/off", + "type": "bool" + }, + { + "name": "iommu_platform", + "description": "on/off", + "type": "bool" + }, + { + "name": "deflate-on-oom", + "description": "on/off", + "type": "bool" + } + ], + "id": "libvirt-30" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "nec-usb-xhci" + }, + "id": "libvirt-31" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "intrs", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "msix", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "msi", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "superspeed-ports-first", + "description": "on/off", + "type": "bool" + }, + { + "name": "streams", + "description": "on/off", + "type": "bool" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "force-pcie-endcap", + "description": "on/off", + "type": "bool" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, + { + "name": "p3", + "type": "uint32" + }, + { + "name": "p2", + "type": "uint32" + }, + { + "name": "slots", + "type": "uint32" + } + ], + "id": "libvirt-31" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "intel-iommu" + }, + "id": "libvirt-32" +} + +{ + "return": [ + { + "name": "eim", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "caching-mode", + "type": "bool" + }, + { + "name": "x-buggy-eim", + "type": "bool" + }, + { + "name": "intremap", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "version", + "type": "uint32" + }, + { + "name": "x-scalable-mode", + "type": "bool" + }, + { + "name": "dma-drain", + "type": "bool" + }, + { + "name": "pt", + "type": "bool" + }, + { + "name": "device-iotlb", + "type": "bool" + }, + { + "name": "aw-bits", + "type": "uint8" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "mch" + }, + "id": "libvirt-33" +} + +{ + "return": [ + { + "name": "rombar", + "type": "uint32" + }, + { + "name": "x-pcie-lnksta-dllla", + "description": "on/off", + "type": "bool" + }, + { + "name": "multifunction", + "description": "on/off", + "type": "bool" + }, + { + "name": "extended-tseg-mbytes", + "type": "uint16" + }, + { + "name": "romfile", + "type": "str" + }, + { + "name": "x-pcie-extcap-init", + "description": "on/off", + "type": "bool" + }, + { + "name": "command_serr_enable", + "description": "on/off", + "type": "bool" + }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + } + ], + "id": "libvirt-33" +} + +{ + "execute": "device-list-properties", + "arguments": { + "typename": "nvdimm" + }, + "id": "libvirt-34" +} + +{ + "return": [ + { + "name": "slot", + "type": "int32" + }, + { + "name": "node", + "type": "uint32" + }, + { + "name": "size", + "type": "uint64" + }, + { + "name": "unarmed", + "type": "bool" + }, + { + "name": "label-size", + "type": "int" + }, + { + "name": "memdev", + "type": "link<memory-backend>" + }, + { + "name": "addr", + "type": "uint64" + } + ], + "id": "libvirt-34" +} + +{ + "execute": "qom-list-properties", + "arguments": { + "typename": "memory-backend-file" + }, + "id": "libvirt-35" +} + +{ + "return": [ + { + "name": "type", + "type": "string" + }, + { + "name": "policy", + "description": "Set the NUMA policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "description": "Set to 'off' to exclude from core dump", + "type": "bool" + }, + { + "name": "share", + "description": "Mark the memory as private to QEMU or shared", + "type": "bool" + }, + { + "name": "prealloc", + "description": "Preallocate memory", + "type": "bool" + }, + { + "name": "size", + "description": "Size of the memory region (ex: 500M)", + "type": "int" + }, + { + "name": "x-use-canonical-path-for-ramblock-id", + "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": "pmem", + "type": "bool" + }, + { + "name": "align", + "type": "int" + }, + { + "name": "mem-path", + "type": "string" + }, + { + "name": "discard-data", + "type": "bool" + } + ], + "id": "libvirt-35" +} + +{ + "execute": "qom-list-properties", + "arguments": { + "typename": "memory-backend-memfd" + }, + "id": "libvirt-36" +} + +{ + "return": [ + { + "name": "type", + "type": "string" + }, + { + "name": "policy", + "description": "Set the NUMA policy", + "type": "HostMemPolicy" + }, + { + "name": "dump", + "description": "Set to 'off' to exclude from core dump", + "type": "bool" + }, + { + "name": "share", + "description": "Mark the memory as private to QEMU or shared", + "type": "bool" + }, + { + "name": "prealloc", + "description": "Preallocate memory", + "type": "bool" + }, + { + "name": "size", + "description": "Size of the memory region (ex: 500M)", + "type": "int" + }, + { + "name": "x-use-canonical-path-for-ramblock-id", + "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": "seal", + "description": "Seal growing & shrinking", + "type": "bool" + }, + { + "name": "hugetlbsize", + "description": "Huge pages size (ex: 2M, 1G)", + "type": "int" + }, + { + "name": "hugetlb", + "description": "Use huge pages", + "type": "bool" + } + ], + "id": "libvirt-36" +} + +{ + "execute": "query-machines", + "id": "libvirt-37" +} + +{ + "return": [ + { + "hotpluggable-cpus": true, + "name": "isapc", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.1", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.2", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.3", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.8", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-1.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": false, + "name": "none", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.9", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "xenfv", + "cpu-max": 128 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-4.1", + "is-default": true, + "cpu-max": 255, + "alias": "pc" + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.3", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-4.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.1", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.2", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-3.1", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.11", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.12", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-3.0", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": false, + "name": "xenpv", + "cpu-max": 1 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.10", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-4.0.1", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.9", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.15", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.7", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.11", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.8", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.13", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.12", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.14", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-3.0", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-3.1", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.5", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-2.6", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-1.4", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-i440fx-2.10", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-0.12", + "cpu-max": 255 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-4.0", + "cpu-max": 288 + }, + { + "hotpluggable-cpus": true, + "name": "pc-q35-4.1", + "cpu-max": 288, + "alias": "q35" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-cpu-definitions", + "id": "libvirt-38" +} + +{ + "return": [ + { + "name": "max", + "typename": "max-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { + "name": "host", + "typename": "host-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": false + }, + { + "name": "base", + "typename": "base-x86_64-cpu", + "unavailable-features": [ + ], + "static": true, + "migration-safe": true + }, + { + "name": "qemu64", + "typename": "qemu64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "qemu32", + "typename": "qemu32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "phenom", + "typename": "phenom-x86_64-cpu", + "unavailable-features": [ + "mmxext", + "fxsr-opt", + "3dnowext", + "3dnow", + "sse4a", + "npt" + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium3", + "typename": "pentium3-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium2", + "typename": "pentium2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium", + "typename": "pentium-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "n270", + "typename": "n270-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm64", + "typename": "kvm64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm32", + "typename": "kvm32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "coreduo", + "typename": "coreduo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "core2duo", + "typename": "core2duo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "athlon", + "typename": "athlon-x86_64-cpu", + "unavailable-features": [ + "mmxext", + "3dnowext", + "3dnow" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere-IBRS", + "typename": "Westmere-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere", + "typename": "Westmere-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Server-IBRS", + "typename": "Skylake-Server-IBRS-x86_64-cpu", + "unavailable-features": [ + "avx512f", + "avx512dq", + "clwb", + "avx512cd", + "avx512bw", + "avx512vl", + "pku", + "spec-ctrl", + "avx512f", + "avx512f", + "avx512f", + "pku" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Server", + "typename": "Skylake-Server-x86_64-cpu", + "unavailable-features": [ + "avx512f", + "avx512dq", + "clwb", + "avx512cd", + "avx512bw", + "avx512vl", + "pku", + "avx512f", + "avx512f", + "avx512f", + "pku" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Client-IBRS", + "typename": "Skylake-Client-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Skylake-Client", + "typename": "Skylake-Client-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge-IBRS", + "typename": "SandyBridge-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge", + "typename": "SandyBridge-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Penryn", + "typename": "Penryn-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G5", + "typename": "Opteron_G5-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse", + "xop", + "fma4", + "tbm", + "npt", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G4", + "typename": "Opteron_G4-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse", + "xop", + "fma4", + "npt", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G3", + "typename": "Opteron_G3-x86_64-cpu", + "unavailable-features": [ + "sse4a", + "misalignsse" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G2", + "typename": "Opteron_G2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G1", + "typename": "Opteron_G1-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem-IBRS", + "typename": "Nehalem-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem", + "typename": "Nehalem-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "KnightsMill", + "typename": "KnightsMill-x86_64-cpu", + "unavailable-features": [ + "avx512f", + "avx512pf", + "avx512er", + "avx512cd", + "avx512-vpopcntdq", + "avx512-4vnniw", + "avx512-4fmaps", + "avx512f", + "avx512f", + "avx512f" + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge-IBRS", + "typename": "IvyBridge-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge", + "typename": "IvyBridge-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Icelake-Server", + "typename": "Icelake-Server-x86_64-cpu", + "unavailable-features": [ + "avx512f", + "avx512dq", + "clwb", + "avx512cd", + "avx512bw", + "avx512vl", + "avx512vbmi", + "pku", + "avx512vbmi2", + "gfni", + "vaes", + "vpclmulqdq", + "avx512vnni", + "avx512bitalg", + "avx512-vpopcntdq", + "la57", + "spec-ctrl", + "ssbd", + "wbnoinvd", + "avx512f", + "avx512f", + "avx512f", + "pku" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Icelake-Client", + "typename": "Icelake-Client-x86_64-cpu", + "unavailable-features": [ + "avx512vbmi", + "pku", + "avx512vbmi2", + "gfni", + "vaes", + "vpclmulqdq", + "avx512vnni", + "avx512bitalg", + "avx512-vpopcntdq", + "spec-ctrl", + "ssbd", + "wbnoinvd", + "pku" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX-IBRS", + "typename": "Haswell-noTSX-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX", + "typename": "Haswell-noTSX-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-IBRS", + "typename": "Haswell-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell", + "typename": "Haswell-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "EPYC-IBPB", + "typename": "EPYC-IBPB-x86_64-cpu", + "unavailable-features": [ + "sha-ni", + "mmxext", + "fxsr-opt", + "cr8legacy", + "sse4a", + "misalignsse", + "osvw", + "ibpb", + "npt", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "EPYC", + "typename": "EPYC-x86_64-cpu", + "unavailable-features": [ + "sha-ni", + "mmxext", + "fxsr-opt", + "cr8legacy", + "sse4a", + "misalignsse", + "osvw", + "npt", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Dhyana", + "typename": "Dhyana-x86_64-cpu", + "unavailable-features": [ + "mmxext", + "fxsr-opt", + "cr8legacy", + "sse4a", + "misalignsse", + "osvw", + "ibpb", + "npt", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Conroe", + "typename": "Conroe-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Cascadelake-Server", + "typename": "Cascadelake-Server-x86_64-cpu", + "unavailable-features": [ + "avx512f", + "avx512dq", + "clwb", + "avx512cd", + "avx512bw", + "avx512vl", + "pku", + "avx512vnni", + "spec-ctrl", + "ssbd", + "avx512f", + "avx512f", + "avx512f", + "pku" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-noTSX-IBRS", + "typename": "Broadwell-noTSX-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-noTSX", + "typename": "Broadwell-noTSX-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-IBRS", + "typename": "Broadwell-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell", + "typename": "Broadwell-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "486", + "typename": "486-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-38" +} + +{ + "execute": "query-tpm-models", + "id": "libvirt-39" +} + +{ + "return": [ + "tpm-crb", + "tpm-tis" + ], + "id": "libvirt-39" +} + +{ + "execute": "query-tpm-types", + "id": "libvirt-40" +} + +{ + "return": [ + "passthrough", + "emulator" + ], + "id": "libvirt-40" +} + +{ + "execute": "query-command-line-options", + "id": "libvirt-41" +} + +{ + "return": [ + { + "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": "non-adaptive", + "type": "boolean" + }, + { + "name": "lossy", + "type": "boolean" + }, + { + "name": "sasl-authz", + "type": "string" + }, + { + "name": "tls-authz", + "type": "string" + }, + { + "name": "acl", + "type": "boolean" + }, + { + "name": "sasl", + "type": "boolean" + }, + { + "name": "key-delay-ms", + "type": "number" + }, + { + "name": "lock-key-sync", + "type": "boolean" + }, + { + "name": "reverse", + "type": "boolean" + }, + { + "name": "password", + "type": "boolean" + }, + { + "name": "ipv6", + "type": "boolean" + }, + { + "name": "ipv4", + "type": "boolean" + }, + { + "name": "to", + "type": "number" + }, + { + "name": "connections", + "type": "number" + }, + { + "name": "head", + "type": "number" + }, + { + "name": "display", + "type": "string" + }, + { + "name": "share", + "type": "string" + }, + { + "name": "tls-creds", + "type": "string" + }, + { + "name": "websocket", + "type": "string" + }, + { + "name": "vnc", + "type": "string" + } + ], + "option": "vnc" + }, + { + "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", + "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": [ + ], + "option": "smbios" + }, + { + "parameters": [ + ], + "option": "acpi" + }, + { + "parameters": [ + { + "name": "dmode", + "type": "number" + }, + { + "name": "fmode", + "type": "number" + }, + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "mount_tag", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "virtfs" + }, + { + "parameters": [ + { + "name": "throttling.iops-size", + "help": "when limiting by iops max size of an I/O in bytes", + "type": "number" + }, + { + "name": "throttling.bps-write-max-length", + "help": "length of the bps-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-read-max-length", + "help": "length of the bps-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-total-max-length", + "help": "length of the bps-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-write-max-length", + "help": "length of the iops-write-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-read-max-length", + "help": "length of the iops-read-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.iops-total-max-length", + "help": "length of the iops-total-max burst period, in seconds", + "type": "number" + }, + { + "name": "throttling.bps-write-max", + "help": "total bytes write burst", + "type": "number" + }, + { + "name": "throttling.bps-read-max", + "help": "total bytes read burst", + "type": "number" + }, + { + "name": "throttling.bps-total-max", + "help": "total bytes burst", + "type": "number" + }, + { + "name": "throttling.iops-write-max", + "help": "I/O operations write burst", + "type": "number" + }, + { + "name": "throttling.iops-read-max", + "help": "I/O operations read burst", + "type": "number" + }, + { + "name": "throttling.iops-total-max", + "help": "I/O operations burst", + "type": "number" + }, + { + "name": "throttling.bps-write", + "help": "limit write bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-read", + "help": "limit read bytes per second", + "type": "number" + }, + { + "name": "throttling.bps-total", + "help": "limit total bytes per second", + "type": "number" + }, + { + "name": "throttling.iops-write", + "help": "limit write operations per second", + "type": "number" + }, + { + "name": "throttling.iops-read", + "help": "limit read operations per second", + "type": "number" + }, + { + "name": "throttling.iops-total", + "help": "limit total I/O operations per second", + "type": "number" + }, + { + "name": "dmode", + "type": "number" + }, + { + "name": "fmode", + "type": "number" + }, + { + "name": "sock_fd", + "type": "number" + }, + { + "name": "socket", + "type": "string" + }, + { + "name": "readonly", + "type": "boolean" + }, + { + "name": "writeout", + "type": "string" + }, + { + "name": "security_model", + "type": "string" + }, + { + "name": "path", + "type": "string" + }, + { + "name": "fsdriver", + "type": "string" + } + ], + "option": "fsdev" + }, + { + "parameters": [ + { + "name": "resourcecontrol", + "type": "string" + }, + { + "name": "spawn", + "type": "string" + }, + { + "name": "elevateprivileges", + "type": "string" + }, + { + "name": "obsolete", + "type": "string" + }, + { + "name": "enable", + "type": "boolean" + } + ], + "option": "sandbox" + }, + { + "parameters": [ + { + "name": "string", + "help": "Sets content of the blob to be inserted from a string", + "type": "string" + }, + { + "name": "file", + "help": "Sets the name of the file from which 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": "timestamp", + "type": "boolean" + } + ], + "option": "msg" + }, + { + "parameters": [ + { + "name": "cpu-pm", + "type": "boolean" + }, + { + "name": "mem-lock", + "type": "boolean" + } + ], + "option": "overcommit" + }, + { + "parameters": [ + { + "name": "mlock", + "type": "boolean" + } + ], + "option": "realtime" + }, + { + "parameters": [ + ], + "option": "tpmdev" + }, + { + "parameters": [ + ], + "option": "object" + }, + { + "parameters": [ + { + "name": "opaque", + "help": "free-form string used to describe fd", + "type": "string" + }, + { + "name": "set", + "help": "ID of the fd set to add fd to", + "type": "number" + }, + { + "name": "fd", + "help": "file descriptor of which a duplicate is added to fd set", + "type": "number" + } + ], + "option": "add-fd" + }, + { + "parameters": [ + { + "name": "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": "sockets", + "type": "number" + }, + { + "name": "cpus", + "type": "number" + } + ], + "option": "smp-opts" + }, + { + "parameters": [ + { + "name": "maxmem", + "type": "size" + }, + { + "name": "slots", + "type": "number" + }, + { + "name": "size", + "type": "size" + } + ], + "option": "memory" + }, + { + "parameters": [ + { + "name": "thread", + "help": "Enable/disable multi-threaded TCG", + "type": "string" + }, + { + "name": "accel", + "help": "Select the type of accelerator", + "type": "string" + } + ], + "option": "accel" + }, + { + "parameters": [ + { + "name": "loadparm", + "help": "Up to 8 chars in set of [A-Za-z0-9. ](lower case chars converted to upper case) to pass to machine loader, boot manager, and guest kernel", + "type": "string" + }, + { + "name": "dea-key-wrap", + "help": "enable/disable DEA key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "aes-key-wrap", + "help": "enable/disable AES key wrapping using the CPACF wrapping key", + "type": "boolean" + }, + { + "name": "suppress-vmdesc", + "help": "Set on to disable self-describing migration", + "type": "boolean" + }, + { + "name": "iommu", + "help": "Set on/off to enable/disable Intel IOMMU (VT-d)", + "type": "boolean" + }, + { + "name": "firmware", + "help": "firmware image", + "type": "string" + }, + { + "name": "usb", + "help": "Set on/off to enable/disable usb", + "type": "boolean" + }, + { + "name": "mem-merge", + "help": "enable/disable memory merge support", + "type": "boolean" + }, + { + "name": "dump-guest-core", + "help": "Include guest memory in a core dump", + "type": "boolean" + }, + { + "name": "dt_compatible", + "help": "Overrides the \"compatible\" property of the dt root node", + "type": "string" + }, + { + "name": "phandle_start", + "help": "The first phandle ID we may generate dynamically", + "type": "number" + }, + { + "name": "dumpdtb", + "help": "Dump current dtb to a file and quit", + "type": "string" + }, + { + "name": "dtb", + "help": "Linux kernel device tree file", + "type": "string" + }, + { + "name": "append", + "help": "Linux kernel command line", + "type": "string" + }, + { + "name": "initrd", + "help": "Linux initial ramdisk file", + "type": "string" + }, + { + "name": "kernel", + "help": "Linux kernel image file", + "type": "string" + }, + { + "name": "kvm_shadow_mem", + "help": "KVM shadow MMU size", + "type": "size" + }, + { + "name": "kernel_irqchip", + "help": "use KVM in-kernel irqchip", + "type": "boolean" + }, + { + "name": "accel", + "help": "accelerator list", + "type": "string" + }, + { + "name": "type", + "help": "emulated machine", + "type": "string" + } + ], + "option": "machine" + }, + { + "parameters": [ + { + "name": "romfile", + "type": "string" + }, + { + "name": "bootindex", + "type": "number" + } + ], + "option": "option-rom" + }, + { + "parameters": [ + { + "name": "file", + "type": "string" + }, + { + "name": "events", + "type": "string" + }, + { + "name": "enable", + "type": "string" + } + ], + "option": "trace" + }, + { + "parameters": [ + { + "name": "pretty", + "type": "boolean" + }, + { + "name": "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": "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": "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)", + "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-41" +} + +{ + "execute": "query-migrate-capabilities", + "id": "libvirt-42" +} + +{ + "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" + } + ], + "id": "libvirt-42" +} + +{ + "execute": "query-qmp-schema", + "id": "libvirt-43" +} + +{ + "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": "GUEST_PANICKED", + "meta-type": "event", + "arg-type": "6" + }, + { + "name": "JOB_STATUS_CHANGE", + "meta-type": "event", + "arg-type": "7" + }, + { + "name": "job-pause", + "ret-type": "0", + "meta-type": "command", + "arg-type": "8" + }, + { + "name": "job-resume", + "ret-type": "0", + "meta-type": "command", + "arg-type": "9" + }, + { + "name": "job-cancel", + "ret-type": "0", + "meta-type": "command", + "arg-type": "10" + }, + { + "name": "job-complete", + "ret-type": "0", + "meta-type": "command", + "arg-type": "11" + }, + { + "name": "job-dismiss", + "ret-type": "0", + "meta-type": "command", + "arg-type": "12" + }, + { + "name": "job-finalize", + "ret-type": "0", + "meta-type": "command", + "arg-type": "13" + }, + { + "name": "query-jobs", + "ret-type": "[14]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "block-latency-histogram-set", + "ret-type": "0", + "meta-type": "command", + "arg-type": "15" + }, + { + "name": "query-block", + "ret-type": "[16]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-blockstats", + "ret-type": "[18]", + "meta-type": "command", + "arg-type": "17" + }, + { + "name": "query-block-jobs", + "ret-type": "[19]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "block_passwd", + "ret-type": "0", + "meta-type": "command", + "arg-type": "20" + }, + { + "name": "block_resize", + "ret-type": "0", + "meta-type": "command", + "arg-type": "21" + }, + { + "name": "blockdev-snapshot-sync", + "ret-type": "0", + "meta-type": "command", + "arg-type": "22" + }, + { + "name": "blockdev-snapshot", + "ret-type": "0", + "meta-type": "command", + "arg-type": "23" + }, + { + "name": "change-backing-file", + "ret-type": "0", + "meta-type": "command", + "arg-type": "24" + }, + { + "name": "block-commit", + "ret-type": "0", + "meta-type": "command", + "arg-type": "25" + }, + { + "name": "drive-backup", + "ret-type": "0", + "meta-type": "command", + "arg-type": "26" + }, + { + "name": "blockdev-backup", + "ret-type": "0", + "meta-type": "command", + "arg-type": "27" + }, + { + "name": "query-named-block-nodes", + "ret-type": "[28]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "x-debug-query-block-graph", + "ret-type": "29", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "drive-mirror", + "ret-type": "0", + "meta-type": "command", + "arg-type": "30" + }, + { + "name": "block-dirty-bitmap-add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "31" + }, + { + "name": "block-dirty-bitmap-remove", + "ret-type": "0", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-dirty-bitmap-clear", + "ret-type": "0", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-dirty-bitmap-enable", + "ret-type": "0", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-dirty-bitmap-disable", + "ret-type": "0", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "block-dirty-bitmap-merge", + "ret-type": "0", + "meta-type": "command", + "arg-type": "33" + }, + { + "name": "x-debug-block-dirty-bitmap-sha256", + "ret-type": "34", + "meta-type": "command", + "arg-type": "32" + }, + { + "name": "blockdev-mirror", + "ret-type": "0", + "meta-type": "command", + "arg-type": "35" + }, + { + "name": "block_set_io_throttle", + "ret-type": "0", + "meta-type": "command", + "arg-type": "36" + }, + { + "name": "block-stream", + "ret-type": "0", + "meta-type": "command", + "arg-type": "37" + }, + { + "name": "block-job-set-speed", + "ret-type": "0", + "meta-type": "command", + "arg-type": "38" + }, + { + "name": "block-job-cancel", + "ret-type": "0", + "meta-type": "command", + "arg-type": "39" + }, + { + "name": "block-job-pause", + "ret-type": "0", + "meta-type": "command", + "arg-type": "40" + }, + { + "name": "block-job-resume", + "ret-type": "0", + "meta-type": "command", + "arg-type": "41" + }, + { + "name": "block-job-complete", + "ret-type": "0", + "meta-type": "command", + "arg-type": "42" + }, + { + "name": "block-job-dismiss", + "ret-type": "0", + "meta-type": "command", + "arg-type": "43" + }, + { + "name": "block-job-finalize", + "ret-type": "0", + "meta-type": "command", + "arg-type": "44" + }, + { + "name": "blockdev-add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "45" + }, + { + "name": "x-blockdev-reopen", + "ret-type": "0", + "meta-type": "command", + "arg-type": "45" + }, + { + "name": "blockdev-del", + "ret-type": "0", + "meta-type": "command", + "arg-type": "46" + }, + { + "name": "blockdev-create", + "ret-type": "0", + "meta-type": "command", + "arg-type": "47" + }, + { + "name": "blockdev-open-tray", + "ret-type": "0", + "meta-type": "command", + "arg-type": "48" + }, + { + "name": "blockdev-close-tray", + "ret-type": "0", + "meta-type": "command", + "arg-type": "49" + }, + { + "name": "blockdev-remove-medium", + "ret-type": "0", + "meta-type": "command", + "arg-type": "50" + }, + { + "name": "blockdev-insert-medium", + "ret-type": "0", + "meta-type": "command", + "arg-type": "51" + }, + { + "name": "blockdev-change-medium", + "ret-type": "0", + "meta-type": "command", + "arg-type": "52" + }, + { + "name": "BLOCK_IMAGE_CORRUPTED", + "meta-type": "event", + "arg-type": "53" + }, + { + "name": "BLOCK_IO_ERROR", + "meta-type": "event", + "arg-type": "54" + }, + { + "name": "BLOCK_JOB_COMPLETED", + "meta-type": "event", + "arg-type": "55" + }, + { + "name": "BLOCK_JOB_CANCELLED", + "meta-type": "event", + "arg-type": "56" + }, + { + "name": "BLOCK_JOB_ERROR", + "meta-type": "event", + "arg-type": "57" + }, + { + "name": "BLOCK_JOB_READY", + "meta-type": "event", + "arg-type": "58" + }, + { + "name": "BLOCK_JOB_PENDING", + "meta-type": "event", + "arg-type": "59" + }, + { + "name": "BLOCK_WRITE_THRESHOLD", + "meta-type": "event", + "arg-type": "60" + }, + { + "name": "block-set-write-threshold", + "ret-type": "0", + "meta-type": "command", + "arg-type": "61" + }, + { + "name": "x-blockdev-change", + "ret-type": "0", + "meta-type": "command", + "arg-type": "62" + }, + { + "name": "x-blockdev-set-iothread", + "ret-type": "0", + "meta-type": "command", + "arg-type": "63" + }, + { + "name": "query-pr-managers", + "ret-type": "[64]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "blockdev-snapshot-internal-sync", + "ret-type": "0", + "meta-type": "command", + "arg-type": "65" + }, + { + "name": "blockdev-snapshot-delete-internal-sync", + "ret-type": "67", + "meta-type": "command", + "arg-type": "66" + }, + { + "name": "eject", + "ret-type": "0", + "meta-type": "command", + "arg-type": "68" + }, + { + "name": "nbd-server-start", + "ret-type": "0", + "meta-type": "command", + "arg-type": "69" + }, + { + "name": "nbd-server-add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "70" + }, + { + "name": "nbd-server-remove", + "ret-type": "0", + "meta-type": "command", + "arg-type": "71" + }, + { + "name": "nbd-server-stop", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "DEVICE_TRAY_MOVED", + "meta-type": "event", + "arg-type": "72" + }, + { + "name": "PR_MANAGER_STATUS_CHANGED", + "meta-type": "event", + "arg-type": "73" + }, + { + "name": "QUORUM_FAILURE", + "meta-type": "event", + "arg-type": "74" + }, + { + "name": "QUORUM_REPORT_BAD", + "meta-type": "event", + "arg-type": "75" + }, + { + "name": "query-chardev", + "ret-type": "[76]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-chardev-backends", + "ret-type": "[77]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "ringbuf-write", + "ret-type": "0", + "meta-type": "command", + "arg-type": "78" + }, + { + "name": "ringbuf-read", + "ret-type": "str", + "meta-type": "command", + "arg-type": "79" + }, + { + "name": "chardev-add", + "ret-type": "81", + "meta-type": "command", + "arg-type": "80" + }, + { + "name": "chardev-change", + "ret-type": "81", + "meta-type": "command", + "arg-type": "82" + }, + { + "name": "chardev-remove", + "ret-type": "0", + "meta-type": "command", + "arg-type": "83" + }, + { + "name": "chardev-send-break", + "ret-type": "0", + "meta-type": "command", + "arg-type": "84" + }, + { + "name": "VSERPORT_CHANGE", + "meta-type": "event", + "arg-type": "85" + }, + { + "name": "set_link", + "ret-type": "0", + "meta-type": "command", + "arg-type": "86" + }, + { + "name": "netdev_add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "87" + }, + { + "name": "netdev_del", + "ret-type": "0", + "meta-type": "command", + "arg-type": "88" + }, + { + "name": "query-rx-filter", + "ret-type": "[90]", + "meta-type": "command", + "arg-type": "89" + }, + { + "name": "NIC_RX_FILTER_CHANGED", + "meta-type": "event", + "arg-type": "91" + }, + { + "name": "announce-self", + "ret-type": "0", + "meta-type": "command", + "arg-type": "92" + }, + { + "name": "RDMA_GID_STATUS_CHANGED", + "meta-type": "event", + "arg-type": "93" + }, + { + "name": "query-rocker", + "ret-type": "95", + "meta-type": "command", + "arg-type": "94" + }, + { + "name": "query-rocker-ports", + "ret-type": "[97]", + "meta-type": "command", + "arg-type": "96" + }, + { + "name": "query-rocker-of-dpa-flows", + "ret-type": "[99]", + "meta-type": "command", + "arg-type": "98" + }, + { + "name": "query-rocker-of-dpa-groups", + "ret-type": "[101]", + "meta-type": "command", + "arg-type": "100" + }, + { + "name": "query-tpm-models", + "ret-type": "[102]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-tpm-types", + "ret-type": "[103]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-tpm", + "ret-type": "[104]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "set_password", + "ret-type": "0", + "meta-type": "command", + "arg-type": "105" + }, + { + "name": "expire_password", + "ret-type": "0", + "meta-type": "command", + "arg-type": "106" + }, + { + "name": "screendump", + "ret-type": "0", + "meta-type": "command", + "arg-type": "107" + }, + { + "name": "query-spice", + "ret-type": "108", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "SPICE_CONNECTED", + "meta-type": "event", + "arg-type": "109" + }, + { + "name": "SPICE_INITIALIZED", + "meta-type": "event", + "arg-type": "110" + }, + { + "name": "SPICE_DISCONNECTED", + "meta-type": "event", + "arg-type": "111" + }, + { + "name": "SPICE_MIGRATE_COMPLETED", + "meta-type": "event", + "arg-type": "0" + }, + { + "name": "query-vnc", + "ret-type": "112", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-vnc-servers", + "ret-type": "[113]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "change-vnc-password", + "ret-type": "0", + "meta-type": "command", + "arg-type": "114" + }, + { + "name": "VNC_CONNECTED", + "meta-type": "event", + "arg-type": "115" + }, + { + "name": "VNC_INITIALIZED", + "meta-type": "event", + "arg-type": "116" + }, + { + "name": "VNC_DISCONNECTED", + "meta-type": "event", + "arg-type": "117" + }, + { + "name": "query-mice", + "ret-type": "[118]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "send-key", + "ret-type": "0", + "meta-type": "command", + "arg-type": "119" + }, + { + "name": "input-send-event", + "ret-type": "0", + "meta-type": "command", + "arg-type": "120" + }, + { + "name": "query-display-options", + "ret-type": "121", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-migrate", + "ret-type": "122", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate-set-capabilities", + "ret-type": "0", + "meta-type": "command", + "arg-type": "123" + }, + { + "name": "query-migrate-capabilities", + "ret-type": "[124]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate-set-parameters", + "ret-type": "0", + "meta-type": "command", + "arg-type": "125" + }, + { + "name": "query-migrate-parameters", + "ret-type": "126", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "client_migrate_info", + "ret-type": "0", + "meta-type": "command", + "arg-type": "127" + }, + { + "name": "migrate-start-postcopy", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "MIGRATION", + "meta-type": "event", + "arg-type": "128" + }, + { + "name": "MIGRATION_PASS", + "meta-type": "event", + "arg-type": "129" + }, + { + "name": "COLO_EXIT", + "meta-type": "event", + "arg-type": "130" + }, + { + "name": "x-colo-lost-heartbeat", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate_cancel", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate-continue", + "ret-type": "0", + "meta-type": "command", + "arg-type": "131" + }, + { + "name": "migrate_set_downtime", + "ret-type": "0", + "meta-type": "command", + "arg-type": "132" + }, + { + "name": "migrate_set_speed", + "ret-type": "0", + "meta-type": "command", + "arg-type": "133" + }, + { + "name": "migrate-set-cache-size", + "ret-type": "0", + "meta-type": "command", + "arg-type": "134" + }, + { + "name": "query-migrate-cache-size", + "ret-type": "int", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate", + "ret-type": "0", + "meta-type": "command", + "arg-type": "135" + }, + { + "name": "migrate-incoming", + "ret-type": "0", + "meta-type": "command", + "arg-type": "136" + }, + { + "name": "xen-save-devices-state", + "ret-type": "0", + "meta-type": "command", + "arg-type": "137" + }, + { + "name": "xen-set-replication", + "ret-type": "0", + "meta-type": "command", + "arg-type": "138" + }, + { + "name": "query-xen-replication-status", + "ret-type": "139", + "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": "140", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "migrate-recover", + "ret-type": "0", + "allow-oob": true, + "meta-type": "command", + "arg-type": "141" + }, + { + "name": "migrate-pause", + "ret-type": "0", + "allow-oob": true, + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "transaction", + "ret-type": "0", + "meta-type": "command", + "arg-type": "142" + }, + { + "name": "trace-event-get-state", + "ret-type": "[144]", + "meta-type": "command", + "arg-type": "143" + }, + { + "name": "trace-event-set-state", + "ret-type": "0", + "meta-type": "command", + "arg-type": "145" + }, + { + "name": "query-qmp-schema", + "ret-type": "[146]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "qmp_capabilities", + "ret-type": "0", + "meta-type": "command", + "arg-type": "147" + }, + { + "name": "query-version", + "ret-type": "148", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-commands", + "ret-type": "[149]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "add_client", + "ret-type": "0", + "meta-type": "command", + "arg-type": "150" + }, + { + "name": "query-name", + "ret-type": "151", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-kvm", + "ret-type": "152", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-uuid", + "ret-type": "153", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-events", + "ret-type": "[154]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-cpus", + "ret-type": "[155]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-cpus-fast", + "ret-type": "[156]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-iothreads", + "ret-type": "[157]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-balloon", + "ret-type": "158", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "BALLOON_CHANGE", + "meta-type": "event", + "arg-type": "159" + }, + { + "name": "query-pci", + "ret-type": "[160]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "quit", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "stop", + "ret-type": "0", + "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": "cpu-add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "161" + }, + { + "name": "memsave", + "ret-type": "0", + "meta-type": "command", + "arg-type": "162" + }, + { + "name": "pmemsave", + "ret-type": "0", + "meta-type": "command", + "arg-type": "163" + }, + { + "name": "cont", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "x-exit-preconfig", + "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": "balloon", + "ret-type": "0", + "meta-type": "command", + "arg-type": "164" + }, + { + "name": "human-monitor-command", + "ret-type": "str", + "meta-type": "command", + "arg-type": "165" + }, + { + "name": "qom-list", + "ret-type": "[167]", + "meta-type": "command", + "arg-type": "166" + }, + { + "name": "qom-get", + "ret-type": "any", + "meta-type": "command", + "arg-type": "168" + }, + { + "name": "qom-set", + "ret-type": "0", + "meta-type": "command", + "arg-type": "169" + }, + { + "name": "change", + "ret-type": "0", + "meta-type": "command", + "arg-type": "170" + }, + { + "name": "qom-list-types", + "ret-type": "[172]", + "meta-type": "command", + "arg-type": "171" + }, + { + "name": "device-list-properties", + "ret-type": "[167]", + "meta-type": "command", + "arg-type": "173" + }, + { + "name": "qom-list-properties", + "ret-type": "[167]", + "meta-type": "command", + "arg-type": "174" + }, + { + "name": "xen-set-global-dirty-log", + "ret-type": "0", + "meta-type": "command", + "arg-type": "175" + }, + { + "name": "device_add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "176" + }, + { + "name": "device_del", + "ret-type": "0", + "meta-type": "command", + "arg-type": "177" + }, + { + "name": "DEVICE_DELETED", + "meta-type": "event", + "arg-type": "178" + }, + { + "name": "dump-guest-memory", + "ret-type": "0", + "meta-type": "command", + "arg-type": "179" + }, + { + "name": "query-dump", + "ret-type": "180", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "DUMP_COMPLETED", + "meta-type": "event", + "arg-type": "181" + }, + { + "name": "query-dump-guest-memory-capability", + "ret-type": "182", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "object-add", + "ret-type": "0", + "meta-type": "command", + "arg-type": "183" + }, + { + "name": "object-del", + "ret-type": "0", + "meta-type": "command", + "arg-type": "184" + }, + { + "name": "getfd", + "ret-type": "0", + "meta-type": "command", + "arg-type": "185" + }, + { + "name": "closefd", + "ret-type": "0", + "meta-type": "command", + "arg-type": "186" + }, + { + "name": "query-machines", + "ret-type": "[187]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-current-machine", + "ret-type": "188", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-memory-size-summary", + "ret-type": "189", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "add-fd", + "ret-type": "191", + "meta-type": "command", + "arg-type": "190" + }, + { + "name": "remove-fd", + "ret-type": "0", + "meta-type": "command", + "arg-type": "192" + }, + { + "name": "query-fdsets", + "ret-type": "[193]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-target", + "ret-type": "194", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-command-line-options", + "ret-type": "[196]", + "meta-type": "command", + "arg-type": "195" + }, + { + "name": "query-memdev", + "ret-type": "[197]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-memory-devices", + "ret-type": "[198]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "MEM_UNPLUG_ERROR", + "meta-type": "event", + "arg-type": "199" + }, + { + "name": "query-acpi-ospm-status", + "ret-type": "[200]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "ACPI_DEVICE_OST", + "meta-type": "event", + "arg-type": "201" + }, + { + "name": "xen-load-devices-state", + "ret-type": "0", + "meta-type": "command", + "arg-type": "202" + }, + { + "name": "query-hotpluggable-cpus", + "ret-type": "[203]", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-vm-generation-id", + "ret-type": "204", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "set-numa-node", + "ret-type": "0", + "meta-type": "command", + "arg-type": "205" + }, + { + "name": "RTC_CHANGE", + "meta-type": "event", + "arg-type": "206" + }, + { + "name": "rtc-reset-reinjection", + "ret-type": "0", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-sev", + "ret-type": "207", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-sev-launch-measure", + "ret-type": "208", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-sev-capabilities", + "ret-type": "209", + "meta-type": "command", + "arg-type": "0" + }, + { + "name": "query-cpu-model-expansion", + "ret-type": "217", + "meta-type": "command", + "arg-type": "216" + }, + { + "name": "query-cpu-definitions", + "ret-type": "[218]", + "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": "219" + } + ], + "meta-type": "object" + }, + { + "name": "2", + "members": [ + { + "name": "guest", + "type": "bool" + }, + { + "name": "reason", + "type": "220" + } + ], + "meta-type": "object" + }, + { + "name": "3", + "members": [ + { + "name": "guest", + "type": "bool" + }, + { + "name": "reason", + "type": "220" + } + ], + "meta-type": "object" + }, + { + "name": "4", + "members": [ + { + "name": "action", + "type": "221" + } + ], + "meta-type": "object" + }, + { + "name": "5", + "members": [ + { + "name": "action", + "type": "221" + } + ], + "meta-type": "object" + }, + { + "name": "6", + "members": [ + { + "name": "action", + "type": "222" + }, + { + "name": "info", + "default": null, + "type": "223" + } + ], + "meta-type": "object" + }, + { + "name": "7", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "status", + "type": "224" + } + ], + "meta-type": "object" + }, + { + "name": "8", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "9", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "10", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "11", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "12", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "13", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[14]", + "element-type": "14", + "meta-type": "array" + }, + { + "name": "14", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "type", + "type": "225" + }, + { + "name": "status", + "type": "224" + }, + { + "name": "current-progress", + "type": "int" + }, + { + "name": "total-progress", + "type": "int" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "15", + "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": "[16]", + "element-type": "16", + "meta-type": "array" + }, + { + "name": "16", + "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": "28" + }, + { + "name": "tray_open", + "default": null, + "type": "bool" + }, + { + "name": "io-status", + "default": null, + "type": "226" + }, + { + "name": "dirty-bitmaps", + "default": null, + "type": "[227]" + } + ], + "meta-type": "object" + }, + { + "name": "17", + "members": [ + { + "name": "query-nodes", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[18]", + "element-type": "18", + "meta-type": "array" + }, + { + "name": "18", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "qdev", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "stats", + "type": "228" + }, + { + "name": "parent", + "default": null, + "type": "18" + }, + { + "name": "backing", + "default": null, + "type": "18" + } + ], + "meta-type": "object" + }, + { + "name": "[19]", + "element-type": "19", + "meta-type": "array" + }, + { + "name": "19", + "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": "226" + }, + { + "name": "ready", + "type": "bool" + }, + { + "name": "status", + "type": "224" + }, + { + "name": "auto-finalize", + "type": "bool" + }, + { + "name": "auto-dismiss", + "type": "bool" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "20", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "21", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "22", + "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": "229" + } + ], + "meta-type": "object" + }, + { + "name": "23", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "overlay", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "24", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "image-node-name", + "type": "str" + }, + { + "name": "backing-file", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "25", + "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" + }, + { + "name": "top-node", + "default": null, + "type": "str" + }, + { + "name": "top", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "filter-node-name", + "default": null, + "type": "str" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "26", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "sync", + "type": "230" + }, + { + "name": "mode", + "default": null, + "type": "229" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "231" + }, + { + "name": "on-target-error", + "default": null, + "type": "231" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "27", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "sync", + "type": "230" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + }, + { + "name": "compress", + "default": null, + "type": "bool" + }, + { + "name": "on-source-error", + "default": null, + "type": "231" + }, + { + "name": "on-target-error", + "default": null, + "type": "231" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[28]", + "element-type": "28", + "meta-type": "array" + }, + { + "name": "28", + "members": [ + { + "name": "file", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "ro", + "type": "bool" + }, + { + "name": "drv", + "type": "str" + }, + { + "name": "backing_file", + "default": null, + "type": "str" + }, + { + "name": "backing_file_depth", + "type": "int" + }, + { + "name": "encrypted", + "type": "bool" + }, + { + "name": "encryption_key_missing", + "type": "bool" + }, + { + "name": "detect_zeroes", + "type": "232" + }, + { + "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": "233" + }, + { + "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": "234" + }, + { + "name": "write_threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "29", + "members": [ + { + "name": "nodes", + "type": "[235]" + }, + { + "name": "edges", + "type": "[236]" + } + ], + "meta-type": "object" + }, + { + "name": "30", + "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": "230" + }, + { + "name": "mode", + "default": null, + "type": "229" + }, + { + "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": "231" + }, + { + "name": "on-target-error", + "default": null, + "type": "231" + }, + { + "name": "unmap", + "default": null, + "type": "bool" + }, + { + "name": "copy-mode", + "default": null, + "type": "237" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "31", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "granularity", + "default": null, + "type": "int" + }, + { + "name": "persistent", + "default": null, + "type": "bool" + }, + { + "name": "autoload", + "default": null, + "type": "bool" + }, + { + "name": "disabled", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "32", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "33", + "members": [ + { + "name": "node", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "bitmaps", + "type": "[238]" + } + ], + "meta-type": "object" + }, + { + "name": "34", + "members": [ + { + "name": "sha256", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "35", + "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": "230" + }, + { + "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": "231" + }, + { + "name": "on-target-error", + "default": null, + "type": "231" + }, + { + "name": "filter-node-name", + "default": null, + "type": "str" + }, + { + "name": "copy-mode", + "default": null, + "type": "237" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "36", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "bps", + "type": "int" + }, + { + "name": "bps_rd", + "type": "int" + }, + { + "name": "bps_wr", + "type": "int" + }, + { + "name": "iops", + "type": "int" + }, + { + "name": "iops_rd", + "type": "int" + }, + { + "name": "iops_wr", + "type": "int" + }, + { + "name": "bps_max", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max", + "default": null, + "type": "int" + }, + { + "name": "iops_max", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max", + "default": null, + "type": "int" + }, + { + "name": "bps_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "bps_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_rd_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_wr_max_length", + "default": null, + "type": "int" + }, + { + "name": "iops_size", + "default": null, + "type": "int" + }, + { + "name": "group", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "37", + "members": [ + { + "name": "job-id", + "default": null, + "type": "str" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "base", + "default": null, + "type": "str" + }, + { + "name": "base-node", + "default": null, + "type": "str" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "speed", + "default": null, + "type": "int" + }, + { + "name": "on-error", + "default": null, + "type": "231" + }, + { + "name": "auto-finalize", + "default": null, + "type": "bool" + }, + { + "name": "auto-dismiss", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "38", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "39", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "40", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "41", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "42", + "members": [ + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "43", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "44", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "45", + "tag": "driver", + "variants": [ + { + "case": "blkdebug", + "type": "242" + }, + { + "case": "blklogwrites", + "type": "243" + }, + { + "case": "blkverify", + "type": "244" + }, + { + "case": "bochs", + "type": "245" + }, + { + "case": "cloop", + "type": "245" + }, + { + "case": "copy-on-read", + "type": "245" + }, + { + "case": "dmg", + "type": "245" + }, + { + "case": "file", + "type": "246" + }, + { + "case": "ftp", + "type": "247" + }, + { + "case": "ftps", + "type": "248" + }, + { + "case": "gluster", + "type": "249" + }, + { + "case": "host_cdrom", + "type": "246" + }, + { + "case": "host_device", + "type": "246" + }, + { + "case": "http", + "type": "250" + }, + { + "case": "https", + "type": "251" + }, + { + "case": "iscsi", + "type": "252" + }, + { + "case": "luks", + "type": "253" + }, + { + "case": "nbd", + "type": "254" + }, + { + "case": "nfs", + "type": "255" + }, + { + "case": "null-aio", + "type": "256" + }, + { + "case": "null-co", + "type": "256" + }, + { + "case": "nvme", + "type": "257" + }, + { + "case": "parallels", + "type": "245" + }, + { + "case": "qcow2", + "type": "258" + }, + { + "case": "qcow", + "type": "259" + }, + { + "case": "qed", + "type": "260" + }, + { + "case": "quorum", + "type": "261" + }, + { + "case": "raw", + "type": "262" + }, + { + "case": "rbd", + "type": "263" + }, + { + "case": "replication", + "type": "264" + }, + { + "case": "sheepdog", + "type": "265" + }, + { + "case": "ssh", + "type": "266" + }, + { + "case": "throttle", + "type": "267" + }, + { + "case": "vdi", + "type": "245" + }, + { + "case": "vhdx", + "type": "245" + }, + { + "case": "vmdk", + "type": "260" + }, + { + "case": "vpc", + "type": "245" + }, + { + "case": "vvfat", + "type": "268" + }, + { + "case": "vxhs", + "type": "269" + } + ], + "members": [ + { + "name": "driver", + "type": "239" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "discard", + "default": null, + "type": "240" + }, + { + "name": "cache", + "default": null, + "type": "241" + }, + { + "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": "232" + } + ], + "meta-type": "object" + }, + { + "name": "46", + "members": [ + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "47", + "members": [ + { + "name": "job-id", + "type": "str" + }, + { + "name": "options", + "type": "270" + } + ], + "meta-type": "object" + }, + { + "name": "48", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "49", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "50", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "51", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "node-name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "52", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "str" + }, + { + "name": "read-only-mode", + "default": null, + "type": "271" + } + ], + "meta-type": "object" + }, + { + "name": "53", + "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": "54", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "node-name", + "default": null, + "type": "str" + }, + { + "name": "operation", + "type": "272" + }, + { + "name": "action", + "type": "273" + }, + { + "name": "nospace", + "default": null, + "type": "bool" + }, + { + "name": "reason", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "55", + "members": [ + { + "name": "type", + "type": "225" + }, + { + "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": "56", + "members": [ + { + "name": "type", + "type": "225" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "57", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "operation", + "type": "272" + }, + { + "name": "action", + "type": "273" + } + ], + "meta-type": "object" + }, + { + "name": "58", + "members": [ + { + "name": "type", + "type": "225" + }, + { + "name": "device", + "type": "str" + }, + { + "name": "len", + "type": "int" + }, + { + "name": "offset", + "type": "int" + }, + { + "name": "speed", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "59", + "members": [ + { + "name": "type", + "type": "225" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "60", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "amount-exceeded", + "type": "int" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "61", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "write-threshold", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "62", + "members": [ + { + "name": "parent", + "type": "str" + }, + { + "name": "child", + "default": null, + "type": "str" + }, + { + "name": "node", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "63", + "members": [ + { + "name": "node-name", + "type": "str" + }, + { + "name": "iothread", + "type": "274" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[64]", + "element-type": "64", + "meta-type": "array" + }, + { + "name": "64", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "connected", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "65", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "66", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "67", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "vm-state-size", + "type": "int" + }, + { + "name": "date-sec", + "type": "int" + }, + { + "name": "date-nsec", + "type": "int" + }, + { + "name": "vm-clock-sec", + "type": "int" + }, + { + "name": "vm-clock-nsec", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "68", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "force", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "69", + "members": [ + { + "name": "addr", + "type": "275" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "tls-authz", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "70", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "writable", + "default": null, + "type": "bool" + }, + { + "name": "bitmap", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "71", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "mode", + "default": null, + "type": "276" + } + ], + "meta-type": "object" + }, + { + "name": "72", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "tray-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "73", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "connected", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "74", + "members": [ + { + "name": "reference", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "75", + "members": [ + { + "name": "type", + "type": "277" + }, + { + "name": "error", + "default": null, + "type": "str" + }, + { + "name": "node-name", + "type": "str" + }, + { + "name": "sector-num", + "type": "int" + }, + { + "name": "sectors-count", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[76]", + "element-type": "76", + "meta-type": "array" + }, + { + "name": "76", + "members": [ + { + "name": "label", + "type": "str" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "frontend-open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[77]", + "element-type": "77", + "meta-type": "array" + }, + { + "name": "77", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "78", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "data", + "type": "str" + }, + { + "name": "format", + "default": null, + "type": "278" + } + ], + "meta-type": "object" + }, + { + "name": "79", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "278" + } + ], + "meta-type": "object" + }, + { + "name": "str", + "json-type": "string", + "meta-type": "builtin" + }, + { + "name": "80", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "backend", + "type": "279" + } + ], + "meta-type": "object" + }, + { + "name": "81", + "members": [ + { + "name": "pty", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "82", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "backend", + "type": "279" + } + ], + "meta-type": "object" + }, + { + "name": "83", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "84", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "85", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "open", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "86", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "up", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "87", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "88", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "89", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[90]", + "element-type": "90", + "meta-type": "array" + }, + { + "name": "90", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "promiscuous", + "type": "bool" + }, + { + "name": "multicast", + "type": "280" + }, + { + "name": "unicast", + "type": "280" + }, + { + "name": "vlan", + "type": "280" + }, + { + "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": "91", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "92", + "members": [ + { + "name": "initial", + "type": "int" + }, + { + "name": "max", + "type": "int" + }, + { + "name": "rounds", + "type": "int" + }, + { + "name": "step", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "93", + "members": [ + { + "name": "netdev", + "type": "str" + }, + { + "name": "gid-status", + "type": "bool" + }, + { + "name": "subnet-prefix", + "type": "int" + }, + { + "name": "interface-id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "94", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "95", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "id", + "type": "int" + }, + { + "name": "ports", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "96", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[97]", + "element-type": "97", + "meta-type": "array" + }, + { + "name": "97", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "enabled", + "type": "bool" + }, + { + "name": "link-up", + "type": "bool" + }, + { + "name": "speed", + "type": "int" + }, + { + "name": "duplex", + "type": "281" + }, + { + "name": "autoneg", + "type": "282" + } + ], + "meta-type": "object" + }, + { + "name": "98", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "tbl-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[99]", + "element-type": "99", + "meta-type": "array" + }, + { + "name": "99", + "members": [ + { + "name": "cookie", + "type": "int" + }, + { + "name": "hits", + "type": "int" + }, + { + "name": "key", + "type": "283" + }, + { + "name": "mask", + "type": "284" + }, + { + "name": "action", + "type": "285" + } + ], + "meta-type": "object" + }, + { + "name": "100", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[101]", + "element-type": "101", + "meta-type": "array" + }, + { + "name": "101", + "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": "[102]", + "element-type": "102", + "meta-type": "array" + }, + { + "name": "102", + "meta-type": "enum", + "values": [ + "tpm-tis", + "tpm-crb" + ] + }, + { + "name": "[103]", + "element-type": "103", + "meta-type": "array" + }, + { + "name": "103", + "meta-type": "enum", + "values": [ + "passthrough", + "emulator" + ] + }, + { + "name": "[104]", + "element-type": "104", + "meta-type": "array" + }, + { + "name": "104", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "model", + "type": "102" + }, + { + "name": "options", + "type": "286" + } + ], + "meta-type": "object" + }, + { + "name": "105", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "password", + "type": "str" + }, + { + "name": "connected", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "106", + "members": [ + { + "name": "protocol", + "type": "str" + }, + { + "name": "time", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "107", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "head", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "108", + "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": "287" + }, + { + "name": "channels", + "default": null, + "type": "[288]" + } + ], + "meta-type": "object" + }, + { + "name": "109", + "members": [ + { + "name": "server", + "type": "289" + }, + { + "name": "client", + "type": "289" + } + ], + "meta-type": "object" + }, + { + "name": "110", + "members": [ + { + "name": "server", + "type": "290" + }, + { + "name": "client", + "type": "288" + } + ], + "meta-type": "object" + }, + { + "name": "111", + "members": [ + { + "name": "server", + "type": "289" + }, + { + "name": "client", + "type": "289" + } + ], + "meta-type": "object" + }, + { + "name": "112", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "host", + "default": null, + "type": "str" + }, + { + "name": "family", + "default": null, + "type": "291" + }, + { + "name": "service", + "default": null, + "type": "str" + }, + { + "name": "auth", + "default": null, + "type": "str" + }, + { + "name": "clients", + "default": null, + "type": "[292]" + } + ], + "meta-type": "object" + }, + { + "name": "[113]", + "element-type": "113", + "meta-type": "array" + }, + { + "name": "113", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "server", + "type": "[293]" + }, + { + "name": "clients", + "type": "[292]" + }, + { + "name": "auth", + "type": "294" + }, + { + "name": "vencrypt", + "default": null, + "type": "295" + }, + { + "name": "display", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "114", + "members": [ + { + "name": "password", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "115", + "members": [ + { + "name": "server", + "type": "296" + }, + { + "name": "client", + "type": "297" + } + ], + "meta-type": "object" + }, + { + "name": "116", + "members": [ + { + "name": "server", + "type": "296" + }, + { + "name": "client", + "type": "292" + } + ], + "meta-type": "object" + }, + { + "name": "117", + "members": [ + { + "name": "server", + "type": "296" + }, + { + "name": "client", + "type": "292" + } + ], + "meta-type": "object" + }, + { + "name": "[118]", + "element-type": "118", + "meta-type": "array" + }, + { + "name": "118", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "index", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "absolute", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "119", + "members": [ + { + "name": "keys", + "type": "[298]" + }, + { + "name": "hold-time", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "120", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "head", + "default": null, + "type": "int" + }, + { + "name": "events", + "type": "[299]" + } + ], + "meta-type": "object" + }, + { + "name": "121", + "tag": "type", + "variants": [ + { + "case": "gtk", + "type": "302" + }, + { + "case": "curses", + "type": "303" + }, + { + "case": "egl-headless", + "type": "304" + }, + { + "case": "default", + "type": "0" + }, + { + "case": "none", + "type": "0" + }, + { + "case": "sdl", + "type": "0" + }, + { + "case": "cocoa", + "type": "0" + }, + { + "case": "spice-app", + "type": "0" + } + ], + "members": [ + { + "name": "type", + "type": "300" + }, + { + "name": "full-screen", + "default": null, + "type": "bool" + }, + { + "name": "window-close", + "default": null, + "type": "bool" + }, + { + "name": "gl", + "default": null, + "type": "301" + } + ], + "meta-type": "object" + }, + { + "name": "122", + "members": [ + { + "name": "status", + "default": null, + "type": "305" + }, + { + "name": "ram", + "default": null, + "type": "306" + }, + { + "name": "disk", + "default": null, + "type": "306" + }, + { + "name": "xbzrle-cache", + "default": null, + "type": "307" + }, + { + "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": "postcopy-blocktime", + "default": null, + "type": "int" + }, + { + "name": "postcopy-vcpu-blocktime", + "default": null, + "type": "[int]" + }, + { + "name": "compression", + "default": null, + "type": "308" + }, + { + "name": "socket-address", + "default": null, + "type": "[309]" + } + ], + "meta-type": "object" + }, + { + "name": "123", + "members": [ + { + "name": "capabilities", + "type": "[124]" + } + ], + "meta-type": "object" + }, + { + "name": "[124]", + "element-type": "124", + "meta-type": "array" + }, + { + "name": "124", + "members": [ + { + "name": "capability", + "type": "310" + }, + { + "name": "state", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "125", + "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": "cpu-throttle-initial", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "default": null, + "type": "int" + }, + { + "name": "tls-creds", + "default": null, + "type": "274" + }, + { + "name": "tls-hostname", + "default": null, + "type": "274" + }, + { + "name": "tls-authz", + "default": null, + "type": "274" + }, + { + "name": "max-bandwidth", + "default": null, + "type": "int" + }, + { + "name": "downtime-limit", + "default": null, + "type": "int" + }, + { + "name": "x-checkpoint-delay", + "default": null, + "type": "int" + }, + { + "name": "block-incremental", + "default": null, + "type": "bool" + }, + { + "name": "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" + } + ], + "meta-type": "object" + }, + { + "name": "126", + "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": "cpu-throttle-initial", + "default": null, + "type": "int" + }, + { + "name": "cpu-throttle-increment", + "default": null, + "type": "int" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "tls-hostname", + "default": null, + "type": "str" + }, + { + "name": "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" + }, + { + "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" + } + ], + "meta-type": "object" + }, + { + "name": "127", + "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": "128", + "members": [ + { + "name": "status", + "type": "305" + } + ], + "meta-type": "object" + }, + { + "name": "129", + "members": [ + { + "name": "pass", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "130", + "members": [ + { + "name": "mode", + "type": "311" + }, + { + "name": "reason", + "type": "312" + } + ], + "meta-type": "object" + }, + { + "name": "131", + "members": [ + { + "name": "state", + "type": "305" + } + ], + "meta-type": "object" + }, + { + "name": "132", + "members": [ + { + "name": "value", + "type": "number" + } + ], + "meta-type": "object" + }, + { + "name": "133", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "134", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "int", + "json-type": "int", + "meta-type": "builtin" + }, + { + "name": "135", + "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": "136", + "members": [ + { + "name": "uri", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "137", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "live", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "138", + "members": [ + { + "name": "enable", + "type": "bool" + }, + { + "name": "primary", + "type": "bool" + }, + { + "name": "failover", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "139", + "members": [ + { + "name": "error", + "type": "bool" + }, + { + "name": "desc", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "140", + "members": [ + { + "name": "mode", + "type": "311" + }, + { + "name": "last-mode", + "type": "311" + }, + { + "name": "reason", + "type": "312" + } + ], + "meta-type": "object" + }, + { + "name": "141", + "members": [ + { + "name": "uri", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "142", + "members": [ + { + "name": "actions", + "type": "[313]" + }, + { + "name": "properties", + "default": null, + "type": "314" + } + ], + "meta-type": "object" + }, + { + "name": "143", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "vcpu", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[144]", + "element-type": "144", + "meta-type": "array" + }, + { + "name": "144", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "state", + "type": "315" + }, + { + "name": "vcpu", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "145", + "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": "[146]", + "element-type": "146", + "meta-type": "array" + }, + { + "name": "146", + "tag": "meta-type", + "variants": [ + { + "case": "builtin", + "type": "317" + }, + { + "case": "enum", + "type": "318" + }, + { + "case": "array", + "type": "319" + }, + { + "case": "object", + "type": "320" + }, + { + "case": "alternate", + "type": "321" + }, + { + "case": "command", + "type": "322" + }, + { + "case": "event", + "type": "323" + } + ], + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "meta-type", + "type": "316" + } + ], + "meta-type": "object" + }, + { + "name": "147", + "members": [ + { + "name": "enable", + "default": null, + "type": "[324]" + } + ], + "meta-type": "object" + }, + { + "name": "148", + "members": [ + { + "name": "qemu", + "type": "325" + }, + { + "name": "package", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[149]", + "element-type": "149", + "meta-type": "array" + }, + { + "name": "149", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "150", + "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": "151", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "152", + "members": [ + { + "name": "enabled", + "type": "bool" + }, + { + "name": "present", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "153", + "members": [ + { + "name": "UUID", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[154]", + "element-type": "154", + "meta-type": "array" + }, + { + "name": "154", + "members": [ + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[155]", + "element-type": "155", + "meta-type": "array" + }, + { + "name": "155", + "tag": "arch", + "variants": [ + { + "case": "x86", + "type": "328" + }, + { + "case": "sparc", + "type": "329" + }, + { + "case": "ppc", + "type": "330" + }, + { + "case": "mips", + "type": "331" + }, + { + "case": "tricore", + "type": "332" + }, + { + "case": "s390", + "type": "333" + }, + { + "case": "riscv", + "type": "334" + }, + { + "case": "other", + "type": "0" + } + ], + "members": [ + { + "name": "CPU", + "type": "int" + }, + { + "name": "current", + "type": "bool" + }, + { + "name": "halted", + "type": "bool" + }, + { + "name": "qom_path", + "type": "str" + }, + { + "name": "thread_id", + "type": "int" + }, + { + "name": "props", + "default": null, + "type": "326" + }, + { + "name": "arch", + "type": "327" + } + ], + "meta-type": "object" + }, + { + "name": "[156]", + "element-type": "156", + "meta-type": "array" + }, + { + "name": "156", + "tag": "target", + "variants": [ + { + "case": "s390x", + "type": "333" + }, + { + "case": "aarch64", + "type": "0" + }, + { + "case": "alpha", + "type": "0" + }, + { + "case": "arm", + "type": "0" + }, + { + "case": "cris", + "type": "0" + }, + { + "case": "hppa", + "type": "0" + }, + { + "case": "i386", + "type": "0" + }, + { + "case": "lm32", + "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": "moxie", + "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": "sh4", + "type": "0" + }, + { + "case": "sh4eb", + "type": "0" + }, + { + "case": "sparc", + "type": "0" + }, + { + "case": "sparc64", + "type": "0" + }, + { + "case": "tricore", + "type": "0" + }, + { + "case": "unicore32", + "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": "326" + }, + { + "name": "arch", + "type": "327" + }, + { + "name": "target", + "type": "335" + } + ], + "meta-type": "object" + }, + { + "name": "[157]", + "element-type": "157", + "meta-type": "array" + }, + { + "name": "157", + "members": [ + { + "name": "id", + "type": "str" + }, + { + "name": "thread-id", + "type": "int" + }, + { + "name": "poll-max-ns", + "type": "int" + }, + { + "name": "poll-grow", + "type": "int" + }, + { + "name": "poll-shrink", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "158", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "159", + "members": [ + { + "name": "actual", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[160]", + "element-type": "160", + "meta-type": "array" + }, + { + "name": "160", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "devices", + "type": "[336]" + } + ], + "meta-type": "object" + }, + { + "name": "161", + "members": [ + { + "name": "id", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "162", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "163", + "members": [ + { + "name": "val", + "type": "int" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "164", + "members": [ + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "165", + "members": [ + { + "name": "command-line", + "type": "str" + }, + { + "name": "cpu-index", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "166", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[167]", + "element-type": "167", + "meta-type": "array" + }, + { + "name": "167", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "description", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "168", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "any", + "json-type": "value", + "meta-type": "builtin" + }, + { + "name": "169", + "members": [ + { + "name": "path", + "type": "str" + }, + { + "name": "property", + "type": "str" + }, + { + "name": "value", + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "170", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "target", + "type": "str" + }, + { + "name": "arg", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "171", + "members": [ + { + "name": "implements", + "default": null, + "type": "str" + }, + { + "name": "abstract", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[172]", + "element-type": "172", + "meta-type": "array" + }, + { + "name": "172", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "abstract", + "default": null, + "type": "bool" + }, + { + "name": "parent", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "173", + "members": [ + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "174", + "members": [ + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "175", + "members": [ + { + "name": "enable", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "176", + "members": [ + { + "name": "driver", + "type": "str" + }, + { + "name": "bus", + "default": null, + "type": "str" + }, + { + "name": "id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "177", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "178", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "179", + "members": [ + { + "name": "paging", + "type": "bool" + }, + { + "name": "protocol", + "type": "str" + }, + { + "name": "detach", + "default": null, + "type": "bool" + }, + { + "name": "begin", + "default": null, + "type": "int" + }, + { + "name": "length", + "default": null, + "type": "int" + }, + { + "name": "format", + "default": null, + "type": "337" + } + ], + "meta-type": "object" + }, + { + "name": "180", + "members": [ + { + "name": "status", + "type": "338" + }, + { + "name": "completed", + "type": "int" + }, + { + "name": "total", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "181", + "members": [ + { + "name": "result", + "type": "180" + }, + { + "name": "error", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "182", + "members": [ + { + "name": "formats", + "type": "[337]" + } + ], + "meta-type": "object" + }, + { + "name": "183", + "members": [ + { + "name": "qom-type", + "type": "str" + }, + { + "name": "id", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "184", + "members": [ + { + "name": "id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "185", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "186", + "members": [ + { + "name": "fdname", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[187]", + "element-type": "187", + "meta-type": "array" + }, + { + "name": "187", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "alias", + "default": null, + "type": "str" + }, + { + "name": "is-default", + "default": null, + "type": "bool" + }, + { + "name": "cpu-max", + "type": "int" + }, + { + "name": "hotpluggable-cpus", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "188", + "members": [ + { + "name": "wakeup-suspend-support", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "189", + "members": [ + { + "name": "base-memory", + "type": "int" + }, + { + "name": "plugged-memory", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "190", + "members": [ + { + "name": "fdset-id", + "default": null, + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "191", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "192", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fd", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "[193]", + "element-type": "193", + "meta-type": "array" + }, + { + "name": "193", + "members": [ + { + "name": "fdset-id", + "type": "int" + }, + { + "name": "fds", + "type": "[339]" + } + ], + "meta-type": "object" + }, + { + "name": "194", + "members": [ + { + "name": "arch", + "type": "335" + } + ], + "meta-type": "object" + }, + { + "name": "195", + "members": [ + { + "name": "option", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[196]", + "element-type": "196", + "meta-type": "array" + }, + { + "name": "196", + "members": [ + { + "name": "option", + "type": "str" + }, + { + "name": "parameters", + "type": "[340]" + } + ], + "meta-type": "object" + }, + { + "name": "[197]", + "element-type": "197", + "meta-type": "array" + }, + { + "name": "197", + "members": [ + { + "name": "id", + "default": null, + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "merge", + "type": "bool" + }, + { + "name": "dump", + "type": "bool" + }, + { + "name": "prealloc", + "type": "bool" + }, + { + "name": "host-nodes", + "type": "[int]" + }, + { + "name": "policy", + "type": "341" + } + ], + "meta-type": "object" + }, + { + "name": "[198]", + "element-type": "198", + "meta-type": "array" + }, + { + "name": "198", + "tag": "type", + "variants": [ + { + "case": "dimm", + "type": "343" + }, + { + "case": "nvdimm", + "type": "343" + } + ], + "members": [ + { + "name": "type", + "type": "342" + } + ], + "meta-type": "object" + }, + { + "name": "199", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "msg", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[200]", + "element-type": "200", + "meta-type": "array" + }, + { + "name": "200", + "members": [ + { + "name": "device", + "default": null, + "type": "str" + }, + { + "name": "slot", + "type": "str" + }, + { + "name": "slot-type", + "type": "344" + }, + { + "name": "source", + "type": "int" + }, + { + "name": "status", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "201", + "members": [ + { + "name": "info", + "type": "200" + } + ], + "meta-type": "object" + }, + { + "name": "202", + "members": [ + { + "name": "filename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[203]", + "element-type": "203", + "meta-type": "array" + }, + { + "name": "203", + "members": [ + { + "name": "type", + "type": "str" + }, + { + "name": "vcpus-count", + "type": "int" + }, + { + "name": "props", + "type": "326" + }, + { + "name": "qom-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "204", + "members": [ + { + "name": "guid", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "205", + "tag": "type", + "variants": [ + { + "case": "node", + "type": "346" + }, + { + "case": "dist", + "type": "347" + }, + { + "case": "cpu", + "type": "348" + } + ], + "members": [ + { + "name": "type", + "type": "345" + } + ], + "meta-type": "object" + }, + { + "name": "206", + "members": [ + { + "name": "offset", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "207", + "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": "349" + }, + { + "name": "handle", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "208", + "members": [ + { + "name": "data", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "209", + "members": [ + { + "name": "pdh", + "type": "str" + }, + { + "name": "cert-chain", + "type": "str" + }, + { + "name": "cbitpos", + "type": "int" + }, + { + "name": "reduced-phys-bits", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "216", + "members": [ + { + "name": "type", + "type": "352" + }, + { + "name": "model", + "type": "350" + } + ], + "meta-type": "object" + }, + { + "name": "217", + "members": [ + { + "name": "model", + "type": "350" + } + ], + "meta-type": "object" + }, + { + "name": "[218]", + "element-type": "218", + "meta-type": "array" + }, + { + "name": "218", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "migration-safe", + "default": null, + "type": "bool" + }, + { + "name": "static", + "type": "bool" + }, + { + "name": "unavailable-features", + "default": null, + "type": "[str]" + }, + { + "name": "typename", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "bool", + "json-type": "boolean", + "meta-type": "builtin" + }, + { + "name": "219", + "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", + "preconfig" + ] + }, + { + "name": "220", + "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": "221", + "meta-type": "enum", + "values": [ + "reset", + "shutdown", + "poweroff", + "pause", + "debug", + "none", + "inject-nmi" + ] + }, + { + "name": "222", + "meta-type": "enum", + "values": [ + "pause", + "poweroff" + ] + }, + { + "name": "223", + "tag": "type", + "variants": [ + { + "case": "hyper-v", + "type": "354" + }, + { + "case": "s390", + "type": "355" + } + ], + "members": [ + { + "name": "type", + "type": "353" + } + ], + "meta-type": "object" + }, + { + "name": "224", + "meta-type": "enum", + "values": [ + "undefined", + "created", + "running", + "paused", + "ready", + "standby", + "waiting", + "pending", + "aborting", + "concluded", + "null" + ] + }, + { + "name": "225", + "meta-type": "enum", + "values": [ + "commit", + "stream", + "mirror", + "backup", + "create" + ] + }, + { + "name": "[int]", + "element-type": "int", + "meta-type": "array" + }, + { + "name": "226", + "meta-type": "enum", + "values": [ + "ok", + "failed", + "nospace" + ] + }, + { + "name": "[227]", + "element-type": "227", + "meta-type": "array" + }, + { + "name": "227", + "members": [ + { + "name": "name", + "default": null, + "type": "str" + }, + { + "name": "count", + "type": "int" + }, + { + "name": "granularity", + "type": "int" + }, + { + "name": "recording", + "type": "bool" + }, + { + "name": "busy", + "type": "bool" + }, + { + "name": "status", + "type": "356" + }, + { + "name": "persistent", + "type": "bool" + }, + { + "name": "inconsistent", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "228", + "members": [ + { + "name": "rd_bytes", + "type": "int" + }, + { + "name": "wr_bytes", + "type": "int" + }, + { + "name": "rd_operations", + "type": "int" + }, + { + "name": "wr_operations", + "type": "int" + }, + { + "name": "flush_operations", + "type": "int" + }, + { + "name": "flush_total_time_ns", + "type": "int" + }, + { + "name": "wr_total_time_ns", + "type": "int" + }, + { + "name": "rd_total_time_ns", + "type": "int" + }, + { + "name": "wr_highest_offset", + "type": "int" + }, + { + "name": "rd_merged", + "type": "int" + }, + { + "name": "wr_merged", + "type": "int" + }, + { + "name": "idle_time_ns", + "default": null, + "type": "int" + }, + { + "name": "failed_rd_operations", + "type": "int" + }, + { + "name": "failed_wr_operations", + "type": "int" + }, + { + "name": "failed_flush_operations", + "type": "int" + }, + { + "name": "invalid_rd_operations", + "type": "int" + }, + { + "name": "invalid_wr_operations", + "type": "int" + }, + { + "name": "invalid_flush_operations", + "type": "int" + }, + { + "name": "account_invalid", + "type": "bool" + }, + { + "name": "account_failed", + "type": "bool" + }, + { + "name": "timed_stats", + "type": "[357]" + }, + { + "name": "rd_latency_histogram", + "default": null, + "type": "358" + }, + { + "name": "wr_latency_histogram", + "default": null, + "type": "358" + }, + { + "name": "flush_latency_histogram", + "default": null, + "type": "358" + } + ], + "meta-type": "object" + }, + { + "name": "229", + "meta-type": "enum", + "values": [ + "existing", + "absolute-paths" + ] + }, + { + "name": "230", + "meta-type": "enum", + "values": [ + "top", + "full", + "none", + "incremental" + ] + }, + { + "name": "231", + "meta-type": "enum", + "values": [ + "report", + "ignore", + "enospc", + "stop", + "auto" + ] + }, + { + "name": "232", + "meta-type": "enum", + "values": [ + "off", + "on", + "unmap" + ] + }, + { + "name": "233", + "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": "[67]" + }, + { + "name": "backing-image", + "default": null, + "type": "233" + }, + { + "name": "format-specific", + "default": null, + "type": "359" + } + ], + "meta-type": "object" + }, + { + "name": "234", + "members": [ + { + "name": "writeback", + "type": "bool" + }, + { + "name": "direct", + "type": "bool" + }, + { + "name": "no-flush", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[235]", + "element-type": "235", + "meta-type": "array" + }, + { + "name": "235", + "members": [ + { + "name": "id", + "type": "int" + }, + { + "name": "type", + "type": "360" + }, + { + "name": "name", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[236]", + "element-type": "236", + "meta-type": "array" + }, + { + "name": "236", + "members": [ + { + "name": "parent", + "type": "int" + }, + { + "name": "child", + "type": "int" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "perm", + "type": "[361]" + }, + { + "name": "shared-perm", + "type": "[361]" + } + ], + "meta-type": "object" + }, + { + "name": "237", + "meta-type": "enum", + "values": [ + "background", + "write-blocking" + ] + }, + { + "name": "[238]", + "element-type": "238", + "meta-type": "array" + }, + { + "name": "238", + "members": [ + { + "type": "str" + }, + { + "type": "32" + } + ], + "meta-type": "alternate" + }, + { + "name": "239", + "meta-type": "enum", + "values": [ + "blkdebug", + "blklogwrites", + "blkverify", + "bochs", + "cloop", + "copy-on-read", + "dmg", + "file", + "ftp", + "ftps", + "gluster", + "host_cdrom", + "host_device", + "http", + "https", + "iscsi", + "luks", + "nbd", + "nfs", + "null-aio", + "null-co", + "nvme", + "parallels", + "qcow", + "qcow2", + "qed", + "quorum", + "raw", + "rbd", + "replication", + "sheepdog", + "ssh", + "throttle", + "vdi", + "vhdx", + "vmdk", + "vpc", + "vvfat", + "vxhs" + ] + }, + { + "name": "240", + "meta-type": "enum", + "values": [ + "ignore", + "unmap" + ] + }, + { + "name": "241", + "members": [ + { + "name": "direct", + "default": null, + "type": "bool" + }, + { + "name": "no-flush", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "242", + "members": [ + { + "name": "image", + "type": "362" + }, + { + "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": "[363]" + }, + { + "name": "set-state", + "default": null, + "type": "[364]" + } + ], + "meta-type": "object" + }, + { + "name": "243", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "log", + "type": "362" + }, + { + "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": "244", + "members": [ + { + "name": "test", + "type": "362" + }, + { + "name": "raw", + "type": "362" + } + ], + "meta-type": "object" + }, + { + "name": "245", + "members": [ + { + "name": "file", + "type": "362" + } + ], + "meta-type": "object" + }, + { + "name": "246", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "pr-manager", + "default": null, + "type": "str" + }, + { + "name": "locking", + "default": null, + "type": "365" + }, + { + "name": "aio", + "default": null, + "type": "366" + }, + { + "name": "drop-cache", + "default": null, + "type": "bool" + }, + { + "name": "x-check-cache-dropped", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "247", + "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": "248", + "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": "249", + "members": [ + { + "name": "volume", + "type": "str" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "server", + "type": "[309]" + }, + { + "name": "debug", + "default": null, + "type": "int" + }, + { + "name": "logfile", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "250", + "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": "251", + "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": "252", + "members": [ + { + "name": "transport", + "type": "367" + }, + { + "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": "368" + }, + { + "name": "timeout", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "253", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "254", + "members": [ + { + "name": "server", + "type": "309" + }, + { + "name": "export", + "default": null, + "type": "str" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + }, + { + "name": "x-dirty-bitmap", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "255", + "members": [ + { + "name": "server", + "type": "369" + }, + { + "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": "256", + "members": [ + { + "name": "size", + "default": null, + "type": "int" + }, + { + "name": "latency-ns", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "257", + "members": [ + { + "name": "device", + "type": "str" + }, + { + "name": "namespace", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "258", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "backing", + "default": null, + "type": "370" + }, + { + "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": "371" + }, + { + "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": "372" + }, + { + "name": "data-file", + "default": null, + "type": "362" + } + ], + "meta-type": "object" + }, + { + "name": "259", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "backing", + "default": null, + "type": "370" + }, + { + "name": "encrypt", + "default": null, + "type": "373" + } + ], + "meta-type": "object" + }, + { + "name": "260", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "backing", + "default": null, + "type": "370" + } + ], + "meta-type": "object" + }, + { + "name": "261", + "members": [ + { + "name": "blkverify", + "default": null, + "type": "bool" + }, + { + "name": "children", + "type": "[362]" + }, + { + "name": "vote-threshold", + "type": "int" + }, + { + "name": "rewrite-corrupted", + "default": null, + "type": "bool" + }, + { + "name": "read-pattern", + "default": null, + "type": "374" + } + ], + "meta-type": "object" + }, + { + "name": "262", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "offset", + "default": null, + "type": "int" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "263", + "members": [ + { + "name": "pool", + "type": "str" + }, + { + "name": "image", + "type": "str" + }, + { + "name": "conf", + "default": null, + "type": "str" + }, + { + "name": "snapshot", + "default": null, + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "str" + }, + { + "name": "auth-client-required", + "default": null, + "type": "[375]" + }, + { + "name": "key-secret", + "default": null, + "type": "str" + }, + { + "name": "server", + "default": null, + "type": "[376]" + } + ], + "meta-type": "object" + }, + { + "name": "264", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "mode", + "type": "377" + }, + { + "name": "top-id", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "265", + "members": [ + { + "name": "server", + "type": "309" + }, + { + "name": "vdi", + "type": "str" + }, + { + "name": "snap-id", + "default": null, + "type": "int" + }, + { + "name": "tag", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "266", + "members": [ + { + "name": "server", + "type": "378" + }, + { + "name": "path", + "type": "str" + }, + { + "name": "user", + "default": null, + "type": "str" + }, + { + "name": "host-key-check", + "default": null, + "type": "379" + } + ], + "meta-type": "object" + }, + { + "name": "267", + "members": [ + { + "name": "throttle-group", + "type": "str" + }, + { + "name": "file", + "type": "362" + } + ], + "meta-type": "object" + }, + { + "name": "268", + "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": "269", + "members": [ + { + "name": "vdisk-id", + "type": "str" + }, + { + "name": "server", + "type": "376" + }, + { + "name": "tls-creds", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "270", + "tag": "driver", + "variants": [ + { + "case": "file", + "type": "380" + }, + { + "case": "gluster", + "type": "381" + }, + { + "case": "luks", + "type": "382" + }, + { + "case": "nfs", + "type": "383" + }, + { + "case": "parallels", + "type": "384" + }, + { + "case": "qcow", + "type": "385" + }, + { + "case": "qcow2", + "type": "386" + }, + { + "case": "qed", + "type": "387" + }, + { + "case": "rbd", + "type": "388" + }, + { + "case": "sheepdog", + "type": "389" + }, + { + "case": "ssh", + "type": "390" + }, + { + "case": "vdi", + "type": "391" + }, + { + "case": "vhdx", + "type": "392" + }, + { + "case": "vmdk", + "type": "393" + }, + { + "case": "vpc", + "type": "394" + }, + { + "case": "blkdebug", + "type": "0" + }, + { + "case": "blklogwrites", + "type": "0" + }, + { + "case": "blkverify", + "type": "0" + }, + { + "case": "bochs", + "type": "0" + }, + { + "case": "cloop", + "type": "0" + }, + { + "case": "copy-on-read", + "type": "0" + }, + { + "case": "dmg", + "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": "quorum", + "type": "0" + }, + { + "case": "raw", + "type": "0" + }, + { + "case": "replication", + "type": "0" + }, + { + "case": "throttle", + "type": "0" + }, + { + "case": "vvfat", + "type": "0" + }, + { + "case": "vxhs", + "type": "0" + } + ], + "members": [ + { + "name": "driver", + "type": "239" + } + ], + "meta-type": "object" + }, + { + "name": "271", + "meta-type": "enum", + "values": [ + "retain", + "read-only", + "read-write" + ] + }, + { + "name": "272", + "meta-type": "enum", + "values": [ + "read", + "write" + ] + }, + { + "name": "273", + "meta-type": "enum", + "values": [ + "ignore", + "report", + "stop" + ] + }, + { + "name": "274", + "members": [ + { + "type": "str" + }, + { + "type": "null" + } + ], + "meta-type": "alternate" + }, + { + "name": "275", + "tag": "type", + "variants": [ + { + "case": "inet", + "type": "396" + }, + { + "case": "unix", + "type": "397" + }, + { + "case": "vsock", + "type": "398" + }, + { + "case": "fd", + "type": "399" + } + ], + "members": [ + { + "name": "type", + "type": "395" + } + ], + "meta-type": "object" + }, + { + "name": "276", + "meta-type": "enum", + "values": [ + "safe", + "hard" + ] + }, + { + "name": "277", + "meta-type": "enum", + "values": [ + "read", + "write", + "flush" + ] + }, + { + "name": "278", + "meta-type": "enum", + "values": [ + "utf8", + "base64" + ] + }, + { + "name": "279", + "tag": "type", + "variants": [ + { + "case": "file", + "type": "401" + }, + { + "case": "serial", + "type": "402" + }, + { + "case": "parallel", + "type": "402" + }, + { + "case": "pipe", + "type": "402" + }, + { + "case": "socket", + "type": "403" + }, + { + "case": "udp", + "type": "404" + }, + { + "case": "pty", + "type": "405" + }, + { + "case": "null", + "type": "405" + }, + { + "case": "mux", + "type": "406" + }, + { + "case": "msmouse", + "type": "405" + }, + { + "case": "wctablet", + "type": "405" + }, + { + "case": "braille", + "type": "405" + }, + { + "case": "testdev", + "type": "405" + }, + { + "case": "stdio", + "type": "407" + }, + { + "case": "console", + "type": "405" + }, + { + "case": "spicevmc", + "type": "408" + }, + { + "case": "spiceport", + "type": "409" + }, + { + "case": "vc", + "type": "410" + }, + { + "case": "ringbuf", + "type": "411" + }, + { + "case": "memory", + "type": "411" + } + ], + "members": [ + { + "name": "type", + "type": "400" + } + ], + "meta-type": "object" + }, + { + "name": "280", + "meta-type": "enum", + "values": [ + "normal", + "none", + "all" + ] + }, + { + "name": "[str]", + "element-type": "str", + "meta-type": "array" + }, + { + "name": "281", + "meta-type": "enum", + "values": [ + "half", + "full" + ] + }, + { + "name": "282", + "meta-type": "enum", + "values": [ + "off", + "on" + ] + }, + { + "name": "283", + "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": "284", + "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": "285", + "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": "286", + "tag": "type", + "variants": [ + { + "case": "passthrough", + "type": "413" + }, + { + "case": "emulator", + "type": "414" + } + ], + "members": [ + { + "name": "type", + "type": "412" + } + ], + "meta-type": "object" + }, + { + "name": "287", + "meta-type": "enum", + "values": [ + "client", + "server", + "unknown" + ] + }, + { + "name": "[288]", + "element-type": "288", + "meta-type": "array" + }, + { + "name": "288", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "connection-id", + "type": "int" + }, + { + "name": "channel-type", + "type": "int" + }, + { + "name": "channel-id", + "type": "int" + }, + { + "name": "tls", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "289", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "291" + } + ], + "meta-type": "object" + }, + { + "name": "290", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "291", + "meta-type": "enum", + "values": [ + "ipv4", + "ipv6", + "unix", + "vsock", + "unknown" + ] + }, + { + "name": "[292]", + "element-type": "292", + "meta-type": "array" + }, + { + "name": "292", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "x509_dname", + "default": null, + "type": "str" + }, + { + "name": "sasl_username", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[293]", + "element-type": "293", + "meta-type": "array" + }, + { + "name": "293", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "auth", + "type": "294" + }, + { + "name": "vencrypt", + "default": null, + "type": "295" + } + ], + "meta-type": "object" + }, + { + "name": "294", + "meta-type": "enum", + "values": [ + "none", + "vnc", + "ra2", + "ra2ne", + "tight", + "ultra", + "tls", + "vencrypt", + "sasl" + ] + }, + { + "name": "295", + "meta-type": "enum", + "values": [ + "plain", + "tls-none", + "x509-none", + "tls-vnc", + "x509-vnc", + "tls-plain", + "x509-plain", + "tls-sasl", + "x509-sasl" + ] + }, + { + "name": "296", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "websocket", + "type": "bool" + }, + { + "name": "auth", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "297", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "service", + "type": "str" + }, + { + "name": "family", + "type": "291" + }, + { + "name": "websocket", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[298]", + "element-type": "298", + "meta-type": "array" + }, + { + "name": "298", + "tag": "type", + "variants": [ + { + "case": "number", + "type": "416" + }, + { + "case": "qcode", + "type": "417" + } + ], + "members": [ + { + "name": "type", + "type": "415" + } + ], + "meta-type": "object" + }, + { + "name": "[299]", + "element-type": "299", + "meta-type": "array" + }, + { + "name": "299", + "tag": "type", + "variants": [ + { + "case": "key", + "type": "419" + }, + { + "case": "btn", + "type": "420" + }, + { + "case": "rel", + "type": "421" + }, + { + "case": "abs", + "type": "421" + } + ], + "members": [ + { + "name": "type", + "type": "418" + } + ], + "meta-type": "object" + }, + { + "name": "300", + "meta-type": "enum", + "values": [ + "default", + "none", + "gtk", + "sdl", + "egl-headless", + "curses", + "cocoa", + "spice-app" + ] + }, + { + "name": "301", + "meta-type": "enum", + "values": [ + "off", + "on", + "core", + "es" + ] + }, + { + "name": "302", + "members": [ + { + "name": "grab-on-hover", + "default": null, + "type": "bool" + }, + { + "name": "zoom-to-fit", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "303", + "members": [ + { + "name": "charset", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "304", + "members": [ + { + "name": "rendernode", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "305", + "meta-type": "enum", + "values": [ + "none", + "setup", + "cancelling", + "cancelled", + "active", + "postcopy-active", + "postcopy-paused", + "postcopy-recover", + "completed", + "failed", + "colo", + "pre-switchover", + "device" + ] + }, + { + "name": "306", + "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" + } + ], + "meta-type": "object" + }, + { + "name": "307", + "members": [ + { + "name": "cache-size", + "type": "int" + }, + { + "name": "bytes", + "type": "int" + }, + { + "name": "pages", + "type": "int" + }, + { + "name": "cache-miss", + "type": "int" + }, + { + "name": "cache-miss-rate", + "type": "number" + }, + { + "name": "overflow", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "308", + "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": "[309]", + "element-type": "309", + "meta-type": "array" + }, + { + "name": "309", + "tag": "type", + "variants": [ + { + "case": "inet", + "type": "378" + }, + { + "case": "unix", + "type": "423" + }, + { + "case": "vsock", + "type": "424" + }, + { + "case": "fd", + "type": "425" + } + ], + "members": [ + { + "name": "type", + "type": "422" + } + ], + "meta-type": "object" + }, + { + "name": "310", + "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" + ] + }, + { + "name": "311", + "meta-type": "enum", + "values": [ + "none", + "primary", + "secondary" + ] + }, + { + "name": "312", + "meta-type": "enum", + "values": [ + "none", + "request", + "error", + "processing" + ] + }, + { + "name": "number", + "json-type": "number", + "meta-type": "builtin" + }, + { + "name": "[313]", + "element-type": "313", + "meta-type": "array" + }, + { + "name": "313", + "tag": "type", + "variants": [ + { + "case": "abort", + "type": "427" + }, + { + "case": "block-dirty-bitmap-add", + "type": "428" + }, + { + "case": "block-dirty-bitmap-clear", + "type": "429" + }, + { + "case": "block-dirty-bitmap-enable", + "type": "429" + }, + { + "case": "block-dirty-bitmap-disable", + "type": "429" + }, + { + "case": "block-dirty-bitmap-merge", + "type": "430" + }, + { + "case": "blockdev-backup", + "type": "431" + }, + { + "case": "blockdev-snapshot", + "type": "432" + }, + { + "case": "blockdev-snapshot-internal-sync", + "type": "433" + }, + { + "case": "blockdev-snapshot-sync", + "type": "434" + }, + { + "case": "drive-backup", + "type": "435" + } + ], + "members": [ + { + "name": "type", + "type": "426" + } + ], + "meta-type": "object" + }, + { + "name": "314", + "members": [ + { + "name": "completion-mode", + "default": null, + "type": "436" + } + ], + "meta-type": "object" + }, + { + "name": "315", + "meta-type": "enum", + "values": [ + "unavailable", + "disabled", + "enabled" + ] + }, + { + "name": "316", + "meta-type": "enum", + "values": [ + "builtin", + "enum", + "array", + "object", + "alternate", + "command", + "event" + ] + }, + { + "name": "317", + "members": [ + { + "name": "json-type", + "type": "437" + } + ], + "meta-type": "object" + }, + { + "name": "318", + "members": [ + { + "name": "values", + "type": "[str]" + } + ], + "meta-type": "object" + }, + { + "name": "319", + "members": [ + { + "name": "element-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "320", + "members": [ + { + "name": "members", + "type": "[438]" + }, + { + "name": "tag", + "default": null, + "type": "str" + }, + { + "name": "variants", + "default": null, + "type": "[439]" + } + ], + "meta-type": "object" + }, + { + "name": "321", + "members": [ + { + "name": "members", + "type": "[440]" + } + ], + "meta-type": "object" + }, + { + "name": "322", + "members": [ + { + "name": "arg-type", + "type": "str" + }, + { + "name": "ret-type", + "type": "str" + }, + { + "name": "allow-oob", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "323", + "members": [ + { + "name": "arg-type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[324]", + "element-type": "324", + "meta-type": "array" + }, + { + "name": "324", + "meta-type": "enum", + "values": [ + "oob" + ] + }, + { + "name": "325", + "members": [ + { + "name": "major", + "type": "int" + }, + { + "name": "minor", + "type": "int" + }, + { + "name": "micro", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "326", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "327", + "meta-type": "enum", + "values": [ + "x86", + "sparc", + "ppc", + "mips", + "tricore", + "s390", + "riscv", + "other" + ] + }, + { + "name": "328", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "329", + "members": [ + { + "name": "pc", + "type": "int" + }, + { + "name": "npc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "330", + "members": [ + { + "name": "nip", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "331", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "332", + "members": [ + { + "name": "PC", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "333", + "members": [ + { + "name": "cpu-state", + "type": "441" + } + ], + "meta-type": "object" + }, + { + "name": "334", + "members": [ + { + "name": "pc", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "335", + "meta-type": "enum", + "values": [ + "aarch64", + "alpha", + "arm", + "cris", + "hppa", + "i386", + "lm32", + "m68k", + "microblaze", + "microblazeel", + "mips", + "mips64", + "mips64el", + "mipsel", + "moxie", + "nios2", + "or1k", + "ppc", + "ppc64", + "riscv32", + "riscv64", + "s390x", + "sh4", + "sh4eb", + "sparc", + "sparc64", + "tricore", + "unicore32", + "x86_64", + "xtensa", + "xtensaeb" + ] + }, + { + "name": "[336]", + "element-type": "336", + "meta-type": "array" + }, + { + "name": "336", + "members": [ + { + "name": "bus", + "type": "int" + }, + { + "name": "slot", + "type": "int" + }, + { + "name": "function", + "type": "int" + }, + { + "name": "class_info", + "type": "442" + }, + { + "name": "id", + "type": "443" + }, + { + "name": "irq", + "default": null, + "type": "int" + }, + { + "name": "qdev_id", + "type": "str" + }, + { + "name": "pci_bridge", + "default": null, + "type": "444" + }, + { + "name": "regions", + "type": "[445]" + } + ], + "meta-type": "object" + }, + { + "name": "337", + "meta-type": "enum", + "values": [ + "elf", + "kdump-zlib", + "kdump-lzo", + "kdump-snappy", + "win-dmp" + ] + }, + { + "name": "338", + "meta-type": "enum", + "values": [ + "none", + "active", + "completed", + "failed" + ] + }, + { + "name": "[337]", + "element-type": "337", + "meta-type": "array" + }, + { + "name": "[339]", + "element-type": "339", + "meta-type": "array" + }, + { + "name": "339", + "members": [ + { + "name": "fd", + "type": "int" + }, + { + "name": "opaque", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[340]", + "element-type": "340", + "meta-type": "array" + }, + { + "name": "340", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "446" + }, + { + "name": "help", + "default": null, + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "341", + "meta-type": "enum", + "values": [ + "default", + "preferred", + "bind", + "interleave" + ] + }, + { + "name": "342", + "meta-type": "enum", + "values": [ + "dimm", + "nvdimm" + ] + }, + { + "name": "343", + "members": [ + { + "name": "data", + "type": "447" + } + ], + "meta-type": "object" + }, + { + "name": "344", + "meta-type": "enum", + "values": [ + "DIMM", + "CPU" + ] + }, + { + "name": "345", + "meta-type": "enum", + "values": [ + "node", + "dist", + "cpu" + ] + }, + { + "name": "346", + "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" + } + ], + "meta-type": "object" + }, + { + "name": "347", + "members": [ + { + "name": "src", + "type": "int" + }, + { + "name": "dst", + "type": "int" + }, + { + "name": "val", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "348", + "members": [ + { + "name": "node-id", + "default": null, + "type": "int" + }, + { + "name": "socket-id", + "default": null, + "type": "int" + }, + { + "name": "core-id", + "default": null, + "type": "int" + }, + { + "name": "thread-id", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "349", + "meta-type": "enum", + "values": [ + "uninit", + "launch-update", + "launch-secret", + "running", + "send-update", + "receive-update" + ] + }, + { + "name": "350", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "props", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "351", + "meta-type": "enum", + "values": [ + "incompatible", + "identical", + "superset", + "subset" + ] + }, + { + "name": "352", + "meta-type": "enum", + "values": [ + "static", + "full" + ] + }, + { + "name": "353", + "meta-type": "enum", + "values": [ + "hyper-v", + "s390" + ] + }, + { + "name": "354", + "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": "355", + "members": [ + { + "name": "core", + "type": "int" + }, + { + "name": "psw-mask", + "type": "int" + }, + { + "name": "psw-addr", + "type": "int" + }, + { + "name": "reason", + "type": "448" + } + ], + "meta-type": "object" + }, + { + "name": "356", + "meta-type": "enum", + "values": [ + "active", + "disabled", + "frozen", + "locked", + "inconsistent" + ] + }, + { + "name": "[357]", + "element-type": "357", + "meta-type": "array" + }, + { + "name": "357", + "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": "358", + "members": [ + { + "name": "boundaries", + "type": "[int]" + }, + { + "name": "bins", + "type": "[int]" + } + ], + "meta-type": "object" + }, + { + "name": "[67]", + "element-type": "67", + "meta-type": "array" + }, + { + "name": "359", + "tag": "type", + "variants": [ + { + "case": "qcow2", + "type": "450" + }, + { + "case": "vmdk", + "type": "451" + }, + { + "case": "luks", + "type": "452" + } + ], + "members": [ + { + "name": "type", + "type": "449" + } + ], + "meta-type": "object" + }, + { + "name": "360", + "meta-type": "enum", + "values": [ + "block-backend", + "block-job", + "block-driver" + ] + }, + { + "name": "[361]", + "element-type": "361", + "meta-type": "array" + }, + { + "name": "361", + "meta-type": "enum", + "values": [ + "consistent-read", + "write", + "write-unchanged", + "resize", + "graph-mod" + ] + }, + { + "name": "362", + "members": [ + { + "type": "45" + }, + { + "type": "str" + } + ], + "meta-type": "alternate" + }, + { + "name": "[363]", + "element-type": "363", + "meta-type": "array" + }, + { + "name": "363", + "members": [ + { + "name": "event", + "type": "453" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "errno", + "default": null, + "type": "int" + }, + { + "name": "sector", + "default": null, + "type": "int" + }, + { + "name": "once", + "default": null, + "type": "bool" + }, + { + "name": "immediately", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "[364]", + "element-type": "364", + "meta-type": "array" + }, + { + "name": "364", + "members": [ + { + "name": "event", + "type": "453" + }, + { + "name": "state", + "default": null, + "type": "int" + }, + { + "name": "new_state", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "365", + "meta-type": "enum", + "values": [ + "auto", + "on", + "off" + ] + }, + { + "name": "366", + "meta-type": "enum", + "values": [ + "threads", + "native" + ] + }, + { + "name": "367", + "meta-type": "enum", + "values": [ + "tcp", + "iser" + ] + }, + { + "name": "368", + "meta-type": "enum", + "values": [ + "crc32c", + "none", + "crc32c-none", + "none-crc32c" + ] + }, + { + "name": "369", + "members": [ + { + "name": "type", + "type": "454" + }, + { + "name": "host", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "370", + "members": [ + { + "type": "45" + }, + { + "type": "str" + }, + { + "type": "null" + } + ], + "meta-type": "alternate" + }, + { + "name": "371", + "members": [ + { + "type": "455" + }, + { + "type": "456" + } + ], + "meta-type": "alternate" + }, + { + "name": "372", + "tag": "format", + "variants": [ + { + "case": "aes", + "type": "458" + }, + { + "case": "luks", + "type": "459" + } + ], + "members": [ + { + "name": "format", + "type": "457" + } + ], + "meta-type": "object" + }, + { + "name": "373", + "tag": "format", + "variants": [ + { + "case": "aes", + "type": "458" + } + ], + "members": [ + { + "name": "format", + "type": "460" + } + ], + "meta-type": "object" + }, + { + "name": "[362]", + "element-type": "362", + "meta-type": "array" + }, + { + "name": "374", + "meta-type": "enum", + "values": [ + "quorum", + "fifo" + ] + }, + { + "name": "[375]", + "element-type": "375", + "meta-type": "array" + }, + { + "name": "375", + "meta-type": "enum", + "values": [ + "cephx", + "none" + ] + }, + { + "name": "[376]", + "element-type": "376", + "meta-type": "array" + }, + { + "name": "376", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "377", + "meta-type": "enum", + "values": [ + "primary", + "secondary" + ] + }, + { + "name": "378", + "members": [ + { + "name": "host", + "type": "str" + }, + { + "name": "port", + "type": "str" + }, + { + "name": "numeric", + "default": null, + "type": "bool" + }, + { + "name": "to", + "default": null, + "type": "int" + }, + { + "name": "ipv4", + "default": null, + "type": "bool" + }, + { + "name": "ipv6", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "379", + "tag": "mode", + "variants": [ + { + "case": "hash", + "type": "462" + }, + { + "case": "none", + "type": "0" + }, + { + "case": "known_hosts", + "type": "0" + } + ], + "members": [ + { + "name": "mode", + "type": "461" + } + ], + "meta-type": "object" + }, + { + "name": "380", + "members": [ + { + "name": "filename", + "type": "str" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "preallocation", + "default": null, + "type": "463" + }, + { + "name": "nocow", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "381", + "members": [ + { + "name": "location", + "type": "249" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "preallocation", + "default": null, + "type": "463" + } + ], + "meta-type": "object" + }, + { + "name": "382", + "members": [ + { + "name": "key-secret", + "default": null, + "type": "str" + }, + { + "name": "cipher-alg", + "default": null, + "type": "464" + }, + { + "name": "cipher-mode", + "default": null, + "type": "465" + }, + { + "name": "ivgen-alg", + "default": null, + "type": "466" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "467" + }, + { + "name": "hash-alg", + "default": null, + "type": "467" + }, + { + "name": "iter-time", + "default": null, + "type": "int" + }, + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "383", + "members": [ + { + "name": "location", + "type": "255" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "384", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "385", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "encrypt", + "default": null, + "type": "468" + } + ], + "meta-type": "object" + }, + { + "name": "386", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "data-file", + "default": null, + "type": "362" + }, + { + "name": "data-file-raw", + "default": null, + "type": "bool" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "version", + "default": null, + "type": "469" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "backing-fmt", + "default": null, + "type": "239" + }, + { + "name": "encrypt", + "default": null, + "type": "468" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + }, + { + "name": "preallocation", + "default": null, + "type": "463" + }, + { + "name": "lazy-refcounts", + "default": null, + "type": "bool" + }, + { + "name": "refcount-bits", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "387", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "backing-fmt", + "default": null, + "type": "239" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + }, + { + "name": "table-size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "388", + "members": [ + { + "name": "location", + "type": "263" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "cluster-size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "389", + "members": [ + { + "name": "location", + "type": "265" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "preallocation", + "default": null, + "type": "463" + }, + { + "name": "redundancy", + "default": null, + "type": "470" + }, + { + "name": "object-size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "390", + "members": [ + { + "name": "location", + "type": "266" + }, + { + "name": "size", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "391", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "preallocation", + "default": null, + "type": "463" + } + ], + "meta-type": "object" + }, + { + "name": "392", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "log-size", + "default": null, + "type": "int" + }, + { + "name": "block-size", + "default": null, + "type": "int" + }, + { + "name": "subformat", + "default": null, + "type": "471" + }, + { + "name": "block-state-zero", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "393", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "extents", + "default": null, + "type": "[362]" + }, + { + "name": "subformat", + "default": null, + "type": "472" + }, + { + "name": "backing-file", + "default": null, + "type": "str" + }, + { + "name": "adapter-type", + "default": null, + "type": "473" + }, + { + "name": "hwversion", + "default": null, + "type": "str" + }, + { + "name": "zeroed-grain", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "394", + "members": [ + { + "name": "file", + "type": "362" + }, + { + "name": "size", + "type": "int" + }, + { + "name": "subformat", + "default": null, + "type": "474" + }, + { + "name": "force-size", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "null", + "json-type": "null", + "meta-type": "builtin" + }, + { + "name": "395", + "meta-type": "enum", + "values": [ + "inet", + "unix", + "vsock", + "fd" + ] + }, + { + "name": "396", + "members": [ + { + "name": "data", + "type": "378" + } + ], + "meta-type": "object" + }, + { + "name": "397", + "members": [ + { + "name": "data", + "type": "423" + } + ], + "meta-type": "object" + }, + { + "name": "398", + "members": [ + { + "name": "data", + "type": "424" + } + ], + "meta-type": "object" + }, + { + "name": "399", + "members": [ + { + "name": "data", + "type": "425" + } + ], + "meta-type": "object" + }, + { + "name": "400", + "meta-type": "enum", + "values": [ + "file", + "serial", + "parallel", + "pipe", + "socket", + "udp", + "pty", + "null", + "mux", + "msmouse", + "wctablet", + "braille", + "testdev", + "stdio", + "console", + "spicevmc", + "spiceport", + "vc", + "ringbuf", + "memory" + ] + }, + { + "name": "401", + "members": [ + { + "name": "data", + "type": "475" + } + ], + "meta-type": "object" + }, + { + "name": "402", + "members": [ + { + "name": "data", + "type": "476" + } + ], + "meta-type": "object" + }, + { + "name": "403", + "members": [ + { + "name": "data", + "type": "477" + } + ], + "meta-type": "object" + }, + { + "name": "404", + "members": [ + { + "name": "data", + "type": "478" + } + ], + "meta-type": "object" + }, + { + "name": "405", + "members": [ + { + "name": "data", + "type": "479" + } + ], + "meta-type": "object" + }, + { + "name": "406", + "members": [ + { + "name": "data", + "type": "480" + } + ], + "meta-type": "object" + }, + { + "name": "407", + "members": [ + { + "name": "data", + "type": "481" + } + ], + "meta-type": "object" + }, + { + "name": "408", + "members": [ + { + "name": "data", + "type": "482" + } + ], + "meta-type": "object" + }, + { + "name": "409", + "members": [ + { + "name": "data", + "type": "483" + } + ], + "meta-type": "object" + }, + { + "name": "410", + "members": [ + { + "name": "data", + "type": "484" + } + ], + "meta-type": "object" + }, + { + "name": "411", + "members": [ + { + "name": "data", + "type": "485" + } + ], + "meta-type": "object" + }, + { + "name": "412", + "meta-type": "enum", + "values": [ + "passthrough", + "emulator" + ] + }, + { + "name": "413", + "members": [ + { + "name": "data", + "type": "486" + } + ], + "meta-type": "object" + }, + { + "name": "414", + "members": [ + { + "name": "data", + "type": "487" + } + ], + "meta-type": "object" + }, + { + "name": "415", + "meta-type": "enum", + "values": [ + "number", + "qcode" + ] + }, + { + "name": "416", + "members": [ + { + "name": "data", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "417", + "members": [ + { + "name": "data", + "type": "488" + } + ], + "meta-type": "object" + }, + { + "name": "418", + "meta-type": "enum", + "values": [ + "key", + "btn", + "rel", + "abs" + ] + }, + { + "name": "419", + "members": [ + { + "name": "data", + "type": "489" + } + ], + "meta-type": "object" + }, + { + "name": "420", + "members": [ + { + "name": "data", + "type": "490" + } + ], + "meta-type": "object" + }, + { + "name": "421", + "members": [ + { + "name": "data", + "type": "491" + } + ], + "meta-type": "object" + }, + { + "name": "422", + "meta-type": "enum", + "values": [ + "inet", + "unix", + "vsock", + "fd" + ] + }, + { + "name": "423", + "members": [ + { + "name": "path", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "424", + "members": [ + { + "name": "cid", + "type": "str" + }, + { + "name": "port", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "425", + "members": [ + { + "name": "str", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "426", + "meta-type": "enum", + "values": [ + "abort", + "block-dirty-bitmap-add", + "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": "427", + "members": [ + { + "name": "data", + "type": "492" + } + ], + "meta-type": "object" + }, + { + "name": "428", + "members": [ + { + "name": "data", + "type": "31" + } + ], + "meta-type": "object" + }, + { + "name": "429", + "members": [ + { + "name": "data", + "type": "32" + } + ], + "meta-type": "object" + }, + { + "name": "430", + "members": [ + { + "name": "data", + "type": "33" + } + ], + "meta-type": "object" + }, + { + "name": "431", + "members": [ + { + "name": "data", + "type": "27" + } + ], + "meta-type": "object" + }, + { + "name": "432", + "members": [ + { + "name": "data", + "type": "23" + } + ], + "meta-type": "object" + }, + { + "name": "433", + "members": [ + { + "name": "data", + "type": "65" + } + ], + "meta-type": "object" + }, + { + "name": "434", + "members": [ + { + "name": "data", + "type": "22" + } + ], + "meta-type": "object" + }, + { + "name": "435", + "members": [ + { + "name": "data", + "type": "26" + } + ], + "meta-type": "object" + }, + { + "name": "436", + "meta-type": "enum", + "values": [ + "individual", + "grouped" + ] + }, + { + "name": "437", + "meta-type": "enum", + "values": [ + "string", + "number", + "int", + "boolean", + "null", + "object", + "array", + "value" + ] + }, + { + "name": "[438]", + "element-type": "438", + "meta-type": "array" + }, + { + "name": "438", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "type", + "type": "str" + }, + { + "name": "default", + "default": null, + "type": "any" + } + ], + "meta-type": "object" + }, + { + "name": "[439]", + "element-type": "439", + "meta-type": "array" + }, + { + "name": "439", + "members": [ + { + "name": "case", + "type": "str" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "[440]", + "element-type": "440", + "meta-type": "array" + }, + { + "name": "440", + "members": [ + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "441", + "meta-type": "enum", + "values": [ + "uninitialized", + "stopped", + "check-stop", + "operating", + "load" + ] + }, + { + "name": "442", + "members": [ + { + "name": "desc", + "default": null, + "type": "str" + }, + { + "name": "class", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "443", + "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": "444", + "members": [ + { + "name": "bus", + "type": "493" + }, + { + "name": "devices", + "default": null, + "type": "[336]" + } + ], + "meta-type": "object" + }, + { + "name": "[445]", + "element-type": "445", + "meta-type": "array" + }, + { + "name": "445", + "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": "446", + "meta-type": "enum", + "values": [ + "string", + "boolean", + "number", + "size" + ] + }, + { + "name": "447", + "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": "448", + "meta-type": "enum", + "values": [ + "unknown", + "disabled-wait", + "extint-loop", + "pgmint-loop", + "opint-loop" + ] + }, + { + "name": "449", + "meta-type": "enum", + "values": [ + "qcow2", + "vmdk", + "luks" + ] + }, + { + "name": "450", + "members": [ + { + "name": "data", + "type": "494" + } + ], + "meta-type": "object" + }, + { + "name": "451", + "members": [ + { + "name": "data", + "type": "495" + } + ], + "meta-type": "object" + }, + { + "name": "452", + "members": [ + { + "name": "data", + "type": "496" + } + ], + "meta-type": "object" + }, + { + "name": "453", + "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" + ] + }, + { + "name": "454", + "meta-type": "enum", + "values": [ + "inet" + ] + }, + { + "name": "455", + "members": [ + { + "name": "template", + "default": null, + "type": "456" + }, + { + "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": "456", + "meta-type": "enum", + "values": [ + "none", + "constant", + "cached", + "all" + ] + }, + { + "name": "457", + "meta-type": "enum", + "values": [ + "aes", + "luks" + ] + }, + { + "name": "458", + "members": [ + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "459", + "members": [ + { + "name": "key-secret", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "460", + "meta-type": "enum", + "values": [ + "aes" + ] + }, + { + "name": "461", + "meta-type": "enum", + "values": [ + "none", + "hash", + "known_hosts" + ] + }, + { + "name": "462", + "members": [ + { + "name": "type", + "type": "497" + }, + { + "name": "hash", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "463", + "meta-type": "enum", + "values": [ + "off", + "metadata", + "falloc", + "full" + ] + }, + { + "name": "464", + "meta-type": "enum", + "values": [ + "aes-128", + "aes-192", + "aes-256", + "des-rfb", + "3des", + "cast5-128", + "serpent-128", + "serpent-192", + "serpent-256", + "twofish-128", + "twofish-192", + "twofish-256" + ] + }, + { + "name": "465", + "meta-type": "enum", + "values": [ + "ecb", + "cbc", + "xts", + "ctr" + ] + }, + { + "name": "466", + "meta-type": "enum", + "values": [ + "plain", + "plain64", + "essiv" + ] + }, + { + "name": "467", + "meta-type": "enum", + "values": [ + "md5", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "ripemd160" + ] + }, + { + "name": "468", + "tag": "format", + "variants": [ + { + "case": "qcow", + "type": "458" + }, + { + "case": "luks", + "type": "499" + } + ], + "members": [ + { + "name": "format", + "type": "498" + } + ], + "meta-type": "object" + }, + { + "name": "469", + "meta-type": "enum", + "values": [ + "v2", + "v3" + ] + }, + { + "name": "470", + "tag": "type", + "variants": [ + { + "case": "full", + "type": "501" + }, + { + "case": "erasure-coded", + "type": "502" + } + ], + "members": [ + { + "name": "type", + "type": "500" + } + ], + "meta-type": "object" + }, + { + "name": "471", + "meta-type": "enum", + "values": [ + "dynamic", + "fixed" + ] + }, + { + "name": "472", + "meta-type": "enum", + "values": [ + "monolithicSparse", + "monolithicFlat", + "twoGbMaxExtentSparse", + "twoGbMaxExtentFlat", + "streamOptimized" + ] + }, + { + "name": "473", + "meta-type": "enum", + "values": [ + "ide", + "buslogic", + "lsilogic", + "legacyESX" + ] + }, + { + "name": "474", + "meta-type": "enum", + "values": [ + "dynamic", + "fixed" + ] + }, + { + "name": "475", + "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": "476", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "device", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "477", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "addr", + "type": "275" + }, + { + "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": "478", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "remote", + "type": "275" + }, + { + "name": "local", + "default": null, + "type": "275" + } + ], + "meta-type": "object" + }, + { + "name": "479", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "480", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "481", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "signal", + "default": null, + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "482", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "type", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "483", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "fqdn", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "484", + "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": "485", + "members": [ + { + "name": "logfile", + "default": null, + "type": "str" + }, + { + "name": "logappend", + "default": null, + "type": "bool" + }, + { + "name": "size", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "486", + "members": [ + { + "name": "path", + "default": null, + "type": "str" + }, + { + "name": "cancel-path", + "default": null, + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "487", + "members": [ + { + "name": "chardev", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "488", + "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" + ] + }, + { + "name": "489", + "members": [ + { + "name": "key", + "type": "298" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "490", + "members": [ + { + "name": "button", + "type": "503" + }, + { + "name": "down", + "type": "bool" + } + ], + "meta-type": "object" + }, + { + "name": "491", + "members": [ + { + "name": "axis", + "type": "504" + }, + { + "name": "value", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "492", + "members": [ + ], + "meta-type": "object" + }, + { + "name": "493", + "members": [ + { + "name": "number", + "type": "int" + }, + { + "name": "secondary", + "type": "int" + }, + { + "name": "subordinate", + "type": "int" + }, + { + "name": "io_range", + "type": "505" + }, + { + "name": "memory_range", + "type": "505" + }, + { + "name": "prefetchable_range", + "type": "505" + } + ], + "meta-type": "object" + }, + { + "name": "494", + "members": [ + { + "name": "compat", + "type": "str" + }, + { + "name": "data-file", + "default": null, + "type": "str" + }, + { + "name": "data-file-raw", + "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": "506" + }, + { + "name": "bitmaps", + "default": null, + "type": "[507]" + } + ], + "meta-type": "object" + }, + { + "name": "495", + "members": [ + { + "name": "create-type", + "type": "str" + }, + { + "name": "cid", + "type": "int" + }, + { + "name": "parent-cid", + "type": "int" + }, + { + "name": "extents", + "type": "[233]" + } + ], + "meta-type": "object" + }, + { + "name": "496", + "members": [ + { + "name": "cipher-alg", + "type": "464" + }, + { + "name": "cipher-mode", + "type": "465" + }, + { + "name": "ivgen-alg", + "type": "466" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "467" + }, + { + "name": "hash-alg", + "type": "467" + }, + { + "name": "payload-offset", + "type": "int" + }, + { + "name": "master-key-iters", + "type": "int" + }, + { + "name": "uuid", + "type": "str" + }, + { + "name": "slots", + "type": "[508]" + } + ], + "meta-type": "object" + }, + { + "name": "497", + "meta-type": "enum", + "values": [ + "md5", + "sha1" + ] + }, + { + "name": "498", + "meta-type": "enum", + "values": [ + "qcow", + "luks" + ] + }, + { + "name": "499", + "members": [ + { + "name": "key-secret", + "default": null, + "type": "str" + }, + { + "name": "cipher-alg", + "default": null, + "type": "464" + }, + { + "name": "cipher-mode", + "default": null, + "type": "465" + }, + { + "name": "ivgen-alg", + "default": null, + "type": "466" + }, + { + "name": "ivgen-hash-alg", + "default": null, + "type": "467" + }, + { + "name": "hash-alg", + "default": null, + "type": "467" + }, + { + "name": "iter-time", + "default": null, + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "500", + "meta-type": "enum", + "values": [ + "full", + "erasure-coded" + ] + }, + { + "name": "501", + "members": [ + { + "name": "copies", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "502", + "members": [ + { + "name": "data-strips", + "type": "int" + }, + { + "name": "parity-strips", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "503", + "meta-type": "enum", + "values": [ + "left", + "middle", + "right", + "wheel-up", + "wheel-down", + "side", + "extra" + ] + }, + { + "name": "504", + "meta-type": "enum", + "values": [ + "x", + "y" + ] + }, + { + "name": "505", + "members": [ + { + "name": "base", + "type": "int" + }, + { + "name": "limit", + "type": "int" + } + ], + "meta-type": "object" + }, + { + "name": "506", + "tag": "format", + "variants": [ + { + "case": "luks", + "type": "496" + }, + { + "case": "aes", + "type": "0" + } + ], + "members": [ + { + "name": "format", + "type": "457" + } + ], + "meta-type": "object" + }, + { + "name": "[507]", + "element-type": "507", + "meta-type": "array" + }, + { + "name": "507", + "members": [ + { + "name": "name", + "type": "str" + }, + { + "name": "granularity", + "type": "int" + }, + { + "name": "flags", + "type": "[509]" + } + ], + "meta-type": "object" + }, + { + "name": "[233]", + "element-type": "233", + "meta-type": "array" + }, + { + "name": "[508]", + "element-type": "508", + "meta-type": "array" + }, + { + "name": "508", + "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": "[509]", + "element-type": "509", + "meta-type": "array" + }, + { + "name": "509", + "meta-type": "enum", + "values": [ + "in-use", + "auto" + ] + } + ], + "id": "libvirt-43" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "static", + "model": { + "name": "host" + } + }, + "id": "libvirt-44" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "mds-no": false, + "pcommit": false, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": false, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-44" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "mds-no": false, + "pcommit": false, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": false, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-45" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "hv-frequencies": false, + "tsc-frequency": 0, + "xd": true, + "x-intel-pt-auto-level": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "legacy-cache": true, + "host-phys-bits-limit": 0, + "vmware-cpuid-freq": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "hv-evmcs": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "rsba": false, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "hv-ipi": false, + "pku": false, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": false, + "amd-no-ssb": false, + "hle": true, + "npt": false, + "rdctl-no": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "x-hv-synic-kvm-only": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "mds-no": false, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "x-migrate-smi-count": true, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-ipi": true, + "kvm-pv-eoi": true, + "cx8": true, + "cldemote": false, + "hv-reenlightenment": false, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 94, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": true, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "pmu": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "amd-ssbd": false, + "ibpb": false, + "xop": false, + "avx": true, + "movdiri": false, + "ace2": false, + "avx512bw": false, + "acpi": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "vaes": false, + "popcnt": true, + "xsaves": true, + "movdir64b": false, + "tcg-cpuid": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "pclmuldq": true, + "virt-ssbd": false, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "md-clear": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": false, + "rtm": true, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "hv-tlbflush": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vmx": true, + "vme": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-45" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "static", + "model": { + "name": "host", + "props": { + "migratable": false + } + } + }, + "id": "libvirt-46" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "mds-no": false, + "pcommit": false, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": false, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-46" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "mds-no": false, + "pcommit": false, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": false, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-47" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483656, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "hv-frequencies": false, + "tsc-frequency": 0, + "xd": true, + "x-intel-pt-auto-level": true, + "hv-vendor-id": "", + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "legacy-cache": true, + "host-phys-bits-limit": 0, + "vmware-cpuid-freq": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "hv-evmcs": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "avx512vbmi2": false, + "cr8legacy": false, + "stibp": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": true, + "apic-id": 4294967295, + "rsba": false, + "pn": false, + "dca": false, + "vendor": "GenuineIntel", + "hv-ipi": false, + "pku": false, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": false, + "amd-no-ssb": false, + "hle": true, + "npt": false, + "rdctl-no": false, + "memory": "/machine/unattached/system[0]", + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "x-hv-synic-kvm-only": false, + "i64": true, + "flushbyasid": false, + "f16c": true, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "hypervisor": true, + "socket-id": -1, + "mds-no": false, + "pcommit": false, + "syscall": true, + "level": 13, + "avx512dq": false, + "x-migrate-smi-count": true, + "svm": false, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-ipi": true, + "kvm-pv-eoi": true, + "cx8": true, + "cldemote": false, + "hv-reenlightenment": false, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 94, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": true, + "ssse3": true, + "sse4a": false, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "fma": true, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": false, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "pmu": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "kvmclock": true, + "l3-cache": true, + "lwp": false, + "amd-ssbd": false, + "ibpb": false, + "xop": false, + "avx": true, + "movdiri": false, + "ace2": false, + "avx512bw": false, + "acpi": false, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "vaes": false, + "popcnt": true, + "xsaves": true, + "movdir64b": false, + "tcg-cpuid": true, + "lm": true, + "umip": true, + "pse": true, + "avx2": true, + "sep": true, + "pclmuldq": true, + "virt-ssbd": false, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "md-clear": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483656, + "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "kvm-no-smi-migration": false, + "monitor": false, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "arch-capabilities": true, + "3dnow": false, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": false, + "rtm": true, + "lmce": true, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "hv-tlbflush": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vmx": true, + "vme": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-47" +} + +{ + "execute": "query-sev-capabilities", + "id": "libvirt-48" +} + +{ + "id": "libvirt-48", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + +{ + "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 + }, + { + "name": "host", + "typename": "host-x86_64-cpu", + "unavailable-features": [ + "kvm" + ], + "static": false, + "migration-safe": false + }, + { + "name": "base", + "typename": "base-x86_64-cpu", + "unavailable-features": [ + ], + "static": true, + "migration-safe": true + }, + { + "name": "qemu64", + "typename": "qemu64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "qemu32", + "typename": "qemu32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "phenom", + "typename": "phenom-x86_64-cpu", + "unavailable-features": [ + "fxsr-opt" + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium3", + "typename": "pentium3-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium2", + "typename": "pentium2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "pentium", + "typename": "pentium-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "n270", + "typename": "n270-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm64", + "typename": "kvm64-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "kvm32", + "typename": "kvm32-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "coreduo", + "typename": "coreduo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "core2duo", + "typename": "core2duo-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "athlon", + "typename": "athlon-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere-IBRS", + "typename": "Westmere-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Westmere", + "typename": "Westmere-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge-IBRS", + "typename": "SandyBridge-IBRS-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx", + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "SandyBridge", + "typename": "SandyBridge-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Penryn", + "typename": "Penryn-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G5", + "typename": "Opteron_G5-x86_64-cpu", + "unavailable-features": [ + "fma", + "avx", + "f16c", + "misalignsse", + "3dnowprefetch", + "xop", + "fma4", + "tbm", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G4", + "typename": "Opteron_G4-x86_64-cpu", + "unavailable-features": [ + "avx", + "misalignsse", + "3dnowprefetch", + "xop", + "fma4", + "nrip-save" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G3", + "typename": "Opteron_G3-x86_64-cpu", + "unavailable-features": [ + "misalignsse" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G2", + "typename": "Opteron_G2-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Opteron_G1", + "typename": "Opteron_G1-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem-IBRS", + "typename": "Nehalem-IBRS-x86_64-cpu", + "unavailable-features": [ + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Nehalem", + "typename": "Nehalem-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge-IBRS", + "typename": "IvyBridge-IBRS-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "IvyBridge", + "typename": "IvyBridge-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "avx", + "f16c" + ], + "static": false, + "migration-safe": true + }, + { + "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", + "umip", + "avx512vbmi2", + "gfni", + "vaes", + "vpclmulqdq", + "avx512vnni", + "avx512bitalg", + "avx512-vpopcntdq", + "spec-ctrl", + "ssbd", + "3dnowprefetch", + "wbnoinvd", + "xsavec" + ], + "static": false, + "migration-safe": 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", + "umip", + "avx512vbmi2", + "gfni", + "vaes", + "vpclmulqdq", + "avx512vnni", + "avx512bitalg", + "avx512-vpopcntdq", + "spec-ctrl", + "ssbd", + "3dnowprefetch", + "wbnoinvd", + "xsavec" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX-IBRS", + "typename": "Haswell-noTSX-IBRS-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "avx2", + "invpcid", + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-noTSX", + "typename": "Haswell-noTSX-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "avx2", + "invpcid" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell-IBRS", + "typename": "Haswell-IBRS-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "hle", + "avx2", + "invpcid", + "rtm", + "spec-ctrl" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Haswell", + "typename": "Haswell-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "hle", + "avx2", + "invpcid", + "rtm" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Dhyana", + "typename": "Dhyana-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 + }, + { + "name": "Conroe", + "typename": "Conroe-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell-noTSX", + "typename": "Broadwell-noTSX-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "avx2", + "invpcid", + "rdseed", + "3dnowprefetch" + ], + "static": false, + "migration-safe": true + }, + { + "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" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Broadwell", + "typename": "Broadwell-x86_64-cpu", + "unavailable-features": [ + "fma", + "pcid", + "x2apic", + "tsc-deadline", + "avx", + "f16c", + "hle", + "avx2", + "invpcid", + "rtm", + "rdseed", + "3dnowprefetch" + ], + "static": false, + "migration-safe": true + }, + { + "name": "486", + "typename": "486-x86_64-cpu", + "unavailable-features": [ + ], + "static": false, + "migration-safe": true + } + ], + "id": "libvirt-2" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "static", + "model": { + "name": "max" + } + }, + "id": "libvirt-3" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "kvm-asyncpf": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": true, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "mds-no": false, + "pcommit": true, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "kvm-pv-ipi": false, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": true, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": false, + "kvm-steal-time": false, + "kvmclock": false, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": false, + "movdiri": false, + "acpi": true, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": false, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": false, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-3" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "kvm-asyncpf": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": true, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "mds-no": false, + "pcommit": true, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "kvm-pv-ipi": false, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": true, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": false, + "kvm-steal-time": false, + "kvmclock": false, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": false, + "movdiri": false, + "acpi": true, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": false, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": false, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-4" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483658, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "hv-frequencies": false, + "tsc-frequency": 0, + "xd": true, + "x-intel-pt-auto-level": true, + "hv-vendor-id": "", + "kvm-asyncpf": false, + "kvm_asyncpf": false, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "legacy-cache": true, + "host-phys-bits-limit": 0, + "vmware-cpuid-freq": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "hv-evmcs": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": false, + "apic-id": 4294967295, + "rsba": false, + "pn": false, + "dca": false, + "vendor": "AuthenticAMD", + "hv-ipi": false, + "pku": true, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": true, + "amd-no-ssb": false, + "hle": false, + "npt": true, + "rdctl-no": false, + "memory": "/machine/unattached/system[0]", + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": true, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "x-hv-synic-kvm-only": false, + "i64": true, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "socket-id": -1, + "mds-no": false, + "pcommit": true, + "syscall": true, + "level": 13, + "avx512dq": false, + "x-migrate-smi-count": true, + "svm": true, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-ipi": false, + "kvm-pv-eoi": false, + "cx8": true, + "cldemote": false, + "hv-reenlightenment": false, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 6, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": true, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "pmu": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": false, + "tsc_adjust": false, + "kvm-steal-time": false, + "kvm_steal_time": false, + "kvmclock": false, + "l3-cache": true, + "lwp": false, + "amd-ssbd": false, + "ibpb": false, + "xop": false, + "avx": false, + "movdiri": false, + "ace2": false, + "avx512bw": false, + "acpi": true, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "vaes": false, + "popcnt": true, + "xsaves": false, + "movdir64b": false, + "tcg-cpuid": true, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "pclmuldq": true, + "virt-ssbd": false, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "md-clear": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483658, + "kvm-pv-unhalt": false, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "kvm-no-smi-migration": false, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": false, + "rtm": false, + "lmce": false, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "hv-tlbflush": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vmx": false, + "vme": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "QEMU TCG CPU version 2.5+", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-4" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "static", + "model": { + "name": "max", + "props": { + "migratable": false + } + } + }, + "id": "libvirt-5" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "kvm-asyncpf": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": true, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "mds-no": false, + "pcommit": true, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "kvm-pv-ipi": false, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": true, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": false, + "kvm-steal-time": false, + "kvmclock": false, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": false, + "movdiri": false, + "acpi": true, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": false, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": false, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-5" +} + +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "base", + "props": { + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "kvm-asyncpf": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "sse4.1": true, + "family": 6, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "xcrypt-en": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "pku": true, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": true, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "mds-no": false, + "pcommit": true, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": false, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": false, + "kvm-pv-ipi": false, + "cx8": true, + "cldemote": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "model": 6, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "la57": true, + "osvw": false, + "apic": true, + "pmm": false, + "spec-ctrl": false, + "tsc-adjust": false, + "kvm-steal-time": false, + "kvmclock": false, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": false, + "movdiri": false, + "acpi": true, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": false, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "virt-ssbd": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": false, + "min-xlevel": 2147483658, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": false, + "tsc-scale": false, + "topoext": false, + "clflushopt": true, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vme": false, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "model-id": "QEMU TCG CPU version 2.5+", + "sha-ni": false, + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-6" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "phys-bits": 0, + "core-id": -1, + "xlevel": 2147483658, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "mmx": true, + "rdpid": false, + "arat": true, + "gfni": false, + "ibrs-all": false, + "pause-filter": false, + "xsavec": false, + "intel-pt": false, + "hv-frequencies": false, + "tsc-frequency": 0, + "xd": true, + "x-intel-pt-auto-level": true, + "hv-vendor-id": "", + "kvm-asyncpf": false, + "kvm_asyncpf": false, + "perfctr_core": false, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "decodeassists": false, + "avx512cd": false, + "sse4_1": true, + "sse4.1": true, + "sse4-1": true, + "family": 6, + "legacy-cache": true, + "host-phys-bits-limit": 0, + "vmware-cpuid-freq": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "hv-runtime": false, + "xcrypt": false, + "thread-id": -1, + "min-level": 13, + "xgetbv1": true, + "cid": false, + "hv-relaxed": false, + "hv-crash": false, + "ds": false, + "fxsr": true, + "xsaveopt": true, + "xtpr": false, + "hv-evmcs": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": false, + "avx512vbmi2": false, + "cr8legacy": true, + "stibp": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "kvm_pv_eoi": false, + "apic-id": 4294967295, + "rsba": false, + "pn": false, + "dca": false, + "vendor": "AuthenticAMD", + "hv-ipi": false, + "pku": true, + "smx": false, + "cmp_legacy": false, + "cmp-legacy": false, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb_clean": false, + "vmcb-clean": false, + "3dnowext": true, + "amd-no-ssb": false, + "hle": false, + "npt": true, + "rdctl-no": false, + "memory": "/machine/unattached/system[0]", + "clwb": true, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm_lock": false, + "svm-lock": false, + "pfthreshold": false, + "smep": true, + "smap": true, + "x2apic": false, + "avx512vbmi": false, + "avx512vnni": false, + "hv-stimer": false, + "x-hv-synic-kvm-only": false, + "i64": true, + "flushbyasid": false, + "f16c": false, + "ace2-en": false, + "pat": true, + "pae": true, + "sse": true, + "phe-en": false, + "kvm_nopiodelay": false, + "kvm-nopiodelay": false, + "tm": false, + "kvmclock-stable-bit": false, + "hypervisor": true, + "socket-id": -1, + "mds-no": false, + "pcommit": true, + "syscall": true, + "level": 13, + "avx512dq": false, + "x-migrate-smi-count": true, + "svm": true, + "full-cpuid-auto-level": true, + "hv-reset": false, + "invtsc": false, + "sse3": true, + "sse2": true, + "ssbd": false, + "est": false, + "avx512ifma": false, + "tm2": false, + "kvm-pv-ipi": false, + "kvm-pv-eoi": false, + "cx8": true, + "cldemote": false, + "hv-reenlightenment": false, + "kvm_mmu": false, + "kvm-mmu": false, + "sse4_2": true, + "sse4.2": true, + "sse4-2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "nodeid_msr": false, + "pdcm": false, + "movbe": true, + "model": 6, + "nrip_save": false, + "nrip-save": false, + "kvm_pv_unhalt": false, + "ssse3": true, + "sse4a": true, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": false, + "skip-l1dfl-vmentry": false, + "fma": false, + "cx16": true, + "de": true, + "enforce": false, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ibs": false, + "ds_cpl": false, + "ds-cpl": false, + "host-phys-bits": false, + "fma4": false, + "la57": true, + "osvw": false, + "check": true, + "hv-spinlocks": -1, + "pmm": false, + "pmu": false, + "apic": true, + "spec-ctrl": false, + "min-xlevel2": 0, + "tsc-adjust": false, + "tsc_adjust": false, + "kvm-steal-time": false, + "kvm_steal_time": false, + "kvmclock": false, + "l3-cache": true, + "lwp": false, + "amd-ssbd": false, + "ibpb": false, + "xop": false, + "avx": false, + "movdiri": false, + "ace2": false, + "avx512bw": false, + "acpi": true, + "hv-vapic": false, + "fsgsbase": true, + "ht": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "vaes": false, + "popcnt": true, + "xsaves": false, + "movdir64b": false, + "tcg-cpuid": true, + "lm": true, + "umip": false, + "pse": true, + "avx2": false, + "sep": true, + "pclmuldq": true, + "virt-ssbd": false, + "x-hv-max-vps": -1, + "nodeid-msr": false, + "md-clear": false, + "kvm": true, + "misalignsse": false, + "min-xlevel": 2147483658, + "kvm-pv-unhalt": false, + "bmi2": true, + "bmi1": true, + "realized": false, + "tsc_scale": false, + "tsc-scale": false, + "topoext": false, + "hv-vpindex": false, + "xlevel2": 0, + "clflushopt": true, + "kvm-no-smi-migration": false, + "monitor": true, + "avx512er": false, + "pmm-en": false, + "pcid": false, + "arch-capabilities": false, + "3dnow": true, + "erms": true, + "lahf-lm": true, + "lahf_lm": true, + "vpclmulqdq": false, + "fxsr-opt": false, + "hv-synic": false, + "xstore": false, + "fxsr_opt": false, + "kvm-hint-dedicated": false, + "rtm": false, + "lmce": false, + "hv-time": false, + "perfctr-nb": false, + "perfctr_nb": false, + "ffxsr": false, + "hv-tlbflush": false, + "rdrand": true, + "rdseed": false, + "avx512-4vnniw": false, + "vmx": false, + "vme": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "pse36": true, + "kvm-pv-tlb-flush": false, + "tbm": false, + "wdt": false, + "pause_filter": false, + "sha-ni": false, + "model-id": "QEMU TCG CPU version 2.5+", + "abm": true, + "avx512pf": false, + "xstore-en": false + } + } + }, + "id": "libvirt-6" +} diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml new file mode 100644 index 0000000000..ba4777d3db --- /dev/null +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -0,0 +1,1414 @@ +<qemuCaps> + <qemuctime>0</qemuctime> + <selfctime>0</selfctime> + <selfvers>0</selfvers> + <flag name='kvm'/> + <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='virtio-blk-pci.ioeventfd'/> + <flag name='sga'/> + <flag name='virtio-blk-pci.event_idx'/> + <flag name='virtio-net-pci.event_idx'/> + <flag name='piix3-usb-uhci'/> + <flag name='piix4-usb-uhci'/> + <flag name='usb-ehci'/> + <flag name='ich9-usb-ehci1'/> + <flag name='vt82c686b-usb-uhci'/> + <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='reboot-timeout'/> + <flag name='vnc'/> + <flag name='qxl'/> + <flag name='VGA'/> + <flag name='cirrus-vga'/> + <flag name='vmware-svga'/> + <flag name='device-video-primary'/> + <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='mem-merge'/> + <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='ich9-intel-hda'/> + <flag name='kvm-pit-lost-tick-policy'/> + <flag name='boot-strict'/> + <flag name='pvpanic'/> + <flag name='spice-file-xfer-disable'/> + <flag name='usb-kbd'/> + <flag name='msg-timestamp'/> + <flag name='active-commit'/> + <flag name='change-backing-file'/> + <flag name='memory-backend-ram'/> + <flag name='numa'/> + <flag name='memory-backend-file'/> + <flag name='usb-audio'/> + <flag name='rtc-reset-reinjection'/> + <flag name='splash-timeout'/> + <flag name='iothread'/> + <flag name='migrate-rdma'/> + <flag name='drive-iotune-max'/> + <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='aes-key-wrap'/> + <flag name='dea-key-wrap'/> + <flag name='pci-serial'/> + <flag name='vhost-user-multiqueue'/> + <flag name='migration-event'/> + <flag name='ioh3420'/> + <flag name='x3130-upstream'/> + <flag name='xio3130-downstream'/> + <flag name='rtl8139'/> + <flag name='e1000'/> + <flag name='virtio-net'/> + <flag name='gic-version'/> + <flag name='incoming-defer'/> + <flag name='virtio-gpu'/> + <flag name='virtio-gpu.virgl'/> + <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='debug-threads'/> + <flag name='secret'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='nec-usb-xhci-ports'/> + <flag name='virtio-scsi-pci.iothread'/> + <flag name='name-guest'/> + <flag name='qxl.max_outputs'/> + <flag name='spice-unix'/> + <flag name='drive-detect-zeroes'/> + <flag name='tls-creds-x509'/> + <flag name='intel-iommu'/> + <flag name='smm'/> + <flag name='virtio-pci-disable-legacy'/> + <flag name='query-hotpluggable-cpus'/> + <flag name='virtio-net.rx_queue_size'/> + <flag name='virtio-vga'/> + <flag name='drive-iotune-max-length'/> + <flag name='ivshmem-plain'/> + <flag name='ivshmem-doorbell'/> + <flag name='query-qmp-schema'/> + <flag name='gluster.debug_level'/> + <flag name='vhost-scsi'/> + <flag name='drive-iotune-group'/> + <flag name='query-cpu-model-expansion'/> + <flag name='virtio-net.host_mtu'/> + <flag name='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='kernel-irqchip'/> + <flag name='kernel-irqchip.split'/> + <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.iommu_platform'/> + <flag name='virtio.ats'/> + <flag name='loadparm'/> + <flag name='vnc-multi-servers'/> + <flag name='virtio-net.tx_queue_size'/> + <flag name='chardev-reconnect'/> + <flag name='virtio-gpu.max_outputs'/> + <flag name='vxhs'/> + <flag name='virtio-blk.num-queues'/> + <flag name='vmcoreinfo'/> + <flag name='numa.dist'/> + <flag name='disk-share-rw'/> + <flag name='iscsi.password-secret'/> + <flag name='isa-serial'/> + <flag name='dump-completed'/> + <flag name='qcow2-luks'/> + <flag name='pcie-pci-bridge'/> + <flag name='seccomp-blacklist'/> + <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='sdl-gl'/> + <flag name='screendump_device'/> + <flag name='hda-output'/> + <flag name='blockdev-del'/> + <flag name='vmgenid'/> + <flag name='vhost-vsock'/> + <flag name='chardev-fd-pass'/> + <flag name='tpm-emulator'/> + <flag name='mch'/> + <flag name='mch.extended-tseg-mbytes'/> + <flag name='usb-storage.werror'/> + <flag name='egl-headless'/> + <flag name='vfio-pci.display'/> + <flag name='memory-backend-memfd'/> + <flag name='memory-backend-memfd.hugetlb'/> + <flag name='iothread.poll-max-ns'/> + <flag name='egl-headless.rendernode'/> + <flag name='memory-backend-file.align'/> + <flag name='memory-backend-file.pmem'/> + <flag name='nvdimm.unarmed'/> + <flag name='scsi-disk.device_id'/> + <flag name='virtio-pci-non-transitional'/> + <flag name='overcommit'/> + <flag name='query-current-machine'/> + <flag name='bitmap-merge'/> + <flag name='nbd-bitmap'/> + <version>4000050</version> + <kvmVersion>0</kvmVersion> + <microcodeVersion>43100759</microcodeVersion> + <package>v4.0.0-1173-g9c70209b63</package> + <arch>x86_64</arch> + <hostCPU type='kvm' model='base' migratability='yes'> + <property name='phys-bits' type='number' value='0'/> + <property name='core-id' type='number' value='-1'/> + <property name='xlevel' type='number' value='2147483656'/> + <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='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='gfni' type='boolean' value='false'/> + <property name='ibrs-all' type='boolean' value='false'/> + <property name='pause-filter' type='boolean' value='false'/> + <property name='xsavec' type='boolean' value='true' migratable='yes'/> + <property name='intel-pt' type='boolean' value='false'/> + <property name='hv-frequencies' type='boolean' value='false'/> + <property name='tsc-frequency' type='number' value='0'/> + <property name='xd' type='boolean' value='true' migratable='yes'/> + <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/> + <property name='hv-vendor-id' type='string' value=''/> + <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/> + <property name='kvm_asyncpf' type='boolean' value='true' migratable='yes'/> + <property name='perfctr_core' 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='decodeassists' type='boolean' value='false'/> + <property name='avx512cd' type='boolean' value='false'/> + <property name='sse4_1' type='boolean' value='true' migratable='yes'/> + <property name='sse4.1' type='boolean' value='true' migratable='yes'/> + <property name='sse4-1' type='boolean' value='true' migratable='yes'/> + <property name='family' type='number' value='6'/> + <property name='legacy-cache' type='boolean' value='true' migratable='yes'/> + <property name='host-phys-bits-limit' type='number' value='0'/> + <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/> + <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='hv-runtime' type='boolean' value='false'/> + <property name='xcrypt' type='boolean' value='false'/> + <property name='thread-id' type='number' value='-1'/> + <property name='min-level' type='number' value='13'/> + <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> + <property name='cid' type='boolean' value='false'/> + <property name='hv-relaxed' type='boolean' value='false'/> + <property name='hv-crash' type='boolean' value='false'/> + <property name='ds' type='boolean' value='false'/> + <property name='fxsr' type='boolean' value='true' migratable='yes'/> + <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> + <property name='xtpr' type='boolean' value='false'/> + <property name='hv-evmcs' 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='avx512vbmi2' type='boolean' value='false'/> + <property name='cr8legacy' type='boolean' value='false'/> + <property name='stibp' type='boolean' value='false'/> + <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/> + <property name='xcrypt-en' type='boolean' value='false'/> + <property name='kvm_pv_eoi' type='boolean' value='true' migratable='yes'/> + <property name='apic-id' type='number' value='4294967295'/> + <property name='rsba' type='boolean' value='false'/> + <property name='pn' type='boolean' value='false'/> + <property name='dca' type='boolean' value='false'/> + <property name='vendor' type='string' value='GenuineIntel'/> + <property name='hv-ipi' type='boolean' value='false'/> + <property name='pku' type='boolean' value='false'/> + <property name='smx' type='boolean' value='false'/> + <property name='cmp_legacy' type='boolean' value='false'/> + <property name='cmp-legacy' type='boolean' value='false'/> + <property name='node-id' type='number' value='-1'/> + <property name='avx512-4fmaps' type='boolean' value='false'/> + <property name='vmcb_clean' type='boolean' value='false'/> + <property name='vmcb-clean' type='boolean' value='false'/> + <property name='3dnowext' type='boolean' value='false'/> + <property name='amd-no-ssb' type='boolean' value='false'/> + <property name='hle' type='boolean' value='true' migratable='yes'/> + <property name='npt' type='boolean' value='false'/> + <property name='rdctl-no' type='boolean' value='false'/> + <property name='memory' type='string' value='/machine/unattached/system[0]'/> + <property name='clwb' type='boolean' value='false'/> + <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='svm_lock' type='boolean' value='false'/> + <property name='svm-lock' type='boolean' value='false'/> + <property name='pfthreshold' type='boolean' value='false'/> + <property name='smep' type='boolean' value='true' migratable='yes'/> + <property name='smap' type='boolean' value='true' migratable='yes'/> + <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='hv-stimer' type='boolean' value='false'/> + <property name='x-hv-synic-kvm-only' type='boolean' value='false'/> + <property name='i64' type='boolean' value='true' migratable='yes'/> + <property name='flushbyasid' type='boolean' value='false'/> + <property name='f16c' type='boolean' value='true' migratable='yes'/> + <property name='ace2-en' type='boolean' value='false'/> + <property name='pat' type='boolean' value='true' migratable='yes'/> + <property name='pae' 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='kvm_nopiodelay' type='boolean' value='true' migratable='yes'/> + <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='hypervisor' type='boolean' value='true' migratable='yes'/> + <property name='socket-id' type='number' value='-1'/> + <property name='mds-no' type='boolean' value='false'/> + <property name='pcommit' type='boolean' value='false'/> + <property name='syscall' type='boolean' value='true' migratable='yes'/> + <property name='level' type='number' value='13'/> + <property name='avx512dq' type='boolean' value='false'/> + <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/> + <property name='svm' type='boolean' value='false'/> + <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/> + <property name='hv-reset' type='boolean' value='false'/> + <property name='invtsc' type='boolean' value='false'/> + <property name='sse3' type='boolean' value='true' migratable='yes'/> + <property name='sse2' type='boolean' value='true' migratable='yes'/> + <property name='ssbd' type='boolean' value='false'/> + <property name='est' type='boolean' value='false'/> + <property name='avx512ifma' type='boolean' value='false'/> + <property name='tm2' type='boolean' value='false'/> + <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/> + <property name='kvm-pv-eoi' type='boolean' value='true' migratable='yes'/> + <property name='cx8' type='boolean' value='true' migratable='yes'/> + <property name='cldemote' type='boolean' value='false'/> + <property name='hv-reenlightenment' type='boolean' value='false'/> + <property name='kvm_mmu' type='boolean' value='false'/> + <property name='kvm-mmu' type='boolean' value='false'/> + <property name='sse4_2' type='boolean' value='true' migratable='yes'/> + <property name='sse4.2' type='boolean' value='true' migratable='yes'/> + <property name='sse4-2' type='boolean' value='true' migratable='yes'/> + <property name='pge' type='boolean' value='true' migratable='yes'/> + <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/> + <property name='avx512bitalg' type='boolean' value='false'/> + <property name='nodeid_msr' type='boolean' value='false'/> + <property name='pdcm' type='boolean' value='false'/> + <property name='movbe' type='boolean' value='true' migratable='yes'/> + <property name='model' type='number' value='94'/> + <property name='nrip_save' type='boolean' value='false'/> + <property name='nrip-save' type='boolean' value='false'/> + <property name='kvm_pv_unhalt' type='boolean' value='true' migratable='yes'/> + <property name='ssse3' type='boolean' value='true' migratable='yes'/> + <property name='sse4a' type='boolean' value='false'/> + <property name='invpcid' type='boolean' value='true' migratable='yes'/> + <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/> + <property name='tsc-deadline' type='boolean' value='true' migratable='yes'/> + <property name='skip-l1dfl-vmentry' type='boolean' value='true' migratable='yes'/> + <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='enforce' type='boolean' value='false'/> + <property name='stepping' type='number' value='3'/> + <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='ibs' type='boolean' value='false'/> + <property name='ds_cpl' type='boolean' value='false'/> + <property name='ds-cpl' type='boolean' value='false'/> + <property name='host-phys-bits' type='boolean' value='false'/> + <property name='fma4' type='boolean' value='false'/> + <property name='la57' type='boolean' value='false'/> + <property name='osvw' type='boolean' value='false'/> + <property name='check' type='boolean' value='true' migratable='yes'/> + <property name='hv-spinlocks' type='number' value='-1'/> + <property name='pmm' type='boolean' value='false'/> + <property name='pmu' type='boolean' value='false'/> + <property name='apic' type='boolean' value='true' migratable='yes'/> + <property name='spec-ctrl' type='boolean' value='false'/> + <property name='min-xlevel2' type='number' value='0'/> + <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/> + <property name='tsc_adjust' type='boolean' value='true' migratable='yes'/> + <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/> + <property name='kvm_steal_time' type='boolean' value='true' migratable='yes'/> + <property name='kvmclock' type='boolean' value='true' migratable='yes'/> + <property name='l3-cache' type='boolean' value='true' migratable='yes'/> + <property name='lwp' type='boolean' value='false'/> + <property name='amd-ssbd' type='boolean' value='false'/> + <property name='ibpb' type='boolean' value='false'/> + <property name='xop' type='boolean' value='false'/> + <property name='avx' type='boolean' value='true' migratable='yes'/> + <property name='movdiri' type='boolean' value='false'/> + <property name='ace2' type='boolean' value='false'/> + <property name='avx512bw' type='boolean' value='false'/> + <property name='acpi' type='boolean' value='false'/> + <property name='hv-vapic' type='boolean' value='false'/> + <property name='fsgsbase' type='boolean' value='true' migratable='yes'/> + <property name='ht' 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='false'/> + <property name='vaes' type='boolean' value='false'/> + <property name='popcnt' type='boolean' value='true' migratable='yes'/> + <property name='xsaves' type='boolean' value='true' migratable='yes'/> + <property name='movdir64b' type='boolean' value='false'/> + <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/> + <property name='lm' type='boolean' value='true' migratable='yes'/> + <property name='umip' type='boolean' value='true' migratable='yes'/> + <property name='pse' type='boolean' value='true' migratable='yes'/> + <property name='avx2' type='boolean' value='true' migratable='yes'/> + <property name='sep' type='boolean' value='true' migratable='yes'/> + <property name='pclmuldq' type='boolean' value='true' migratable='yes'/> + <property name='virt-ssbd' type='boolean' value='false'/> + <property name='x-hv-max-vps' type='number' value='-1'/> + <property name='nodeid-msr' type='boolean' value='false'/> + <property name='md-clear' type='boolean' value='false'/> + <property name='kvm' type='boolean' value='true' migratable='yes'/> + <property name='misalignsse' type='boolean' value='false'/> + <property name='min-xlevel' type='number' value='2147483656'/> + <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/> + <property name='bmi2' type='boolean' value='true' migratable='yes'/> + <property name='bmi1' type='boolean' value='true' migratable='yes'/> + <property name='realized' type='boolean' value='false'/> + <property name='tsc_scale' type='boolean' value='false'/> + <property name='tsc-scale' type='boolean' value='false'/> + <property name='topoext' type='boolean' value='false'/> + <property name='hv-vpindex' type='boolean' value='false'/> + <property name='xlevel2' type='number' value='0'/> + <property name='clflushopt' type='boolean' value='true' migratable='yes'/> + <property name='kvm-no-smi-migration' type='boolean' value='false'/> + <property name='monitor' type='boolean' value='false'/> + <property name='avx512er' type='boolean' value='false'/> + <property name='pmm-en' type='boolean' value='false'/> + <property name='pcid' type='boolean' value='true' migratable='yes'/> + <property name='arch-capabilities' type='boolean' value='true' migratable='yes'/> + <property name='3dnow' type='boolean' value='false'/> + <property name='erms' type='boolean' value='true' migratable='yes'/> + <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> + <property name='lahf_lm' type='boolean' value='true' migratable='yes'/> + <property name='vpclmulqdq' type='boolean' value='false'/> + <property name='fxsr-opt' type='boolean' value='false'/> + <property name='hv-synic' type='boolean' value='false'/> + <property name='xstore' type='boolean' value='false'/> + <property name='fxsr_opt' type='boolean' value='false'/> + <property name='kvm-hint-dedicated' type='boolean' value='false'/> + <property name='rtm' type='boolean' value='true' migratable='yes'/> + <property name='lmce' type='boolean' value='true' migratable='yes'/> + <property name='hv-time' type='boolean' value='false'/> + <property name='perfctr-nb' type='boolean' value='false'/> + <property name='perfctr_nb' type='boolean' value='false'/> + <property name='ffxsr' type='boolean' value='false'/> + <property name='hv-tlbflush' 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='vmx' type='boolean' value='true' migratable='yes'/> + <property name='vme' type='boolean' value='true' migratable='yes'/> + <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='pse36' type='boolean' value='true' migratable='yes'/> + <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/> + <property name='tbm' type='boolean' value='false'/> + <property name='wdt' type='boolean' value='false'/> + <property name='pause_filter' type='boolean' value='false'/> + <property name='sha-ni' type='boolean' value='false'/> + <property name='model-id' type='string' value='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/> + <property name='abm' type='boolean' value='true' migratable='yes'/> + <property name='avx512pf' type='boolean' value='false'/> + <property name='xstore-en' type='boolean' value='false'/> + </hostCPU> + <hostCPU type='tcg' model='base' migratability='yes'> + <property name='phys-bits' type='number' value='0'/> + <property name='core-id' type='number' value='-1'/> + <property name='xlevel' type='number' value='2147483658'/> + <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='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='gfni' type='boolean' value='false'/> + <property name='ibrs-all' type='boolean' value='false'/> + <property name='pause-filter' type='boolean' value='false'/> + <property name='xsavec' type='boolean' value='false'/> + <property name='intel-pt' type='boolean' value='false'/> + <property name='hv-frequencies' type='boolean' value='false'/> + <property name='tsc-frequency' type='number' value='0'/> + <property name='xd' type='boolean' value='true' migratable='yes'/> + <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/> + <property name='hv-vendor-id' type='string' value=''/> + <property name='kvm-asyncpf' type='boolean' value='false'/> + <property name='kvm_asyncpf' type='boolean' value='false'/> + <property name='perfctr_core' 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='decodeassists' type='boolean' value='false'/> + <property name='avx512cd' type='boolean' value='false'/> + <property name='sse4_1' type='boolean' value='true' migratable='yes'/> + <property name='sse4.1' type='boolean' value='true' migratable='yes'/> + <property name='sse4-1' type='boolean' value='true' migratable='yes'/> + <property name='family' type='number' value='6'/> + <property name='legacy-cache' type='boolean' value='true' migratable='yes'/> + <property name='host-phys-bits-limit' type='number' value='0'/> + <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/> + <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='hv-runtime' type='boolean' value='false'/> + <property name='xcrypt' type='boolean' value='false'/> + <property name='thread-id' type='number' value='-1'/> + <property name='min-level' type='number' value='13'/> + <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> + <property name='cid' type='boolean' value='false'/> + <property name='hv-relaxed' type='boolean' value='false'/> + <property name='hv-crash' type='boolean' value='false'/> + <property name='ds' type='boolean' value='false'/> + <property name='fxsr' type='boolean' value='true' migratable='yes'/> + <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> + <property name='xtpr' type='boolean' value='false'/> + <property name='hv-evmcs' 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='avx512vbmi2' type='boolean' value='false'/> + <property name='cr8legacy' type='boolean' value='true' migratable='yes'/> + <property name='stibp' type='boolean' value='false'/> + <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/> + <property name='xcrypt-en' type='boolean' value='false'/> + <property name='kvm_pv_eoi' type='boolean' value='false'/> + <property name='apic-id' type='number' value='4294967295'/> + <property name='rsba' type='boolean' value='false'/> + <property name='pn' type='boolean' value='false'/> + <property name='dca' type='boolean' value='false'/> + <property name='vendor' type='string' value='AuthenticAMD'/> + <property name='hv-ipi' type='boolean' value='false'/> + <property name='pku' type='boolean' value='true' migratable='yes'/> + <property name='smx' type='boolean' value='false'/> + <property name='cmp_legacy' type='boolean' value='false'/> + <property name='cmp-legacy' type='boolean' value='false'/> + <property name='node-id' type='number' value='-1'/> + <property name='avx512-4fmaps' type='boolean' value='false'/> + <property name='vmcb_clean' type='boolean' value='false'/> + <property name='vmcb-clean' type='boolean' value='false'/> + <property name='3dnowext' type='boolean' value='true' migratable='yes'/> + <property name='amd-no-ssb' type='boolean' value='false'/> + <property name='hle' type='boolean' value='false'/> + <property name='npt' type='boolean' value='true' migratable='yes'/> + <property name='rdctl-no' type='boolean' value='false'/> + <property name='memory' type='string' value='/machine/unattached/system[0]'/> + <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='svm_lock' type='boolean' value='false'/> + <property name='svm-lock' type='boolean' value='false'/> + <property name='pfthreshold' type='boolean' value='false'/> + <property name='smep' type='boolean' value='true' migratable='yes'/> + <property name='smap' type='boolean' value='true' migratable='yes'/> + <property name='x2apic' type='boolean' value='false'/> + <property name='avx512vbmi' type='boolean' value='false'/> + <property name='avx512vnni' type='boolean' value='false'/> + <property name='hv-stimer' type='boolean' value='false'/> + <property name='x-hv-synic-kvm-only' type='boolean' value='false'/> + <property name='i64' type='boolean' value='true' migratable='yes'/> + <property name='flushbyasid' type='boolean' value='false'/> + <property name='f16c' type='boolean' value='false'/> + <property name='ace2-en' type='boolean' value='false'/> + <property name='pat' type='boolean' value='true' migratable='yes'/> + <property name='pae' 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='kvm_nopiodelay' 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='hypervisor' type='boolean' value='true' migratable='yes'/> + <property name='socket-id' type='number' value='-1'/> + <property name='mds-no' type='boolean' value='false'/> + <property name='pcommit' type='boolean' value='true' migratable='yes'/> + <property name='syscall' type='boolean' value='true' migratable='yes'/> + <property name='level' type='number' value='13'/> + <property name='avx512dq' type='boolean' value='false'/> + <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/> + <property name='svm' type='boolean' value='true' migratable='yes'/> + <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/> + <property name='hv-reset' type='boolean' value='false'/> + <property name='invtsc' type='boolean' value='false'/> + <property name='sse3' type='boolean' value='true' migratable='yes'/> + <property name='sse2' type='boolean' value='true' migratable='yes'/> + <property name='ssbd' type='boolean' value='false'/> + <property name='est' type='boolean' value='false'/> + <property name='avx512ifma' type='boolean' value='false'/> + <property name='tm2' type='boolean' value='false'/> + <property name='kvm-pv-ipi' type='boolean' value='false'/> + <property name='kvm-pv-eoi' type='boolean' value='false'/> + <property name='cx8' type='boolean' value='true' migratable='yes'/> + <property name='cldemote' type='boolean' value='false'/> + <property name='hv-reenlightenment' type='boolean' value='false'/> + <property name='kvm_mmu' type='boolean' value='false'/> + <property name='kvm-mmu' type='boolean' value='false'/> + <property name='sse4_2' type='boolean' value='true' migratable='yes'/> + <property name='sse4.2' type='boolean' value='true' migratable='yes'/> + <property name='sse4-2' type='boolean' value='true' migratable='yes'/> + <property name='pge' type='boolean' value='true' migratable='yes'/> + <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/> + <property name='avx512bitalg' type='boolean' value='false'/> + <property name='nodeid_msr' type='boolean' value='false'/> + <property name='pdcm' type='boolean' value='false'/> + <property name='movbe' type='boolean' value='true' migratable='yes'/> + <property name='model' type='number' value='6'/> + <property name='nrip_save' type='boolean' value='false'/> + <property name='nrip-save' type='boolean' value='false'/> + <property name='kvm_pv_unhalt' type='boolean' value='false'/> + <property name='ssse3' type='boolean' value='true' migratable='yes'/> + <property name='sse4a' type='boolean' value='true' migratable='yes'/> + <property name='invpcid' type='boolean' value='false'/> + <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/> + <property name='tsc-deadline' type='boolean' value='false'/> + <property name='skip-l1dfl-vmentry' 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='enforce' type='boolean' value='false'/> + <property name='stepping' type='number' value='3'/> + <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='ibs' type='boolean' value='false'/> + <property name='ds_cpl' type='boolean' value='false'/> + <property name='ds-cpl' type='boolean' value='false'/> + <property name='host-phys-bits' type='boolean' value='false'/> + <property name='fma4' type='boolean' value='false'/> + <property name='la57' type='boolean' value='true' migratable='yes'/> + <property name='osvw' type='boolean' value='false'/> + <property name='check' type='boolean' value='true' migratable='yes'/> + <property name='hv-spinlocks' type='number' value='-1'/> + <property name='pmm' type='boolean' value='false'/> + <property name='pmu' type='boolean' value='false'/> + <property name='apic' type='boolean' value='true' migratable='yes'/> + <property name='spec-ctrl' type='boolean' value='false'/> + <property name='min-xlevel2' type='number' value='0'/> + <property name='tsc-adjust' type='boolean' value='false'/> + <property name='tsc_adjust' type='boolean' value='false'/> + <property name='kvm-steal-time' type='boolean' value='false'/> + <property name='kvm_steal_time' type='boolean' value='false'/> + <property name='kvmclock' type='boolean' value='false'/> + <property name='l3-cache' type='boolean' value='true' migratable='yes'/> + <property name='lwp' type='boolean' value='false'/> + <property name='amd-ssbd' type='boolean' value='false'/> + <property name='ibpb' type='boolean' value='false'/> + <property name='xop' type='boolean' value='false'/> + <property name='avx' type='boolean' value='false'/> + <property name='movdiri' type='boolean' value='false'/> + <property name='ace2' type='boolean' value='false'/> + <property name='avx512bw' type='boolean' value='false'/> + <property name='acpi' type='boolean' value='true' migratable='yes'/> + <property name='hv-vapic' type='boolean' value='false'/> + <property name='fsgsbase' type='boolean' value='true' migratable='yes'/> + <property name='ht' 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='vaes' type='boolean' value='false'/> + <property name='popcnt' type='boolean' value='true' migratable='yes'/> + <property name='xsaves' type='boolean' value='false'/> + <property name='movdir64b' type='boolean' value='false'/> + <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/> + <property name='lm' type='boolean' value='true' migratable='yes'/> + <property name='umip' type='boolean' value='false'/> + <property name='pse' type='boolean' value='true' migratable='yes'/> + <property name='avx2' type='boolean' value='false'/> + <property name='sep' type='boolean' value='true' migratable='yes'/> + <property name='pclmuldq' type='boolean' value='true' migratable='yes'/> + <property name='virt-ssbd' type='boolean' value='false'/> + <property name='x-hv-max-vps' type='number' value='-1'/> + <property name='nodeid-msr' type='boolean' value='false'/> + <property name='md-clear' type='boolean' value='false'/> + <property name='kvm' type='boolean' value='true' migratable='yes'/> + <property name='misalignsse' type='boolean' value='false'/> + <property name='min-xlevel' type='number' value='2147483658'/> + <property name='kvm-pv-unhalt' type='boolean' value='false'/> + <property name='bmi2' type='boolean' value='true' migratable='yes'/> + <property name='bmi1' type='boolean' value='true' migratable='yes'/> + <property name='realized' type='boolean' value='false'/> + <property name='tsc_scale' type='boolean' value='false'/> + <property name='tsc-scale' type='boolean' value='false'/> + <property name='topoext' type='boolean' value='false'/> + <property name='hv-vpindex' type='boolean' value='false'/> + <property name='xlevel2' type='number' value='0'/> + <property name='clflushopt' type='boolean' value='true' migratable='yes'/> + <property name='kvm-no-smi-migration' type='boolean' value='false'/> + <property name='monitor' type='boolean' value='true' migratable='yes'/> + <property name='avx512er' type='boolean' value='false'/> + <property name='pmm-en' type='boolean' value='false'/> + <property name='pcid' type='boolean' value='false'/> + <property name='arch-capabilities' type='boolean' value='false'/> + <property name='3dnow' type='boolean' value='true' migratable='yes'/> + <property name='erms' type='boolean' value='true' migratable='yes'/> + <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> + <property name='lahf_lm' type='boolean' value='true' migratable='yes'/> + <property name='vpclmulqdq' type='boolean' value='false'/> + <property name='fxsr-opt' type='boolean' value='false'/> + <property name='hv-synic' type='boolean' value='false'/> + <property name='xstore' type='boolean' value='false'/> + <property name='fxsr_opt' type='boolean' value='false'/> + <property name='kvm-hint-dedicated' type='boolean' value='false'/> + <property name='rtm' type='boolean' value='false'/> + <property name='lmce' type='boolean' value='false'/> + <property name='hv-time' type='boolean' value='false'/> + <property name='perfctr-nb' type='boolean' value='false'/> + <property name='perfctr_nb' type='boolean' value='false'/> + <property name='ffxsr' type='boolean' value='false'/> + <property name='hv-tlbflush' 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='vmx' type='boolean' value='false'/> + <property name='vme' 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='pse36' type='boolean' value='true' migratable='yes'/> + <property name='kvm-pv-tlb-flush' type='boolean' value='false'/> + <property name='tbm' type='boolean' value='false'/> + <property name='wdt' type='boolean' value='false'/> + <property name='pause_filter' type='boolean' value='false'/> + <property name='sha-ni' type='boolean' value='false'/> + <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/> + <property name='abm' type='boolean' value='true' migratable='yes'/> + <property name='avx512pf' type='boolean' value='false'/> + <property name='xstore-en' type='boolean' value='false'/> + </hostCPU> + <cpu type='kvm' name='max' usable='yes'/> + <cpu type='kvm' name='host' usable='yes'/> + <cpu type='kvm' name='base' usable='yes'/> + <cpu type='kvm' name='qemu64' usable='yes'/> + <cpu type='kvm' name='qemu32' usable='yes'/> + <cpu type='kvm' name='phenom' usable='no'> + <blocker name='mmxext'/> + <blocker name='fxsr-opt'/> + <blocker name='3dnowext'/> + <blocker name='3dnow'/> + <blocker name='sse4a'/> + <blocker name='npt'/> + </cpu> + <cpu type='kvm' name='pentium3' usable='yes'/> + <cpu type='kvm' name='pentium2' usable='yes'/> + <cpu type='kvm' name='pentium' usable='yes'/> + <cpu type='kvm' name='n270' usable='yes'/> + <cpu type='kvm' name='kvm64' usable='yes'/> + <cpu type='kvm' name='kvm32' usable='yes'/> + <cpu type='kvm' name='coreduo' usable='yes'/> + <cpu type='kvm' name='core2duo' usable='yes'/> + <cpu type='kvm' name='athlon' usable='no'> + <blocker name='mmxext'/> + <blocker name='3dnowext'/> + <blocker name='3dnow'/> + </cpu> + <cpu type='kvm' name='Westmere-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Westmere' usable='yes'/> + <cpu type='kvm' name='Skylake-Server-IBRS' usable='no'> + <blocker name='avx512f'/> + <blocker name='avx512dq'/> + <blocker name='clwb'/> + <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' usable='no'> + <blocker name='avx512f'/> + <blocker name='avx512dq'/> + <blocker name='clwb'/> + <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-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Skylake-Client' usable='yes'/> + <cpu type='kvm' name='SandyBridge-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='SandyBridge' usable='yes'/> + <cpu type='kvm' name='Penryn' usable='yes'/> + <cpu type='kvm' name='Opteron_G5' usable='no'> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + <blocker name='xop'/> + <blocker name='fma4'/> + <blocker name='tbm'/> + <blocker name='npt'/> + <blocker name='nrip-save'/> + </cpu> + <cpu type='kvm' name='Opteron_G4' usable='no'> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + <blocker name='xop'/> + <blocker name='fma4'/> + <blocker name='npt'/> + <blocker name='nrip-save'/> + </cpu> + <cpu type='kvm' name='Opteron_G3' usable='no'> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + </cpu> + <cpu type='kvm' name='Opteron_G2' usable='yes'/> + <cpu type='kvm' name='Opteron_G1' usable='yes'/> + <cpu type='kvm' name='Nehalem-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Nehalem' usable='yes'/> + <cpu type='kvm' name='KnightsMill' usable='no'> + <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-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='IvyBridge' usable='yes'/> + <cpu type='kvm' name='Icelake-Server' usable='no'> + <blocker name='avx512f'/> + <blocker name='avx512dq'/> + <blocker name='clwb'/> + <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='ssbd'/> + <blocker name='wbnoinvd'/> + <blocker name='avx512f'/> + <blocker name='avx512f'/> + <blocker name='avx512f'/> + <blocker name='pku'/> + </cpu> + <cpu type='kvm' name='Icelake-Client' usable='no'> + <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='ssbd'/> + <blocker name='wbnoinvd'/> + <blocker name='pku'/> + </cpu> + <cpu type='kvm' name='Haswell-noTSX-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Haswell-noTSX' usable='yes'/> + <cpu type='kvm' name='Haswell-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Haswell' usable='yes'/> + <cpu type='kvm' name='EPYC-IBPB' usable='no'> + <blocker name='sha-ni'/> + <blocker name='mmxext'/> + <blocker name='fxsr-opt'/> + <blocker name='cr8legacy'/> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + <blocker name='osvw'/> + <blocker name='ibpb'/> + <blocker name='npt'/> + <blocker name='nrip-save'/> + </cpu> + <cpu type='kvm' name='EPYC' usable='no'> + <blocker name='sha-ni'/> + <blocker name='mmxext'/> + <blocker name='fxsr-opt'/> + <blocker name='cr8legacy'/> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + <blocker name='osvw'/> + <blocker name='npt'/> + <blocker name='nrip-save'/> + </cpu> + <cpu type='kvm' name='Dhyana' usable='no'> + <blocker name='mmxext'/> + <blocker name='fxsr-opt'/> + <blocker name='cr8legacy'/> + <blocker name='sse4a'/> + <blocker name='misalignsse'/> + <blocker name='osvw'/> + <blocker name='ibpb'/> + <blocker name='npt'/> + <blocker name='nrip-save'/> + </cpu> + <cpu type='kvm' name='Conroe' usable='yes'/> + <cpu type='kvm' name='Cascadelake-Server' usable='no'> + <blocker name='avx512f'/> + <blocker name='avx512dq'/> + <blocker name='clwb'/> + <blocker name='avx512cd'/> + <blocker name='avx512bw'/> + <blocker name='avx512vl'/> + <blocker name='pku'/> + <blocker name='avx512vnni'/> + <blocker name='spec-ctrl'/> + <blocker name='ssbd'/> + <blocker name='avx512f'/> + <blocker name='avx512f'/> + <blocker name='avx512f'/> + <blocker name='pku'/> + </cpu> + <cpu type='kvm' name='Broadwell-noTSX-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Broadwell-noTSX' usable='yes'/> + <cpu type='kvm' name='Broadwell-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='kvm' name='Broadwell' usable='yes'/> + <cpu type='kvm' name='486' usable='yes'/> + <cpu type='tcg' name='max' usable='yes'/> + <cpu type='tcg' name='host' usable='no'> + <blocker name='kvm'/> + </cpu> + <cpu type='tcg' name='base' usable='yes'/> + <cpu type='tcg' name='qemu64' usable='yes'/> + <cpu type='tcg' name='qemu32' usable='yes'/> + <cpu type='tcg' name='phenom' usable='no'> + <blocker name='fxsr-opt'/> + </cpu> + <cpu type='tcg' name='pentium3' usable='yes'/> + <cpu type='tcg' name='pentium2' usable='yes'/> + <cpu type='tcg' name='pentium' usable='yes'/> + <cpu type='tcg' name='n270' usable='yes'/> + <cpu type='tcg' name='kvm64' usable='yes'/> + <cpu type='tcg' name='kvm32' usable='yes'/> + <cpu type='tcg' name='coreduo' usable='yes'/> + <cpu type='tcg' name='core2duo' usable='yes'/> + <cpu type='tcg' name='athlon' usable='yes'/> + <cpu type='tcg' name='Westmere-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='tcg' name='Westmere' usable='yes'/> + <cpu type='tcg' name='Skylake-Server-IBRS' 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' 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-IBRS' 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' 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-IBRS' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='avx'/> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='tcg' name='SandyBridge' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='avx'/> + </cpu> + <cpu type='tcg' name='Penryn' usable='yes'/> + <cpu type='tcg' name='Opteron_G5' 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' 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' usable='no'> + <blocker name='misalignsse'/> + </cpu> + <cpu type='tcg' name='Opteron_G2' usable='yes'/> + <cpu type='tcg' name='Opteron_G1' usable='yes'/> + <cpu type='tcg' name='Nehalem-IBRS' usable='no'> + <blocker name='spec-ctrl'/> + </cpu> + <cpu type='tcg' name='Nehalem' usable='yes'/> + <cpu type='tcg' name='KnightsMill' 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-IBRS' 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' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='avx'/> + <blocker name='f16c'/> + </cpu> + <cpu type='tcg' name='Icelake-Server' 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='umip'/> + <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' 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='avx512vbmi'/> + <blocker name='umip'/> + <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-noTSX-IBRS' 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' 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' 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' 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-IBPB' 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' 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' 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='Conroe' usable='yes'/> + <cpu type='tcg' name='Cascadelake-Server' 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-noTSX-IBRS' 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' 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' 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' 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' usable='yes'/> + <machine name='pc-i440fx-4.1' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/> + <machine name='isapc' hotplugCpus='yes' maxCpus='1'/> + <machine name='pc-1.1' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-1.2' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-1.0' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.9' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255'/> + <machine name='xenfv' hotplugCpus='yes' maxCpus='128'/> + <machine name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.5' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.1' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.2' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-3.1' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.11' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-q35-2.12' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288'/> + <machine name='xenpv' maxCpus='1'/> + <machine name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-0.15' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-1.5' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.7' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-0.13' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-0.14' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-3.1' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-2.6' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-1.4' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/> + <machine name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288'/> + <machine name='pc-q35-4.1' alias='q35' hotplugCpus='yes' maxCpus='288'/> +</qemuCaps> -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:04AM +0200, Jiri Denemark wrote:
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../caps_4.1.0.x86_64.replies | 23538 ++++++++++++++++ .../caps_4.1.0.x86_64.xml | 1414 + 2 files changed, 24952 insertions(+) create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies create mode 100644 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../qemu_4.1.0.x86_64.xml | 160 ++++++++++++++++++ tests/domaincapstest.c | 5 + 2 files changed, 165 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml diff --git a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml new file mode 100644 index 0000000000..389e641bbb --- /dev/null +++ b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml @@ -0,0 +1,160 @@ +<domainCapabilities> + <path>/usr/bin/qemu-system-x86_64</path> + <domain>kvm</domain> + <machine>pc-i440fx-4.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'/> + <mode name='host-model' supported='yes'> + <model fallback='forbid'>Skylake-Client</model> + <vendor>Intel</vendor> + <feature policy='require' name='ss'/> + <feature policy='require' name='vmx'/> + <feature policy='require' name='hypervisor'/> + <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='clflushopt'/> + <feature policy='require' name='umip'/> + <feature policy='require' name='arch-capabilities'/> + <feature policy='require' name='xsaves'/> + <feature policy='require' name='pdpe1gb'/> + </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='no'>athlon</model> + <model usable='no'>Westmere-IBRS</model> + <model usable='yes'>Westmere</model> + <model usable='no'>Skylake-Server-IBRS</model> + <model usable='no'>Skylake-Server</model> + <model usable='no'>Skylake-Client-IBRS</model> + <model usable='yes'>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='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='yes'>IvyBridge</model> + <model usable='no'>Icelake-Server</model> + <model usable='no'>Icelake-Client</model> + <model usable='no'>Haswell-noTSX-IBRS</model> + <model usable='yes'>Haswell-noTSX</model> + <model usable='no'>Haswell-IBRS</model> + <model usable='yes'>Haswell</model> + <model usable='no'>EPYC-IBPB</model> + <model usable='no'>EPYC</model> + <model usable='yes'>Conroe</model> + <model usable='no'>Cascadelake-Server</model> + <model usable='no'>Broadwell-noTSX-IBRS</model> + <model usable='yes'>Broadwell-noTSX</model> + <model usable='no'>Broadwell-IBRS</model> + <model usable='yes'>Broadwell</model> + <model usable='yes'>486</model> + </mode> + </cpu> + <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> + </enum> + </graphics> + <video supported='yes'> + <enum name='modelType'> + <value>vga</value> + <value>cirrus</value> + <value>vmvga</value> + <value>qxl</value> + <value>virtio</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>kvm</value> + <value>vfio</value> + </enum> + </hostdev> + </devices> + <features> + <gic supported='no'/> + <vmcoreinfo supported='yes'/> + <genid supported='yes'/> + <sev supported='no'/> + </features> +</domainCapabilities> diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index 5dba1d1ba4..45ecfe61ac 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -453,6 +453,11 @@ mymain(void) DO_TEST_QEMU("4.0.0", "caps_4.0.0", "/usr/bin/qemu-system-s390x", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + + DO_TEST_QEMU("4.1.0", "caps_4.1.0", + "/usr/bin/qemu-system-x86_64", NULL, + "x86_64", VIR_DOMAIN_VIRT_KVM); + virObjectUnref(cfg); virFileWrapperClearPrefixes(); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:05AM +0200, Jiri Denemark wrote:
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../qemu_4.1.0.x86_64.xml | 160 ++++++++++++++++++ tests/domaincapstest.c | 5 + 2 files changed, 165 insertions(+) create mode 100644 tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../cpu-host-model-cmt.x86_64-4.0.0.args | 37 +++++++++++++++++++ .../cpu-tsc-frequency.x86_64-4.0.0.args | 36 ++++++++++++++++++ .../eoi-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../eoi-enabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../kvmclock+eoi-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../pv-spinlock-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../pv-spinlock-enabled.x86_64-4.0.0.args | 33 +++++++++++++++++ tests/qemuxml2argvtest.c | 5 +++ 8 files changed, 243 insertions(+) create mode 100644 tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args new file mode 100644 index 0000000000..b44dc2ec48 --- /dev/null +++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu EPYC,acpi=on,ss=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,pku=on,\ +la57=on,3dnowext=on,3dnow=on,vme=off,fma=off,avx=off,f16c=off,rdrand=off,\ +avx2=off,rdseed=off,sha-ni=off,xsavec=off,fxsr_opt=off,misalignsse=off,\ +3dnowprefetch=off,osvw=off,topoext=off \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args new file mode 100644 index 0000000000..a3b6e4e57e --- /dev/null +++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args @@ -0,0 +1,36 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=kvm,usb=off,dump-guest-core=off \ +-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc_adjust=on,\ +clflushopt=on,umip=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,\ +invtsc=on,tsc-frequency=3504000000 \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args new file mode 100644 index 0000000000..5cd7bb0a15 --- /dev/null +++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,kvm_pv_eoi=off \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args new file mode 100644 index 0000000000..38e978b399 --- /dev/null +++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,kvm_pv_eoi=on \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args new file mode 100644 index 0000000000..0a96928277 --- /dev/null +++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,kvmclock=off,kvm_pv_eoi=off \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args new file mode 100644 index 0000000000..4c7414400e --- /dev/null +++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,kvm_pv_unhalt=off \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args new file mode 100644 index 0000000000..b8a1007675 --- /dev/null +++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args @@ -0,0 +1,33 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-i686 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu qemu32,kvm_pv_unhalt=on \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 6,sockets=6,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 55267ddedc..787d435fb9 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -874,14 +874,19 @@ mymain(void) QEMU_CAPS_DEVICE_ISA_SERIAL, QEMU_CAPS_DEVICE_CIRRUS_VGA); DO_TEST_CAPS_VER("eoi-disabled", "2.7.0"); + DO_TEST_CAPS_VER("eoi-disabled", "4.0.0"); DO_TEST_CAPS_LATEST("eoi-disabled"); DO_TEST_CAPS_VER("eoi-enabled", "2.7.0"); + DO_TEST_CAPS_VER("eoi-enabled", "4.0.0"); DO_TEST_CAPS_LATEST("eoi-enabled"); DO_TEST_CAPS_VER("pv-spinlock-disabled", "2.7.0"); + DO_TEST_CAPS_VER("pv-spinlock-disabled", "4.0.0"); DO_TEST_CAPS_LATEST("pv-spinlock-disabled"); DO_TEST_CAPS_VER("pv-spinlock-enabled", "2.7.0"); + DO_TEST_CAPS_VER("pv-spinlock-enabled", "4.0.0"); DO_TEST_CAPS_LATEST("pv-spinlock-enabled"); DO_TEST_CAPS_VER("kvmclock+eoi-disabled", "2.7.0"); + DO_TEST_CAPS_VER("kvmclock+eoi-disabled", "4.0.0"); DO_TEST_CAPS_LATEST("kvmclock+eoi-disabled"); DO_TEST("hyperv", NONE); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:06AM +0200, Jiri Denemark wrote: Again, why 4.0.0 in particular?
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../cpu-host-model-cmt.x86_64-4.0.0.args | 37 +++++++++++++++++++ .../cpu-tsc-frequency.x86_64-4.0.0.args | 36 ++++++++++++++++++ .../eoi-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../eoi-enabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../kvmclock+eoi-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../pv-spinlock-disabled.x86_64-4.0.0.args | 33 +++++++++++++++++ .../pv-spinlock-enabled.x86_64-4.0.0.args | 33 +++++++++++++++++ tests/qemuxml2argvtest.c | 5 +++ 8 files changed, 243 insertions(+) create mode 100644 tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Wed, Jun 19, 2019 at 13:47:14 +0200, Ján Tomko wrote:
On Wed, Jun 19, 2019 at 11:38:06AM +0200, Jiri Denemark wrote:
Again, why 4.0.0 in particular?
Forgot again :/ Newer QEMU will translate the feature names to their canonical names so 4.0.0 is the last one which produces the results we currently have in *-latest.args. Jirka

This should cover all CPU features for which QEMU prefers spelling that differs from the one used by libvirt. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../cpu-translation.x86_64-4.0.0.args | 36 +++++++++++++++++++ .../cpu-translation.x86_64-latest.args | 36 +++++++++++++++++++ tests/qemuxml2argvdata/cpu-translation.xml | 34 ++++++++++++++++++ tests/qemuxml2argvtest.c | 2 ++ 4 files changed, 108 insertions(+) create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.xml diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args new file mode 100644 index 0000000000..f8e19fca24 --- /dev/null +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args @@ -0,0 +1,36 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \ +-cpu Haswell,pclmuldq=on,ds_cpl=on,tsc_adjust=on,fxsr_opt=on,lahf_lm=on,\ +cmp_legacy=on,nodeid_msr=on,perfctr_core=on,perfctr_nb=on,kvm_pv_eoi=on,\ +kvm_pv_unhalt=on \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-fade-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args new file mode 100644 index 0000000000..7a1546fb36 --- /dev/null +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args @@ -0,0 +1,36 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,\ +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ +-machine pc,accel=tcg,usb=off,dump-guest-core=off \ +-cpu Haswell,pclmuldq=on,ds_cpl=on,tsc_adjust=on,fxsr_opt=on,lahf_lm=on,\ +cmp_legacy=on,nodeid_msr=on,perfctr_core=on,perfctr_nb=on,kvm_pv_eoi=on,\ +kvm_pv_unhalt=on \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-fade-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server,nowait \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-boot strict=on \ +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ +resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/cpu-translation.xml b/tests/qemuxml2argvdata/cpu-translation.xml new file mode 100644 index 0000000000..4054f3d3be --- /dev/null +++ b/tests/qemuxml2argvdata/cpu-translation.xml @@ -0,0 +1,34 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-fade-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219100</memory> + <currentMemory unit='KiB'>219100</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='pc'>hvm</type> + <boot dev='network'/> + </os> + <features> + <apic eoi='on'/> + <pvspinlock state='on'/> + </features> + <cpu mode='custom'> + <model fallback='forbid'>Haswell</model> + <feature name='pclmuldq' policy='require'/> + <feature name='ds_cpl' policy='require'/> + <feature name='tsc_adjust' policy='require'/> + <feature name='fxsr_opt' policy='require'/> + <feature name='lahf_lm' policy='require'/> + <feature name='cmp_legacy' policy='require'/> + <feature name='nodeid_msr' policy='require'/> + <feature name='perfctr_core' policy='require'/> + <feature name='perfctr_nb' policy='require'/> + </cpu> + <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> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 787d435fb9..90a35e7fd6 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1693,6 +1693,8 @@ mymain(void) DO_TEST("cpu-Haswell-noTSX", QEMU_CAPS_KVM); DO_TEST("cpu-host-model-cmt", NONE); DO_TEST("cpu-tsc-frequency", QEMU_CAPS_KVM); + DO_TEST_CAPS_VER("cpu-translation", "4.0.0"); + DO_TEST_CAPS_LATEST("cpu-translation"); qemuTestSetHostCPU(driver.caps, NULL); DO_TEST("encrypted-disk", QEMU_CAPS_QCOW2_LUKS, QEMU_CAPS_OBJECT_SECRET); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:07AM +0200, Jiri Denemark wrote:
This should cover all CPU features for which QEMU prefers spelling that differs from the one used by libvirt.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- .../cpu-translation.x86_64-4.0.0.args | 36 +++++++++++++++++++ .../cpu-translation.x86_64-latest.args | 36 +++++++++++++++++++ tests/qemuxml2argvdata/cpu-translation.xml | 34 ++++++++++++++++++ tests/qemuxml2argvtest.c | 2 ++ 4 files changed, 108 insertions(+) create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/cpu-translation.xml
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

So far we always used libvirt's name of each CPU feature relying on backward compatible aliases in QEMU. The new translation table can be used whenever QEMU mandates or prefers canonical feature names. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 64 ++++++++++++++++++++++++++++++++++++ src/qemu/qemu_capabilities.h | 8 +++++ 2 files changed, 72 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 5f989a2613..712933c13a 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2848,6 +2848,70 @@ virQEMUCapsCPUFilterFeatures(const char *name, } +typedef struct _virQEMUCapsCPUFeatureTranslationTable virQEMUCapsCPUFeatureTranslationTable; +typedef virQEMUCapsCPUFeatureTranslationTable *virQEMUCapsCPUFeatureTranslationTablePtr; +struct _virQEMUCapsCPUFeatureTranslationTable { + const char *libvirt; + const char *qemu; +}; + +virQEMUCapsCPUFeatureTranslationTable virQEMUCapsCPUFeaturesX86[] = { + {"cmp_legacy", "cmp-legacy"}, + {"ds_cpl", "ds-cpl"}, + {"fxsr_opt", "fxsr-opt"}, + {"kvm_pv_eoi", "kvm-pv-eoi"}, + {"kvm_pv_unhalt", "kvm-pv-unhalt"}, + {"lahf_lm", "lahf-lm"}, + {"nodeid_msr", "nodeid-msr"}, + {"pclmuldq", "pclmulqdq"}, + {"perfctr_core", "perfctr-core"}, + {"perfctr_nb", "perfctr-nb"}, + {"tsc_adjust", "tsc-adjust"}, + {NULL, NULL} +}; + + +static const char * +virQEMUCapsCPUFeatureTranslate(virQEMUCapsPtr qemuCaps, + const char *feature, + bool reversed) +{ + virQEMUCapsCPUFeatureTranslationTablePtr table = NULL; + virQEMUCapsCPUFeatureTranslationTablePtr entry; + + if (ARCH_IS_X86(qemuCaps->arch)) + table = virQEMUCapsCPUFeaturesX86; + + if (!table || !feature) + return feature; + + for (entry = table; entry->libvirt; entry++) { + const char *key = reversed ? entry->qemu : entry->libvirt; + + if (STREQ(feature, key)) + return reversed ? entry->libvirt : entry->qemu; + } + + return feature; +} + + +const char * +virQEMUCapsCPUFeatureToQEMU(virQEMUCapsPtr qemuCaps, + const char *feature) +{ + return virQEMUCapsCPUFeatureTranslate(qemuCaps, feature, false); +} + + +const char * +virQEMUCapsCPUFeatureFromQEMU(virQEMUCapsPtr qemuCaps, + const char *feature) +{ + return virQEMUCapsCPUFeatureTranslate(qemuCaps, feature, true); +} + + /** * Returns 0 when host CPU model provided by QEMU was filled in qemuCaps, * 1 when the caller should fall back to using virCapsPtr->host.cpu, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 3032d4edcd..685a77a8b0 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -646,6 +646,14 @@ bool virQEMUCapsGuestIsNative(virArch host, bool virQEMUCapsCPUFilterFeatures(const char *name, void *opaque); +const char * +virQEMUCapsCPUFeatureToQEMU(virQEMUCapsPtr qemuCaps, + const char *feature); + +const char * +virQEMUCapsCPUFeatureFromQEMU(virQEMUCapsPtr qemuCaps, + const char *feature); + virSEVCapabilityPtr virQEMUCapsGetSEVCapabilities(virQEMUCapsPtr qemuCaps); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:08AM +0200, Jiri Denemark wrote:
So far we always used libvirt's name of each CPU feature relying on backward compatible aliases in QEMU. The new translation table can be used whenever QEMU mandates or prefers canonical feature names.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 64 ++++++++++++++++++++++++++++++++++++ src/qemu/qemu_capabilities.h | 8 +++++ 2 files changed, 72 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

We will use it to check whether QEMU supports a specific CPU property. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + 10 files changed, 11 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 712933c13a..edbaaaa37e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -530,6 +530,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 330 */ "bitmap-merge", "nbd-bitmap", + "x86-max-cpu", ); @@ -1117,6 +1118,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = { { "virtio-scsi-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, { "virtio-serial-pci-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, { "virtio-serial-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, + { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU }, }; static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 685a77a8b0..e4c34c6dfd 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -512,6 +512,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 330 */ QEMU_CAPS_BITMAP_MERGE, /* block-dirty-bitmap-merge */ QEMU_CAPS_NBD_BITMAP, /* nbd-server-add supports bitmap */ + QEMU_CAPS_X86_MAX_CPU,/* max-x86_64-cpu type exists */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml index e1ddb38a52..2788fd9afe 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -180,6 +180,7 @@ <flag name='mch'/> <flag name='egl-headless'/> <flag name='iothread.poll-max-ns'/> + <flag name='x86-max-cpu'/> <version>2010000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100805</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml index 8e7c6a29f8..69f7fc2e4a 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -186,6 +186,7 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='iothread.poll-max-ns'/> + <flag name='x86-max-cpu'/> <version>2011000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100806</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml index 1046a3b8ac..61b3602c48 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -194,6 +194,7 @@ <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> <flag name='memory-backend-file.align'/> + <flag name='x86-max-cpu'/> <version>2011090</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100807</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml index 2444fa3a59..0c2586e0e5 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -174,6 +174,7 @@ <flag name='vhost-vsock'/> <flag name='mch'/> <flag name='iothread.poll-max-ns'/> + <flag name='x86-max-cpu'/> <version>2009000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100765</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml index 7f298349fc..c6394db602 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -197,6 +197,7 @@ <flag name='iothread.poll-max-ns'/> <flag name='memory-backend-file.align'/> <flag name='nvdimm.unarmed'/> + <flag name='x86-max-cpu'/> <version>3000000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100757</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml index 6c2a5dcf70..a8cb061bf3 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -200,6 +200,7 @@ <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> <flag name='overcommit'/> + <flag name='x86-max-cpu'/> <version>3000092</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100758</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml index 68845cca74..716b756979 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -204,6 +204,7 @@ <flag name='query-current-machine'/> <flag name='bitmap-merge'/> <flag name='nbd-bitmap'/> + <flag name='x86-max-cpu'/> <version>4000000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100758</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index ba4777d3db..828840b8b8 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -204,6 +204,7 @@ <flag name='query-current-machine'/> <flag name='bitmap-merge'/> <flag name='nbd-bitmap'/> + <flag name='x86-max-cpu'/> <version>4000050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100759</microcodeVersion> -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:09AM +0200, Jiri Denemark wrote:
We will use it to check whether QEMU supports a specific CPU property.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + 10 files changed, 11 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 712933c13a..edbaaaa37e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -530,6 +530,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 330 */ "bitmap-merge", "nbd-bitmap", + "x86-max-cpu", );
@@ -1117,6 +1118,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = { { "virtio-scsi-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, { "virtio-serial-pci-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, { "virtio-serial-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL }, + { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU }, };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 685a77a8b0..e4c34c6dfd 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -512,6 +512,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 330 */ QEMU_CAPS_BITMAP_MERGE, /* block-dirty-bitmap-merge */ QEMU_CAPS_NBD_BITMAP, /* nbd-server-add supports bitmap */ + QEMU_CAPS_X86_MAX_CPU,/* max-x86_64-cpu type exists */
space
QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags;
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

It is similar to "filtered-features" property, which reports CPUID bits corresponding to disabled features, but more general. The "unavailable-features" property supports both CPUID and MSR features by listing their names. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 + src/qemu/qemu_capabilities.h | 1 + .../caps_2.12.0.x86_64.replies | 1078 ++++++++++++++- .../caps_3.0.0.x86_64.replies | 1116 +++++++++++++++- .../caps_3.1.0.x86_64.replies | 1164 +++++++++++++++- .../caps_4.0.0.x86_64.replies | 1180 +++++++++++++++- .../caps_4.1.0.x86_64.replies | 1188 ++++++++++++++++- .../caps_4.1.0.x86_64.xml | 1 + 8 files changed, 5604 insertions(+), 132 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index edbaaaa37e..cf8237da6c 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -531,6 +531,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "bitmap-merge", "nbd-bitmap", "x86-max-cpu", + "cpu-unavailable-features", ); @@ -1398,6 +1399,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[] { "hugetlb", QEMU_CAPS_OBJECT_MEMORY_MEMFD_HUGETLB }, }; +static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMaxX86CPU[] = { + { "unavailable-features", QEMU_CAPS_CPU_UNAVAILABLE_FEATURES }, +}; + static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { { "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile, ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendFile), @@ -1405,6 +1410,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { { "memory-backend-memfd", virQEMUCapsObjectPropsMemoryBackendMemfd, ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendMemfd), QEMU_CAPS_OBJECT_MEMORY_MEMFD }, + { "max-x86_64-cpu", virQEMUCapsObjectPropsMaxX86CPU, + ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxX86CPU), + QEMU_CAPS_X86_MAX_CPU }, }; static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index e4c34c6dfd..e1727a1a1c 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -513,6 +513,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_BITMAP_MERGE, /* block-dirty-bitmap-merge */ QEMU_CAPS_NBD_BITMAP, /* nbd-server-add supports bitmap */ QEMU_CAPS_X86_MAX_CPU,/* max-x86_64-cpu type exists */ + QEMU_CAPS_CPU_UNAVAILABLE_FEATURES, /* "unavailable-features" CPU property */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies index 2e4e5ae4ab..e78ddeb57e 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -4762,10 +4762,1040 @@ } { - "execute": "query-machines", + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, "id": "libvirt-37" } +{ + "return": [ + { + "name": "min-xlevel2", + "type": "uint32" + }, + { + "name": "vendor", + "type": "string" + }, + { + "name": "gfni", + "type": "bool" + }, + { + "name": "clwb", + "type": "bool" + }, + { + "name": "nx", + "type": "bool" + }, + { + "name": "x2apic", + "type": "bool" + }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "min-level", + "type": "uint32" + }, + { + "name": "fxsr-opt", + "type": "bool" + }, + { + "name": "skinit", + "type": "bool" + }, + { + "name": "avx", + "type": "bool" + }, + { + "name": "3dnowext", + "type": "bool" + }, + { + "name": "hv-crash", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "hypervisor", + "type": "bool" + }, + { + "name": "enforce", + "type": "bool" + }, + { + "name": "stepping", + "type": "int" + }, + { + "name": "sse4_2", + "type": "bool" + }, + { + "name": "sse4_1", + "type": "bool" + }, + { + "name": "x-hv-max-vps", + "type": "int32" + }, + { + "name": "hv-frequencies", + "type": "bool" + }, + { + "name": "kvm-hint-dedicated", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, + { + "name": "tm2", + "type": "bool" + }, + { + "name": "smx", + "type": "bool" + }, + { + "name": "host-cache-info", + "type": "bool" + }, + { + "name": "hv-vendor-id", + "type": "str" + }, + { + "name": "movbe", + "type": "bool" + }, + { + "name": "3dnowprefetch", + "type": "bool" + }, + { + "name": "mtrr", + "type": "bool" + }, + { + "name": "wdt", + "type": "bool" + }, + { + "name": "thread-id", + "type": "int32" + }, + { + "name": "aes", + "type": "bool" + }, + { + "name": "apic-id", + "type": "uint32" + }, + { + "name": "lm", + "type": "bool" + }, + { + "name": "family", + "type": "int" + }, + { + "name": "tsc-adjust", + "type": "bool" + }, + { + "name": "pfthreshold", + "type": "bool" + }, + { + "name": "ospke", + "type": "bool" + }, + { + "name": "kvm-no-smi-migration", + "type": "bool" + }, + { + "name": "pse", + "type": "bool" + }, + { + "name": "filtered-features", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "hv-vpindex", + "type": "bool" + }, + { + "name": "adx", + "type": "bool" + }, + { + "name": "avx512bitalg", + "type": "bool" + }, + { + "name": "i64", + "type": "bool" + }, + { + "name": "vaes", + "type": "bool" + }, + { + "name": "ia64", + "type": "bool" + }, + { + "name": "nodeid-msr", + "type": "bool" + }, + { + "name": "ibpb", + "type": "bool" + }, + { + "name": "hv-synic", + "type": "bool" + }, + { + "name": "ibs", + "type": "bool" + }, + { + "name": "kvm_mmu", + "type": "bool" + }, + { + "name": "tcg-cpuid", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, + { + "name": "kvm_nopiodelay", + "type": "bool" + }, + { + "name": "lbrv", + "type": "bool" + }, + { + "name": "rdtscp", + "type": "bool" + }, + { + "name": "memory", + "type": "link<qemu:memory-region>" + }, + { + "name": "avx512vbmi2", + "type": "bool" + }, + { + "name": "ace2-en", + "type": "bool" + }, + { + "name": "invtsc", + "type": "bool" + }, + { + "name": "sse4.2", + "type": "bool" + }, + { + "name": "sse4.1", + "type": "bool" + }, + { + "name": "pbe", + "type": "bool" + }, + { + "name": "rdrand", + "type": "bool" + }, + { + "name": "socket-id", + "type": "int32" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "kvm-steal-time", + "type": "bool" + }, + { + "name": "l3-cache", + "type": "bool" + }, + { + "name": "vmware-cpuid-freq", + "type": "bool" + }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "fill-mtrr-mask", + "type": "bool" + }, + { + "name": "core-id", + "type": "int32" + }, + { + "name": "intel-pt", + "type": "bool" + }, + { + "name": "pat", + "type": "bool" + }, + { + "name": "pcid", + "type": "bool" + }, + { + "name": "pclmulqdq", + "type": "bool" + }, + { + "name": "sse4-2", + "type": "bool" + }, + { + "name": "sse4-1", + "type": "bool" + }, + { + "name": "sha-ni", + "type": "bool" + }, + { + "name": "cmov", + "type": "bool" + }, + { + "name": "pae", + "type": "bool" + }, + { + "name": "smep", + "type": "bool" + }, + { + "name": "abm", + "type": "bool" + }, + { + "name": "xstore", + "type": "bool" + }, + { + "name": "tsc_adjust", + "type": "bool" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "kvm-asyncpf", + "type": "bool" + }, + { + "name": "min-xlevel", + "type": "uint32" + }, + { + "name": "pdpe1gb", + "type": "bool" + }, + { + "name": "kvm-mmu", + "type": "bool" + }, + { + "name": "kvm-pv-unhalt", + "type": "bool" + }, + { + "name": "avx512f", + "type": "bool" + }, + { + "name": "avx512vbmi", + "type": "bool" + }, + { + "name": "avx512-4vnniw", + "type": "bool" + }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "mmxext", + "type": "bool" + }, + { + "name": "decodeassists", + "type": "bool" + }, + { + "name": "ht", + "type": "bool" + }, + { + "name": "xsave", + "type": "bool" + }, + { + "name": "perfctr_core", + "type": "bool" + }, + { + "name": "feature-words", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "migratable", + "type": "bool" + }, + { + "name": "3dnow", + "type": "bool" + }, + { + "name": "spec-ctrl", + "type": "bool" + }, + { + "name": "model", + "type": "int" + }, + { + "name": "nrip-save", + "type": "bool" + }, + { + "name": "lwp", + "type": "bool" + }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "avx512vl", + "type": "bool" + }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, + { + "name": "bmi2", + "type": "bool" + }, + { + "name": "bmi1", + "type": "bool" + }, + { + "name": "la57", + "type": "bool" + }, + { + "name": "ffxsr", + "type": "bool" + }, + { + "name": "vmcb-clean", + "type": "bool" + }, + { + "name": "pause-filter", + "type": "bool" + }, + { + "name": "pni", + "type": "bool" + }, + { + "name": "kvm_steal_time", + "type": "bool" + }, + { + "name": "svm_lock", + "type": "bool" + }, + { + "name": "pse36", + "type": "bool" + }, + { + "name": "hv-stimer", + "type": "bool" + }, + { + "name": "host-phys-bits", + "type": "bool" + }, + { + "name": "extapic", + "type": "bool" + }, + { + "name": "hv-spinlocks", + "type": "int" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "pmm", + "type": "bool" + }, + { + "name": "vpclmulqdq", + "type": "bool" + }, + { + "name": "avx512-vpopcntdq", + "type": "bool" + }, + { + "name": "avx512er", + "type": "bool" + }, + { + "name": "pdcm", + "type": "bool" + }, + { + "name": "svm", + "type": "bool" + }, + { + "name": "apic", + "type": "bool" + }, + { + "name": "xcrypt-en", + "type": "bool" + }, + { + "name": "cr8legacy", + "type": "bool" + }, + { + "name": "fma4", + "type": "bool" + }, + { + "name": "erms", + "type": "bool" + }, + { + "name": "msr", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, + { + "name": "xlevel", + "type": "uint32" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hv-relaxed", + "type": "bool" + }, + { + "name": "perfctr-core", + "type": "bool" + }, + { + "name": "sep", + "type": "bool" + }, + { + "name": "smap", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "avx512dq", + "type": "bool" + }, + { + "name": "ssse3", + "type": "bool" + }, + { + "name": "pmm-en", + "type": "bool" + }, + { + "name": "npt", + "type": "bool" + }, + { + "name": "kvm-pv-tlb-flush", + "type": "bool" + }, + { + "name": "tsc", + "type": "bool" + }, + { + "name": "monitor", + "type": "bool" + }, + { + "name": "f16c", + "type": "bool" + }, + { + "name": "sse2", + "type": "bool" + }, + { + "name": "rdpid", + "type": "bool" + }, + { + "name": "mce", + "type": "bool" + }, + { + "name": "full-cpuid-auto-level", + "type": "bool" + }, + { + "name": "xtpr", + "type": "bool" + }, + { + "name": "mca", + "type": "bool" + }, + { + "name": "cid", + "type": "bool" + }, + { + "name": "tm", + "type": "bool" + }, + { + "name": "pku", + "type": "bool" + }, + { + "name": "avx512vnni", + "type": "bool" + }, + { + "name": "tce", + "type": "bool" + }, + { + "name": "kvmclock", + "type": "bool" + }, + { + "name": "sse4a", + "type": "bool" + }, + { + "name": "ds", + "type": "bool" + }, + { + "name": "lahf-lm", + "type": "bool" + }, + { + "name": "xsaves", + "type": "bool" + }, + { + "name": "clflushopt", + "type": "bool" + }, + { + "name": "kvm", + "type": "bool" + }, + { + "name": "ss", + "type": "bool" + }, + { + "name": "flushbyasid", + "type": "bool" + }, + { + "name": "pause_filter", + "type": "bool" + }, + { + "name": "de", + "type": "bool" + }, + { + "name": "est", + "type": "bool" + }, + { + "name": "check", + "type": "bool" + }, + { + "name": "lahf_lm", + "type": "bool" + }, + { + "name": "dtes64", + "type": "bool" + }, + { + "name": "vmx", + "type": "bool" + }, + { + "name": "xsavec", + "type": "bool" + }, + { + "name": "svm-lock", + "type": "bool" + }, + { + "name": "avx512ifma", + "type": "bool" + }, + { + "name": "clflush", + "type": "bool" + }, + { + "name": "rdseed", + "type": "bool" + }, + { + "name": "avx512cd", + "type": "bool" + }, + { + "name": "xsaveopt", + "type": "bool" + }, + { + "name": "tbm", + "type": "bool" + }, + { + "name": "ace2", + "type": "bool" + }, + { + "name": "vme", + "type": "bool" + }, + { + "name": "kvm_asyncpf", + "type": "bool" + }, + { + "name": "hv-vapic", + "type": "bool" + }, + { + "name": "parent_bus", + "type": "link<bus>" + }, + { + "name": "lmce", + "type": "bool" + }, + { + "name": "hv-reset", + "type": "bool" + }, + { + "name": "hv-runtime", + "type": "bool" + }, + { + "name": "avx512bw", + "type": "bool" + }, + { + "name": "xcrypt", + "type": "bool" + }, + { + "name": "fpu", + "type": "bool" + }, + { + "name": "fxsr", + "type": "bool" + }, + { + "name": "ds-cpl", + "type": "bool" + }, + { + "name": "kvm-pv-eoi", + "type": "bool" + }, + { + "name": "hle", + "type": "bool" + }, + { + "name": "cx8", + "type": "bool" + }, + { + "name": "mpx", + "type": "bool" + }, + { + "name": "invpcid", + "type": "bool" + }, + { + "name": "pcommit", + "type": "bool" + }, + { + "name": "arat", + "type": "bool" + }, + { + "name": "sse", + "type": "bool" + }, + { + "name": "syscall", + "type": "bool" + }, + { + "name": "tsc_scale", + "type": "bool" + }, + { + "name": "xlevel2", + "type": "uint32" + }, + { + "name": "hv-time", + "type": "bool" + }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, + { + "name": "osvw", + "type": "bool" + }, + { + "name": "perfctr-nb", + "type": "bool" + }, + { + "name": "rtm", + "type": "bool" + }, + { + "name": "avx512-4fmaps", + "type": "bool" + }, + { + "name": "avx2", + "type": "bool" + }, + { + "name": "perfctr_nb", + "type": "bool" + }, + { + "name": "kvm-nopiodelay", + "type": "bool" + }, + { + "name": "phys-bits", + "type": "uint32" + }, + { + "name": "avx512pf", + "type": "bool" + }, + { + "name": "level", + "type": "uint32" + }, + { + "name": "osxsave", + "type": "bool" + }, + { + "name": "cpuid-0xb", + "type": "bool" + }, + { + "name": "tsc-deadline", + "type": "bool" + }, + { + "name": "xgetbv1", + "type": "bool" + }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "popcnt", + "type": "bool" + }, + { + "name": "umip", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "phe", + "type": "bool" + }, + { + "name": "cmp-legacy", + "type": "bool" + }, + { + "name": "dca", + "type": "bool" + }, + { + "name": "acpi", + "type": "bool" + }, + { + "name": "pn", + "type": "bool" + }, + { + "name": "model-id", + "type": "string" + }, + { + "name": "crash-information", + "type": "GuestPanicInformation" + }, + { + "name": "tsc-scale", + "type": "bool" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "cx16", + "type": "bool" + }, + { + "name": "mmx", + "type": "bool" + }, + { + "name": "topoext", + "type": "bool" + }, + { + "name": "pge", + "type": "bool" + }, + { + "name": "fsgsbase", + "type": "bool" + }, + { + "name": "pclmuldq", + "type": "bool" + }, + { + "name": "misalignsse", + "type": "bool" + }, + { + "name": "phe-en", + "type": "bool" + }, + { + "name": "fma", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-machines", + "id": "libvirt-38" +} + { "return": [ { @@ -4962,12 +5992,12 @@ "cpu-max": 255 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-cpu-definitions", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5481,12 +6511,12 @@ "migration-safe": true } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -5494,12 +6524,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -5507,12 +6537,12 @@ "passthrough", "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -6799,12 +7829,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -6866,12 +7896,12 @@ "capability": "dirty-bitmaps" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { "execute": "query-qmp-schema", - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -18239,7 +19269,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -18250,7 +19280,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -18440,7 +19470,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -18632,7 +19662,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -18887,7 +19917,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -18901,7 +19931,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19091,7 +20121,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19283,7 +20313,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -19538,12 +20568,12 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { "execute": "query-sev-capabilities", - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -19553,7 +20583,7 @@ "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA", "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA" }, - "id": "libvirt-48" + "id": "libvirt-49" } { diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies index d5f40bd1d4..b618f8c741 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies @@ -4893,10 +4893,1072 @@ } { - "execute": "query-machines", + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, "id": "libvirt-37" } +{ + "return": [ + { + "name": "min-xlevel2", + "type": "uint32" + }, + { + "name": "amd-ssbd", + "type": "bool" + }, + { + "name": "vendor", + "type": "string" + }, + { + "name": "gfni", + "type": "bool" + }, + { + "name": "clwb", + "type": "bool" + }, + { + "name": "nx", + "type": "bool" + }, + { + "name": "x2apic", + "type": "bool" + }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "min-level", + "type": "uint32" + }, + { + "name": "fxsr-opt", + "type": "bool" + }, + { + "name": "skinit", + "type": "bool" + }, + { + "name": "avx", + "type": "bool" + }, + { + "name": "3dnowext", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "hv-crash", + "type": "bool" + }, + { + "name": "hypervisor", + "type": "bool" + }, + { + "name": "enforce", + "type": "bool" + }, + { + "name": "stepping", + "type": "int" + }, + { + "name": "sse4_2", + "type": "bool" + }, + { + "name": "sse4_1", + "type": "bool" + }, + { + "name": "x-hv-max-vps", + "type": "int32" + }, + { + "name": "hv-frequencies", + "type": "bool" + }, + { + "name": "kvm-hint-dedicated", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, + { + "name": "tm2", + "type": "bool" + }, + { + "name": "smx", + "type": "bool" + }, + { + "name": "host-cache-info", + "type": "bool" + }, + { + "name": "hv-vendor-id", + "type": "str" + }, + { + "name": "movbe", + "type": "bool" + }, + { + "name": "3dnowprefetch", + "type": "bool" + }, + { + "name": "mtrr", + "type": "bool" + }, + { + "name": "wdt", + "type": "bool" + }, + { + "name": "thread-id", + "type": "int32" + }, + { + "name": "aes", + "type": "bool" + }, + { + "name": "apic-id", + "type": "uint32" + }, + { + "name": "lm", + "type": "bool" + }, + { + "name": "family", + "type": "int" + }, + { + "name": "tsc-adjust", + "type": "bool" + }, + { + "name": "pfthreshold", + "type": "bool" + }, + { + "name": "kvm-no-smi-migration", + "type": "bool" + }, + { + "name": "amd-no-ssb", + "type": "bool" + }, + { + "name": "pse", + "type": "bool" + }, + { + "name": "filtered-features", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "hv-vpindex", + "type": "bool" + }, + { + "name": "adx", + "type": "bool" + }, + { + "name": "avx512bitalg", + "type": "bool" + }, + { + "name": "i64", + "type": "bool" + }, + { + "name": "vaes", + "type": "bool" + }, + { + "name": "ia64", + "type": "bool" + }, + { + "name": "nodeid-msr", + "type": "bool" + }, + { + "name": "ibpb", + "type": "bool" + }, + { + "name": "hv-synic", + "type": "bool" + }, + { + "name": "ibs", + "type": "bool" + }, + { + "name": "kvm_mmu", + "type": "bool" + }, + { + "name": "tcg-cpuid", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, + { + "name": "kvm_nopiodelay", + "type": "bool" + }, + { + "name": "lbrv", + "type": "bool" + }, + { + "name": "rdtscp", + "type": "bool" + }, + { + "name": "memory", + "type": "link<qemu:memory-region>" + }, + { + "name": "avx512vbmi2", + "type": "bool" + }, + { + "name": "ace2-en", + "type": "bool" + }, + { + "name": "invtsc", + "type": "bool" + }, + { + "name": "sse4.2", + "type": "bool" + }, + { + "name": "sse4.1", + "type": "bool" + }, + { + "name": "pbe", + "type": "bool" + }, + { + "name": "rdrand", + "type": "bool" + }, + { + "name": "socket-id", + "type": "int32" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "l3-cache", + "type": "bool" + }, + { + "name": "kvm-steal-time", + "type": "bool" + }, + { + "name": "vmware-cpuid-freq", + "type": "bool" + }, + { + "name": "legacy-cache", + "type": "bool" + }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "fill-mtrr-mask", + "type": "bool" + }, + { + "name": "core-id", + "type": "int32" + }, + { + "name": "intel-pt", + "type": "bool" + }, + { + "name": "pat", + "type": "bool" + }, + { + "name": "pcid", + "type": "bool" + }, + { + "name": "pclmulqdq", + "type": "bool" + }, + { + "name": "sse4-2", + "type": "bool" + }, + { + "name": "sse4-1", + "type": "bool" + }, + { + "name": "sha-ni", + "type": "bool" + }, + { + "name": "cmov", + "type": "bool" + }, + { + "name": "pae", + "type": "bool" + }, + { + "name": "smep", + "type": "bool" + }, + { + "name": "virt-ssbd", + "type": "bool" + }, + { + "name": "abm", + "type": "bool" + }, + { + "name": "xstore", + "type": "bool" + }, + { + "name": "tsc_adjust", + "type": "bool" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "kvm-asyncpf", + "type": "bool" + }, + { + "name": "pdpe1gb", + "type": "bool" + }, + { + "name": "min-xlevel", + "type": "uint32" + }, + { + "name": "kvm-mmu", + "type": "bool" + }, + { + "name": "kvm-pv-unhalt", + "type": "bool" + }, + { + "name": "avx512f", + "type": "bool" + }, + { + "name": "avx512vbmi", + "type": "bool" + }, + { + "name": "avx512-4vnniw", + "type": "bool" + }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "mmxext", + "type": "bool" + }, + { + "name": "decodeassists", + "type": "bool" + }, + { + "name": "ht", + "type": "bool" + }, + { + "name": "xsave", + "type": "bool" + }, + { + "name": "perfctr_core", + "type": "bool" + }, + { + "name": "feature-words", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "migratable", + "type": "bool" + }, + { + "name": "3dnow", + "type": "bool" + }, + { + "name": "spec-ctrl", + "type": "bool" + }, + { + "name": "model", + "type": "int" + }, + { + "name": "nrip-save", + "type": "bool" + }, + { + "name": "lwp", + "type": "bool" + }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "avx512vl", + "type": "bool" + }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, + { + "name": "bmi2", + "type": "bool" + }, + { + "name": "bmi1", + "type": "bool" + }, + { + "name": "la57", + "type": "bool" + }, + { + "name": "ffxsr", + "type": "bool" + }, + { + "name": "vmcb-clean", + "type": "bool" + }, + { + "name": "pause-filter", + "type": "bool" + }, + { + "name": "pni", + "type": "bool" + }, + { + "name": "kvm_steal_time", + "type": "bool" + }, + { + "name": "svm_lock", + "type": "bool" + }, + { + "name": "pse36", + "type": "bool" + }, + { + "name": "hv-stimer", + "type": "bool" + }, + { + "name": "host-phys-bits", + "type": "bool" + }, + { + "name": "extapic", + "type": "bool" + }, + { + "name": "hv-spinlocks", + "type": "int" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "pmm", + "type": "bool" + }, + { + "name": "vpclmulqdq", + "type": "bool" + }, + { + "name": "avx512-vpopcntdq", + "type": "bool" + }, + { + "name": "avx512er", + "type": "bool" + }, + { + "name": "pdcm", + "type": "bool" + }, + { + "name": "svm", + "type": "bool" + }, + { + "name": "apic", + "type": "bool" + }, + { + "name": "xcrypt-en", + "type": "bool" + }, + { + "name": "cr8legacy", + "type": "bool" + }, + { + "name": "fma4", + "type": "bool" + }, + { + "name": "erms", + "type": "bool" + }, + { + "name": "msr", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, + { + "name": "xlevel", + "type": "uint32" + }, + { + "name": "sep", + "type": "bool" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hv-relaxed", + "type": "bool" + }, + { + "name": "cldemote", + "type": "bool" + }, + { + "name": "perfctr-core", + "type": "bool" + }, + { + "name": "avx512vnni", + "type": "bool" + }, + { + "name": "smap", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "avx512dq", + "type": "bool" + }, + { + "name": "ssse3", + "type": "bool" + }, + { + "name": "pmm-en", + "type": "bool" + }, + { + "name": "npt", + "type": "bool" + }, + { + "name": "kvm-pv-tlb-flush", + "type": "bool" + }, + { + "name": "tsc", + "type": "bool" + }, + { + "name": "monitor", + "type": "bool" + }, + { + "name": "f16c", + "type": "bool" + }, + { + "name": "sse2", + "type": "bool" + }, + { + "name": "rdpid", + "type": "bool" + }, + { + "name": "mce", + "type": "bool" + }, + { + "name": "full-cpuid-auto-level", + "type": "bool" + }, + { + "name": "xtpr", + "type": "bool" + }, + { + "name": "mca", + "type": "bool" + }, + { + "name": "cid", + "type": "bool" + }, + { + "name": "tm", + "type": "bool" + }, + { + "name": "pku", + "type": "bool" + }, + { + "name": "hv-tlbflush", + "type": "bool" + }, + { + "name": "ds", + "type": "bool" + }, + { + "name": "kvmclock", + "type": "bool" + }, + { + "name": "tce", + "type": "bool" + }, + { + "name": "sse4a", + "type": "bool" + }, + { + "name": "lahf-lm", + "type": "bool" + }, + { + "name": "xsaves", + "type": "bool" + }, + { + "name": "clflushopt", + "type": "bool" + }, + { + "name": "kvm", + "type": "bool" + }, + { + "name": "ss", + "type": "bool" + }, + { + "name": "flushbyasid", + "type": "bool" + }, + { + "name": "md-clear", + "type": "bool" + }, + { + "name": "pause_filter", + "type": "bool" + }, + { + "name": "de", + "type": "bool" + }, + { + "name": "est", + "type": "bool" + }, + { + "name": "check", + "type": "bool" + }, + { + "name": "lahf_lm", + "type": "bool" + }, + { + "name": "dtes64", + "type": "bool" + }, + { + "name": "vmx", + "type": "bool" + }, + { + "name": "xsavec", + "type": "bool" + }, + { + "name": "svm-lock", + "type": "bool" + }, + { + "name": "avx512ifma", + "type": "bool" + }, + { + "name": "clflush", + "type": "bool" + }, + { + "name": "rdseed", + "type": "bool" + }, + { + "name": "avx512cd", + "type": "bool" + }, + { + "name": "xsaveopt", + "type": "bool" + }, + { + "name": "tbm", + "type": "bool" + }, + { + "name": "ace2", + "type": "bool" + }, + { + "name": "vme", + "type": "bool" + }, + { + "name": "kvm_asyncpf", + "type": "bool" + }, + { + "name": "hv-vapic", + "type": "bool" + }, + { + "name": "parent_bus", + "type": "link<bus>" + }, + { + "name": "lmce", + "type": "bool" + }, + { + "name": "x-migrate-smi-count", + "type": "bool" + }, + { + "name": "hv-reset", + "type": "bool" + }, + { + "name": "hv-runtime", + "type": "bool" + }, + { + "name": "ssbd", + "type": "bool" + }, + { + "name": "avx512bw", + "type": "bool" + }, + { + "name": "xcrypt", + "type": "bool" + }, + { + "name": "fpu", + "type": "bool" + }, + { + "name": "fxsr", + "type": "bool" + }, + { + "name": "ds-cpl", + "type": "bool" + }, + { + "name": "kvm-pv-eoi", + "type": "bool" + }, + { + "name": "hle", + "type": "bool" + }, + { + "name": "cx8", + "type": "bool" + }, + { + "name": "mpx", + "type": "bool" + }, + { + "name": "invpcid", + "type": "bool" + }, + { + "name": "pcommit", + "type": "bool" + }, + { + "name": "arat", + "type": "bool" + }, + { + "name": "sse", + "type": "bool" + }, + { + "name": "syscall", + "type": "bool" + }, + { + "name": "tsc_scale", + "type": "bool" + }, + { + "name": "xlevel2", + "type": "uint32" + }, + { + "name": "hv-time", + "type": "bool" + }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, + { + "name": "osvw", + "type": "bool" + }, + { + "name": "perfctr-nb", + "type": "bool" + }, + { + "name": "rtm", + "type": "bool" + }, + { + "name": "avx512-4fmaps", + "type": "bool" + }, + { + "name": "avx2", + "type": "bool" + }, + { + "name": "perfctr_nb", + "type": "bool" + }, + { + "name": "kvm-nopiodelay", + "type": "bool" + }, + { + "name": "avx512pf", + "type": "bool" + }, + { + "name": "level", + "type": "uint32" + }, + { + "name": "phys-bits", + "type": "uint32" + }, + { + "name": "cpuid-0xb", + "type": "bool" + }, + { + "name": "tsc-deadline", + "type": "bool" + }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "xgetbv1", + "type": "bool" + }, + { + "name": "popcnt", + "type": "bool" + }, + { + "name": "umip", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "phe", + "type": "bool" + }, + { + "name": "cmp-legacy", + "type": "bool" + }, + { + "name": "dca", + "type": "bool" + }, + { + "name": "acpi", + "type": "bool" + }, + { + "name": "pn", + "type": "bool" + }, + { + "name": "model-id", + "type": "string" + }, + { + "name": "crash-information", + "type": "GuestPanicInformation" + }, + { + "name": "tsc-scale", + "type": "bool" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "hv-reenlightenment", + "type": "bool" + }, + { + "name": "cx16", + "type": "bool" + }, + { + "name": "mmx", + "type": "bool" + }, + { + "name": "topoext", + "type": "bool" + }, + { + "name": "pge", + "type": "bool" + }, + { + "name": "fsgsbase", + "type": "bool" + }, + { + "name": "pclmuldq", + "type": "bool" + }, + { + "name": "misalignsse", + "type": "bool" + }, + { + "name": "phe-en", + "type": "bool" + }, + { + "name": "fma", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-machines", + "id": "libvirt-38" +} + { "return": [ { @@ -5103,12 +6165,12 @@ "cpu-max": 255 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-cpu-definitions", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5545,12 +6607,12 @@ "migration-safe": true } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -5558,12 +6620,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -5571,12 +6633,12 @@ "passthrough", "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -6875,12 +7937,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -6950,12 +8012,12 @@ "capability": "late-block-activate" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { "execute": "query-qmp-schema", - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -18835,7 +19897,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -18846,7 +19908,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -19039,7 +20101,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -19234,7 +20296,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19497,7 +20559,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19511,7 +20573,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19704,7 +20766,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19899,7 +20961,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20162,16 +21224,16 @@ } } }, - "id": "libvirt-47" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-48" } { - "id": "libvirt-48", + "execute": "query-sev-capabilities", + "id": "libvirt-49" +} + +{ + "id": "libvirt-49", "error": { "class": "GenericError", "desc": "SEV feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies index 7567ee6f42..2b3827db9a 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies @@ -4956,10 +4956,1120 @@ } { - "execute": "query-machines", + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, "id": "libvirt-37" } +{ + "return": [ + { + "name": "type", + "type": "string" + }, + { + "name": "sse4_1", + "type": "bool" + }, + { + "name": "popcnt", + "type": "bool" + }, + { + "name": "kvm_mmu", + "type": "bool" + }, + { + "name": "dtes64", + "type": "bool" + }, + { + "name": "min-xlevel2", + "type": "uint32" + }, + { + "name": "xstore", + "type": "bool" + }, + { + "name": "stepping", + "type": "int" + }, + { + "name": "pse36", + "type": "bool" + }, + { + "name": "avx512-4vnniw", + "type": "bool" + }, + { + "name": "fma4", + "type": "bool" + }, + { + "name": "avx2", + "type": "bool" + }, + { + "name": "kvm_nopiodelay", + "type": "bool" + }, + { + "name": "family", + "type": "int" + }, + { + "name": "pclmuldq", + "type": "bool" + }, + { + "name": "vmware-cpuid-freq", + "type": "bool" + }, + { + "name": "hv-spinlocks", + "type": "int" + }, + { + "name": "erms", + "type": "bool" + }, + { + "name": "vaes", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "hv-reset", + "type": "bool" + }, + { + "name": "rdrand", + "type": "bool" + }, + { + "name": "model", + "type": "int" + }, + { + "name": "avx512-vpopcntdq", + "type": "bool" + }, + { + "name": "xcrypt", + "type": "bool" + }, + { + "name": "tbm", + "type": "bool" + }, + { + "name": "memory", + "type": "link<qemu:memory-region>" + }, + { + "name": "kvm-pv-eoi", + "type": "bool" + }, + { + "name": "lm", + "type": "bool" + }, + { + "name": "pae", + "type": "bool" + }, + { + "name": "ssse3", + "type": "bool" + }, + { + "name": "hv-runtime", + "type": "bool" + }, + { + "name": "phe", + "type": "bool" + }, + { + "name": "host-phys-bits", + "type": "bool" + }, + { + "name": "perfctr_nb", + "type": "bool" + }, + { + "name": "arat", + "type": "bool" + }, + { + "name": "avx512vbmi2", + "type": "bool" + }, + { + "name": "perfctr_core", + "type": "bool" + }, + { + "name": "kvm_asyncpf", + "type": "bool" + }, + { + "name": "x2apic", + "type": "bool" + }, + { + "name": "npt", + "type": "bool" + }, + { + "name": "avx512ifma", + "type": "bool" + }, + { + "name": "model-id", + "type": "string" + }, + { + "name": "hv-evmcs", + "type": "bool" + }, + { + "name": "tsc", + "type": "bool" + }, + { + "name": "pmm-en", + "type": "bool" + }, + { + "name": "dca", + "type": "bool" + }, + { + "name": "ia64", + "type": "bool" + }, + { + "name": "perfctr-core", + "type": "bool" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "kvmclock", + "type": "bool" + }, + { + "name": "pn", + "type": "bool" + }, + { + "name": "pconfig", + "type": "bool" + }, + { + "name": "invtsc", + "type": "bool" + }, + { + "name": "avx512cd", + "type": "bool" + }, + { + "name": "md-clear", + "type": "bool" + }, + { + "name": "cmp-legacy", + "type": "bool" + }, + { + "name": "cx16", + "type": "bool" + }, + { + "name": "avx512dq", + "type": "bool" + }, + { + "name": "abm", + "type": "bool" + }, + { + "name": "kvm-pv-ipi", + "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": "filtered-features", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "syscall", + "type": "bool" + }, + { + "name": "pse", + "type": "bool" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "tsc_scale", + "type": "bool" + }, + { + "name": "mce", + "type": "bool" + }, + { + "name": "xsaves", + "type": "bool" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "ibpb", + "type": "bool" + }, + { + "name": "cldemote", + "type": "bool" + }, + { + "name": "hv-tlbflush", + "type": "bool" + }, + { + "name": "rtm", + "type": "bool" + }, + { + "name": "lwp", + "type": "bool" + }, + { + "name": "kvm-steal-time", + "type": "bool" + }, + { + "name": "cpuid-0xb", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, + { + "name": "vme", + "type": "bool" + }, + { + "name": "kvm-pv-unhalt", + "type": "bool" + }, + { + "name": "kvm-no-smi-migration", + "type": "bool" + }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, + { + "name": "svm", + "type": "bool" + }, + { + "name": "lahf-lm", + "type": "bool" + }, + { + "name": "kvm-hint-dedicated", + "type": "bool" + }, + { + "name": "host-cache-info", + "type": "bool" + }, + { + "name": "mca", + "type": "bool" + }, + { + "name": "mtrr", + "type": "bool" + }, + { + "name": "cid", + "type": "bool" + }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "pfthreshold", + "type": "bool" + }, + { + "name": "pmm", + "type": "bool" + }, + { + "name": "tcg-cpuid", + "type": "bool" + }, + { + "name": "x-hv-max-vps", + "type": "int32" + }, + { + "name": "tm", + "type": "bool" + }, + { + "name": "pbe", + "type": "bool" + }, + { + "name": "apic-id", + "type": "uint32" + }, + { + "name": "fpu", + "type": "bool" + }, + { + "name": "l3-cache", + "type": "bool" + }, + { + "name": "skinit", + "type": "bool" + }, + { + "name": "sep", + "type": "bool" + }, + { + "name": "nx", + "type": "bool" + }, + { + "name": "ds-cpl", + "type": "bool" + }, + { + "name": "pause-filter", + "type": "bool" + }, + { + "name": "pause_filter", + "type": "bool" + }, + { + "name": "nodeid-msr", + "type": "bool" + }, + { + "name": "smap", + "type": "bool" + }, + { + "name": "xlevel", + "type": "uint32" + }, + { + "name": "cr8legacy", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, + { + "name": "virt-ssbd", + "type": "bool" + }, + { + "name": "umip", + "type": "bool" + }, + { + "name": "avx512er", + "type": "bool" + }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "avx512vl", + "type": "bool" + }, + { + "name": "rsba", + "type": "bool" + }, + { + "name": "cmov", + "type": "bool" + }, + { + "name": "xcrypt-en", + "type": "bool" + }, + { + "name": "tm2", + "type": "bool" + }, + { + "name": "hv-frequencies", + "type": "bool" + }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "fsgsbase", + "type": "bool" + }, + { + "name": "x-hv-synic-kvm-only", + "type": "bool" + }, + { + "name": "avx512bw", + "type": "bool" + }, + { + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "smx", + "type": "bool" + }, + { + "name": "lbrv", + "type": "bool" + }, + { + "name": "hle", + "type": "bool" + }, + { + "name": "monitor", + "type": "bool" + }, + { + "name": "tce", + "type": "bool" + }, + { + "name": "sse4a", + "type": "bool" + }, + { + "name": "vpclmulqdq", + "type": "bool" + }, + { + "name": "tsc-scale", + "type": "bool" + }, + { + "name": "kvm-pv-tlb-flush", + "type": "bool" + }, + { + "name": "i64", + "type": "bool" + }, + { + "name": "adx", + "type": "bool" + }, + { + "name": "crash-information", + "type": "GuestPanicInformation" + }, + { + "name": "ffxsr", + "type": "bool" + }, + { + "name": "amd-no-ssb", + "type": "bool" + }, + { + "name": "min-level", + "type": "uint32" + }, + { + "name": "full-cpuid-auto-level", + "type": "bool" + }, + { + "name": "svm_lock", + "type": "bool" + }, + { + "name": "ssb-no", + "type": "bool" + }, + { + "name": "msr", + "type": "bool" + }, + { + "name": "clflush", + "type": "bool" + }, + { + "name": "pclmulqdq", + "type": "bool" + }, + { + "name": "xlevel2", + "type": "uint32" + }, + { + "name": "mpx", + "type": "bool" + }, + { + "name": "extapic", + "type": "bool" + }, + { + "name": "hv-stimer", + "type": "bool" + }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "smep", + "type": "bool" + }, + { + "name": "xsavec", + "type": "bool" + }, + { + "name": "hv-synic", + "type": "bool" + }, + { + "name": "cx8", + "type": "bool" + }, + { + "name": "pku", + "type": "bool" + }, + { + "name": "kvm", + "type": "bool" + }, + { + "name": "sse4-2", + "type": "bool" + }, + { + "name": "vmcb-clean", + "type": "bool" + }, + { + "name": "hv-reenlightenment", + "type": "bool" + }, + { + "name": "svm-lock", + "type": "bool" + }, + { + "name": "sse4-1", + "type": "bool" + }, + { + "name": "lahf_lm", + "type": "bool" + }, + { + "name": "legacy-cache", + "type": "bool" + }, + { + "name": "sse", + "type": "bool" + }, + { + "name": "hv-vpindex", + "type": "bool" + }, + { + "name": "ds", + "type": "bool" + }, + { + "name": "osvw", + "type": "bool" + }, + { + "name": "kvm_steal_time", + "type": "bool" + }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, + { + "name": "acpi", + "type": "bool" + }, + { + "name": "nrip-save", + "type": "bool" + }, + { + "name": "gfni", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, + { + "name": "kvm-mmu", + "type": "bool" + }, + { + "name": "avx512bitalg", + "type": "bool" + }, + { + "name": "rdseed", + "type": "bool" + }, + { + "name": "sha-ni", + "type": "bool" + }, + { + "name": "ace2", + "type": "bool" + }, + { + "name": "lmce", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "f16c", + "type": "bool" + }, + { + "name": "3dnowprefetch", + "type": "bool" + }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "avx", + "type": "bool" + }, + { + "name": "topoext", + "type": "bool" + }, + { + "name": "avx512vnni", + "type": "bool" + }, + { + "name": "rdctl-no", + "type": "bool" + }, + { + "name": "mmx", + "type": "bool" + }, + { + "name": "avx512-4fmaps", + "type": "bool" + }, + { + "name": "level", + "type": "uint32" + }, + { + "name": "sse2", + "type": "bool" + }, + { + "name": "pni", + "type": "bool" + }, + { + "name": "movbe", + "type": "bool" + }, + { + "name": "mmxext", + "type": "bool" + }, + { + "name": "flushbyasid", + "type": "bool" + }, + { + "name": "rdtscp", + "type": "bool" + }, + { + "name": "clwb", + "type": "bool" + }, + { + "name": "kvm-asyncpf", + "type": "bool" + }, + { + "name": "decodeassists", + "type": "bool" + }, + { + "name": "pat", + "type": "bool" + }, + { + "name": "invpcid", + "type": "bool" + }, + { + "name": "pdpe1gb", + "type": "bool" + }, + { + "name": "parent_bus", + "type": "link<bus>" + }, + { + "name": "tsc-adjust", + "type": "bool" + }, + { + "name": "ht", + "type": "bool" + }, + { + "name": "xtpr", + "type": "bool" + }, + { + "name": "tsc_adjust", + "type": "bool" + }, + { + "name": "ssbd", + "type": "bool" + }, + { + "name": "3dnowext", + "type": "bool" + }, + { + "name": "clflushopt", + "type": "bool" + }, + { + "name": "hv-vendor-id", + "type": "str" + }, + { + "name": "xsave", + "type": "bool" + }, + { + "name": "pdcm", + "type": "bool" + }, + { + "name": "hv-crash", + "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": "misalignsse", + "type": "bool" + }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, + { + "name": "check", + "type": "bool" + }, + { + "name": "hv-time", + "type": "bool" + }, + { + "name": "perfctr-nb", + "type": "bool" + }, + { + "name": "migratable", + "type": "bool" + }, + { + "name": "feature-words", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "phys-bits", + "type": "uint32" + }, + { + "name": "apic", + "type": "bool" + }, + { + "name": "avx512vbmi", + "type": "bool" + }, + { + "name": "thread-id", + "type": "int32" + }, + { + "name": "min-xlevel", + "type": "uint32" + }, + { + "name": "socket-id", + "type": "int32" + }, + { + "name": "avx512f", + "type": "bool" + }, + { + "name": "arch-capabilities", + "type": "bool" + }, + { + "name": "bmi2", + "type": "bool" + }, + { + "name": "intel-pt", + "type": "bool" + }, + { + "name": "wdt", + "type": "bool" + }, + { + "name": "ace2-en", + "type": "bool" + }, + { + "name": "avx512pf", + "type": "bool" + }, + { + "name": "bmi1", + "type": "bool" + }, + { + "name": "enforce", + "type": "bool" + }, + { + "name": "kvm-nopiodelay", + "type": "bool" + }, + { + "name": "sse4.2", + "type": "bool" + }, + { + "name": "ibrs-all", + "type": "bool" + }, + { + "name": "3dnow", + "type": "bool" + }, + { + "name": "vmx", + "type": "bool" + }, + { + "name": "la57", + "type": "bool" + }, + { + "name": "xsaveopt", + "type": "bool" + }, + { + "name": "sse4.1", + "type": "bool" + }, + { + "name": "xgetbv1", + "type": "bool" + }, + { + "name": "hv-relaxed", + "type": "bool" + }, + { + "name": "spec-ctrl", + "type": "bool" + }, + { + "name": "fxsr", + "type": "bool" + }, + { + "name": "hv-vapic", + "type": "bool" + }, + { + "name": "phe-en", + "type": "bool" + }, + { + "name": "hv-ipi", + "type": "bool" + }, + { + "name": "sse4_2", + "type": "bool" + }, + { + "name": "hypervisor", + "type": "bool" + }, + { + "name": "aes", + "type": "bool" + }, + { + "name": "amd-ssbd", + "type": "bool" + }, + { + "name": "core-id", + "type": "int32" + }, + { + "name": "de", + "type": "bool" + }, + { + "name": "ss", + "type": "bool" + }, + { + "name": "fma", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-machines", + "id": "libvirt-38" +} + { "return": [ { @@ -5176,12 +6286,12 @@ "cpu-max": 255 } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-cpu-definitions", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5700,12 +6810,12 @@ "migration-safe": true } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -5713,12 +6823,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -5726,12 +6836,12 @@ "passthrough", "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -7005,12 +8115,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -7080,12 +8190,12 @@ "capability": "late-block-activate" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { "execute": "query-qmp-schema", - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19270,7 +20380,7 @@ "meta-type": "object" } ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19281,7 +20391,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -19483,7 +20593,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -19687,7 +20797,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19962,7 +21072,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19976,7 +21086,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20178,7 +21288,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20382,7 +21492,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20657,16 +21767,16 @@ } } }, - "id": "libvirt-47" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-48" } { - "id": "libvirt-48", + "execute": "query-sev-capabilities", + "id": "libvirt-49" +} + +{ + "id": "libvirt-49", "error": { "class": "GenericError", "desc": "SEV feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies index 52a2825505..26d2d65989 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies @@ -5189,10 +5189,1136 @@ } { - "execute": "query-machines", + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, "id": "libvirt-37" } +{ + "return": [ + { + "name": "type", + "type": "string" + }, + { + "name": "sse4_1", + "type": "bool" + }, + { + "name": "popcnt", + "type": "bool" + }, + { + "name": "kvm_mmu", + "type": "bool" + }, + { + "name": "dtes64", + "type": "bool" + }, + { + "name": "min-xlevel2", + "type": "uint32" + }, + { + "name": "xstore", + "type": "bool" + }, + { + "name": "stepping", + "type": "int" + }, + { + "name": "pse36", + "type": "bool" + }, + { + "name": "avx512-4vnniw", + "type": "bool" + }, + { + "name": "fma4", + "type": "bool" + }, + { + "name": "x-intel-pt-auto-level", + "type": "bool" + }, + { + "name": "avx2", + "type": "bool" + }, + { + "name": "kvm_nopiodelay", + "type": "bool" + }, + { + "name": "family", + "type": "int" + }, + { + "name": "pclmuldq", + "type": "bool" + }, + { + "name": "vmware-cpuid-freq", + "type": "bool" + }, + { + "name": "hv-spinlocks", + "type": "int" + }, + { + "name": "erms", + "type": "bool" + }, + { + "name": "vaes", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "hv-reset", + "type": "bool" + }, + { + "name": "rdrand", + "type": "bool" + }, + { + "name": "model", + "type": "int" + }, + { + "name": "avx512-vpopcntdq", + "type": "bool" + }, + { + "name": "tbm", + "type": "bool" + }, + { + "name": "xcrypt", + "type": "bool" + }, + { + "name": "movdiri", + "type": "bool" + }, + { + "name": "memory", + "type": "link<qemu:memory-region>" + }, + { + "name": "kvm-pv-eoi", + "type": "bool" + }, + { + "name": "lm", + "type": "bool" + }, + { + "name": "host-phys-bits-limit", + "type": "uint8" + }, + { + "name": "pae", + "type": "bool" + }, + { + "name": "ssse3", + "type": "bool" + }, + { + "name": "hv-runtime", + "type": "bool" + }, + { + "name": "phe", + "type": "bool" + }, + { + "name": "host-phys-bits", + "type": "bool" + }, + { + "name": "perfctr_nb", + "type": "bool" + }, + { + "name": "arat", + "type": "bool" + }, + { + "name": "avx512vbmi2", + "type": "bool" + }, + { + "name": "perfctr_core", + "type": "bool" + }, + { + "name": "kvm_asyncpf", + "type": "bool" + }, + { + "name": "x2apic", + "type": "bool" + }, + { + "name": "npt", + "type": "bool" + }, + { + "name": "avx512ifma", + "type": "bool" + }, + { + "name": "model-id", + "type": "string" + }, + { + "name": "hv-evmcs", + "type": "bool" + }, + { + "name": "tsc", + "type": "bool" + }, + { + "name": "pmm-en", + "type": "bool" + }, + { + "name": "dca", + "type": "bool" + }, + { + "name": "ia64", + "type": "bool" + }, + { + "name": "perfctr-core", + "type": "bool" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "kvmclock", + "type": "bool" + }, + { + "name": "invtsc", + "type": "bool" + }, + { + "name": "pn", + "type": "bool" + }, + { + "name": "avx512cd", + "type": "bool" + }, + { + "name": "md-clear", + "type": "bool" + }, + { + "name": "cmp-legacy", + "type": "bool" + }, + { + "name": "cx16", + "type": "bool" + }, + { + "name": "avx512dq", + "type": "bool" + }, + { + "name": "abm", + "type": "bool" + }, + { + "name": "kvm-pv-ipi", + "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": "filtered-features", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "syscall", + "type": "bool" + }, + { + "name": "pse", + "type": "bool" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "tsc_scale", + "type": "bool" + }, + { + "name": "xsaves", + "type": "bool" + }, + { + "name": "mce", + "type": "bool" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "ibpb", + "type": "bool" + }, + { + "name": "cldemote", + "type": "bool" + }, + { + "name": "hv-tlbflush", + "type": "bool" + }, + { + "name": "rtm", + "type": "bool" + }, + { + "name": "lwp", + "type": "bool" + }, + { + "name": "kvm-steal-time", + "type": "bool" + }, + { + "name": "cpuid-0xb", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, + { + "name": "vme", + "type": "bool" + }, + { + "name": "kvm-pv-unhalt", + "type": "bool" + }, + { + "name": "kvm-no-smi-migration", + "type": "bool" + }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, + { + "name": "svm", + "type": "bool" + }, + { + "name": "lahf-lm", + "type": "bool" + }, + { + "name": "kvm-hint-dedicated", + "type": "bool" + }, + { + "name": "host-cache-info", + "type": "bool" + }, + { + "name": "mca", + "type": "bool" + }, + { + "name": "mtrr", + "type": "bool" + }, + { + "name": "cid", + "type": "bool" + }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "pfthreshold", + "type": "bool" + }, + { + "name": "pmm", + "type": "bool" + }, + { + "name": "tcg-cpuid", + "type": "bool" + }, + { + "name": "x-hv-max-vps", + "type": "int32" + }, + { + "name": "tm", + "type": "bool" + }, + { + "name": "pbe", + "type": "bool" + }, + { + "name": "apic-id", + "type": "uint32" + }, + { + "name": "fpu", + "type": "bool" + }, + { + "name": "l3-cache", + "type": "bool" + }, + { + "name": "skinit", + "type": "bool" + }, + { + "name": "sep", + "type": "bool" + }, + { + "name": "nx", + "type": "bool" + }, + { + "name": "ds-cpl", + "type": "bool" + }, + { + "name": "pause-filter", + "type": "bool" + }, + { + "name": "pause_filter", + "type": "bool" + }, + { + "name": "nodeid-msr", + "type": "bool" + }, + { + "name": "smap", + "type": "bool" + }, + { + "name": "xlevel", + "type": "uint32" + }, + { + "name": "cr8legacy", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, + { + "name": "virt-ssbd", + "type": "bool" + }, + { + "name": "umip", + "type": "bool" + }, + { + "name": "avx512er", + "type": "bool" + }, + { + "name": "avx512vl", + "type": "bool" + }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "rsba", + "type": "bool" + }, + { + "name": "cmov", + "type": "bool" + }, + { + "name": "xcrypt-en", + "type": "bool" + }, + { + "name": "tm2", + "type": "bool" + }, + { + "name": "hv-frequencies", + "type": "bool" + }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "fsgsbase", + "type": "bool" + }, + { + "name": "x-hv-synic-kvm-only", + "type": "bool" + }, + { + "name": "avx512bw", + "type": "bool" + }, + { + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "lbrv", + "type": "bool" + }, + { + "name": "smx", + "type": "bool" + }, + { + "name": "hle", + "type": "bool" + }, + { + "name": "monitor", + "type": "bool" + }, + { + "name": "sse4a", + "type": "bool" + }, + { + "name": "tce", + "type": "bool" + }, + { + "name": "vpclmulqdq", + "type": "bool" + }, + { + "name": "tsc-scale", + "type": "bool" + }, + { + "name": "kvm-pv-tlb-flush", + "type": "bool" + }, + { + "name": "i64", + "type": "bool" + }, + { + "name": "adx", + "type": "bool" + }, + { + "name": "crash-information", + "type": "GuestPanicInformation" + }, + { + "name": "ffxsr", + "type": "bool" + }, + { + "name": "amd-no-ssb", + "type": "bool" + }, + { + "name": "min-level", + "type": "uint32" + }, + { + "name": "full-cpuid-auto-level", + "type": "bool" + }, + { + "name": "svm_lock", + "type": "bool" + }, + { + "name": "ssb-no", + "type": "bool" + }, + { + "name": "msr", + "type": "bool" + }, + { + "name": "clflush", + "type": "bool" + }, + { + "name": "pclmulqdq", + "type": "bool" + }, + { + "name": "xlevel2", + "type": "uint32" + }, + { + "name": "mpx", + "type": "bool" + }, + { + "name": "extapic", + "type": "bool" + }, + { + "name": "hv-stimer", + "type": "bool" + }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "smep", + "type": "bool" + }, + { + "name": "pku", + "type": "bool" + }, + { + "name": "hv-synic", + "type": "bool" + }, + { + "name": "cx8", + "type": "bool" + }, + { + "name": "xsavec", + "type": "bool" + }, + { + "name": "kvm", + "type": "bool" + }, + { + "name": "sse4-2", + "type": "bool" + }, + { + "name": "vmcb-clean", + "type": "bool" + }, + { + "name": "stibp", + "type": "bool" + }, + { + "name": "hv-reenlightenment", + "type": "bool" + }, + { + "name": "svm-lock", + "type": "bool" + }, + { + "name": "sse4-1", + "type": "bool" + }, + { + "name": "lahf_lm", + "type": "bool" + }, + { + "name": "legacy-cache", + "type": "bool" + }, + { + "name": "sse", + "type": "bool" + }, + { + "name": "hv-vpindex", + "type": "bool" + }, + { + "name": "ds", + "type": "bool" + }, + { + "name": "osvw", + "type": "bool" + }, + { + "name": "kvm_steal_time", + "type": "bool" + }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, + { + "name": "movdir64b", + "type": "bool" + }, + { + "name": "acpi", + "type": "bool" + }, + { + "name": "nrip-save", + "type": "bool" + }, + { + "name": "gfni", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, + { + "name": "kvm-mmu", + "type": "bool" + }, + { + "name": "avx512bitalg", + "type": "bool" + }, + { + "name": "rdseed", + "type": "bool" + }, + { + "name": "sha-ni", + "type": "bool" + }, + { + "name": "ace2", + "type": "bool" + }, + { + "name": "lmce", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "f16c", + "type": "bool" + }, + { + "name": "3dnowprefetch", + "type": "bool" + }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "avx", + "type": "bool" + }, + { + "name": "topoext", + "type": "bool" + }, + { + "name": "avx512vnni", + "type": "bool" + }, + { + "name": "rdctl-no", + "type": "bool" + }, + { + "name": "mmx", + "type": "bool" + }, + { + "name": "avx512-4fmaps", + "type": "bool" + }, + { + "name": "level", + "type": "uint32" + }, + { + "name": "sse2", + "type": "bool" + }, + { + "name": "pni", + "type": "bool" + }, + { + "name": "movbe", + "type": "bool" + }, + { + "name": "mmxext", + "type": "bool" + }, + { + "name": "flushbyasid", + "type": "bool" + }, + { + "name": "rdtscp", + "type": "bool" + }, + { + "name": "clwb", + "type": "bool" + }, + { + "name": "kvm-asyncpf", + "type": "bool" + }, + { + "name": "decodeassists", + "type": "bool" + }, + { + "name": "pat", + "type": "bool" + }, + { + "name": "invpcid", + "type": "bool" + }, + { + "name": "pdpe1gb", + "type": "bool" + }, + { + "name": "parent_bus", + "type": "link<bus>" + }, + { + "name": "tsc-adjust", + "type": "bool" + }, + { + "name": "ht", + "type": "bool" + }, + { + "name": "xtpr", + "type": "bool" + }, + { + "name": "tsc_adjust", + "type": "bool" + }, + { + "name": "ssbd", + "type": "bool" + }, + { + "name": "3dnowext", + "type": "bool" + }, + { + "name": "clflushopt", + "type": "bool" + }, + { + "name": "hv-vendor-id", + "type": "str" + }, + { + "name": "xsave", + "type": "bool" + }, + { + "name": "pdcm", + "type": "bool" + }, + { + "name": "hv-crash", + "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": "misalignsse", + "type": "bool" + }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, + { + "name": "check", + "type": "bool" + }, + { + "name": "hv-time", + "type": "bool" + }, + { + "name": "perfctr-nb", + "type": "bool" + }, + { + "name": "migratable", + "type": "bool" + }, + { + "name": "feature-words", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "phys-bits", + "type": "uint32" + }, + { + "name": "apic", + "type": "bool" + }, + { + "name": "avx512vbmi", + "type": "bool" + }, + { + "name": "thread-id", + "type": "int32" + }, + { + "name": "min-xlevel", + "type": "uint32" + }, + { + "name": "socket-id", + "type": "int32" + }, + { + "name": "avx512f", + "type": "bool" + }, + { + "name": "arch-capabilities", + "type": "bool" + }, + { + "name": "bmi2", + "type": "bool" + }, + { + "name": "intel-pt", + "type": "bool" + }, + { + "name": "wdt", + "type": "bool" + }, + { + "name": "ace2-en", + "type": "bool" + }, + { + "name": "avx512pf", + "type": "bool" + }, + { + "name": "bmi1", + "type": "bool" + }, + { + "name": "enforce", + "type": "bool" + }, + { + "name": "kvm-nopiodelay", + "type": "bool" + }, + { + "name": "sse4.2", + "type": "bool" + }, + { + "name": "3dnow", + "type": "bool" + }, + { + "name": "vmx", + "type": "bool" + }, + { + "name": "la57", + "type": "bool" + }, + { + "name": "xgetbv1", + "type": "bool" + }, + { + "name": "ibrs-all", + "type": "bool" + }, + { + "name": "sse4.1", + "type": "bool" + }, + { + "name": "xsaveopt", + "type": "bool" + }, + { + "name": "hv-relaxed", + "type": "bool" + }, + { + "name": "spec-ctrl", + "type": "bool" + }, + { + "name": "fxsr", + "type": "bool" + }, + { + "name": "hv-vapic", + "type": "bool" + }, + { + "name": "phe-en", + "type": "bool" + }, + { + "name": "hv-ipi", + "type": "bool" + }, + { + "name": "sse4_2", + "type": "bool" + }, + { + "name": "hypervisor", + "type": "bool" + }, + { + "name": "aes", + "type": "bool" + }, + { + "name": "amd-ssbd", + "type": "bool" + }, + { + "name": "core-id", + "type": "int32" + }, + { + "name": "de", + "type": "bool" + }, + { + "name": "ss", + "type": "bool" + }, + { + "name": "fma", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-machines", + "id": "libvirt-38" +} + { "return": [ { @@ -5409,12 +6535,12 @@ "alias": "q35" } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-cpu-definitions", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -5931,12 +7057,12 @@ "migration-safe": true } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -5944,12 +7070,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -5957,12 +7083,12 @@ "passthrough", "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -7244,12 +8370,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -7323,12 +8449,12 @@ "capability": "x-ignore-shared" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { "execute": "query-qmp-schema", - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19793,7 +20919,7 @@ ] } ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19804,7 +20930,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -20008,7 +21134,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -20214,7 +21340,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20493,7 +21619,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20507,7 +21633,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20711,7 +21837,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20917,7 +22043,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -21196,16 +22322,16 @@ } } }, - "id": "libvirt-47" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-48" } { - "id": "libvirt-48", + "execute": "query-sev-capabilities", + "id": "libvirt-49" +} + +{ + "id": "libvirt-49", "error": { "class": "GenericError", "desc": "SEV feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies index 7f3c22e176..f175a4284b 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies @@ -5286,10 +5286,1144 @@ } { - "execute": "query-machines", + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, "id": "libvirt-37" } +{ + "return": [ + { + "name": "type", + "type": "string" + }, + { + "name": "min-xlevel2", + "type": "uint32" + }, + { + "name": "amd-ssbd", + "type": "bool" + }, + { + "name": "vendor", + "type": "string" + }, + { + "name": "gfni", + "type": "bool" + }, + { + "name": "clwb", + "type": "bool" + }, + { + "name": "nx", + "type": "bool" + }, + { + "name": "x2apic", + "type": "bool" + }, + { + "name": "mds-no", + "type": "bool" + }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "min-level", + "type": "uint32" + }, + { + "name": "fxsr-opt", + "type": "bool" + }, + { + "name": "skinit", + "type": "bool" + }, + { + "name": "avx", + "type": "bool" + }, + { + "name": "unavailable-features", + "type": "strList" + }, + { + "name": "3dnowext", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "hv-crash", + "type": "bool" + }, + { + "name": "hypervisor", + "type": "bool" + }, + { + "name": "enforce", + "type": "bool" + }, + { + "name": "stepping", + "type": "int" + }, + { + "name": "sse4_2", + "type": "bool" + }, + { + "name": "sse4_1", + "type": "bool" + }, + { + "name": "x-hv-max-vps", + "type": "int32" + }, + { + "name": "hv-frequencies", + "type": "bool" + }, + { + "name": "kvm-hint-dedicated", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, + { + "name": "tm2", + "type": "bool" + }, + { + "name": "smx", + "type": "bool" + }, + { + "name": "host-cache-info", + "type": "bool" + }, + { + "name": "kvm-pv-ipi", + "type": "bool" + }, + { + "name": "hv-vendor-id", + "type": "str" + }, + { + "name": "movbe", + "type": "bool" + }, + { + "name": "3dnowprefetch", + "type": "bool" + }, + { + "name": "mtrr", + "type": "bool" + }, + { + "name": "wdt", + "type": "bool" + }, + { + "name": "thread-id", + "type": "int32" + }, + { + "name": "aes", + "type": "bool" + }, + { + "name": "apic-id", + "type": "uint32" + }, + { + "name": "lm", + "type": "bool" + }, + { + "name": "family", + "type": "int" + }, + { + "name": "tsc-adjust", + "type": "bool" + }, + { + "name": "pfthreshold", + "type": "bool" + }, + { + "name": "kvm-no-smi-migration", + "type": "bool" + }, + { + "name": "amd-no-ssb", + "type": "bool" + }, + { + "name": "pse", + "type": "bool" + }, + { + "name": "filtered-features", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "hv-evmcs", + "type": "bool" + }, + { + "name": "hv-vpindex", + "type": "bool" + }, + { + "name": "i64", + "type": "bool" + }, + { + "name": "avx512bitalg", + "type": "bool" + }, + { + "name": "adx", + "type": "bool" + }, + { + "name": "vaes", + "type": "bool" + }, + { + "name": "ia64", + "type": "bool" + }, + { + "name": "nodeid-msr", + "type": "bool" + }, + { + "name": "ibpb", + "type": "bool" + }, + { + "name": "hv-synic", + "type": "bool" + }, + { + "name": "ibs", + "type": "bool" + }, + { + "name": "kvm_mmu", + "type": "bool" + }, + { + "name": "tcg-cpuid", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, + { + "name": "kvm_nopiodelay", + "type": "bool" + }, + { + "name": "lbrv", + "type": "bool" + }, + { + "name": "rdtscp", + "type": "bool" + }, + { + "name": "memory", + "type": "link<qemu:memory-region>" + }, + { + "name": "avx512vbmi2", + "type": "bool" + }, + { + "name": "ace2-en", + "type": "bool" + }, + { + "name": "invtsc", + "type": "bool" + }, + { + "name": "sse4.2", + "type": "bool" + }, + { + "name": "sse4.1", + "type": "bool" + }, + { + "name": "pbe", + "type": "bool" + }, + { + "name": "rdrand", + "type": "bool" + }, + { + "name": "socket-id", + "type": "int32" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "l3-cache", + "type": "bool" + }, + { + "name": "kvm-steal-time", + "type": "bool" + }, + { + "name": "vmware-cpuid-freq", + "type": "bool" + }, + { + "name": "legacy-cache", + "type": "bool" + }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "fill-mtrr-mask", + "type": "bool" + }, + { + "name": "core-id", + "type": "int32" + }, + { + "name": "intel-pt", + "type": "bool" + }, + { + "name": "pat", + "type": "bool" + }, + { + "name": "pcid", + "type": "bool" + }, + { + "name": "rsba", + "type": "bool" + }, + { + "name": "sse4-2", + "type": "bool" + }, + { + "name": "sse4-1", + "type": "bool" + }, + { + "name": "pclmulqdq", + "type": "bool" + }, + { + "name": "sha-ni", + "type": "bool" + }, + { + "name": "cmov", + "type": "bool" + }, + { + "name": "pae", + "type": "bool" + }, + { + "name": "smep", + "type": "bool" + }, + { + "name": "arch-capabilities", + "type": "bool" + }, + { + "name": "virt-ssbd", + "type": "bool" + }, + { + "name": "abm", + "type": "bool" + }, + { + "name": "xstore", + "type": "bool" + }, + { + "name": "tsc_adjust", + "type": "bool" + }, + { + "name": "kvm-asyncpf", + "type": "bool" + }, + { + "name": "pdpe1gb", + "type": "bool" + }, + { + "name": "min-xlevel", + "type": "uint32" + }, + { + "name": "kvm-mmu", + "type": "bool" + }, + { + "name": "kvm-pv-unhalt", + "type": "bool" + }, + { + "name": "avx512f", + "type": "bool" + }, + { + "name": "avx512vbmi", + "type": "bool" + }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "avx512-4vnniw", + "type": "bool" + }, + { + "name": "mmxext", + "type": "bool" + }, + { + "name": "decodeassists", + "type": "bool" + }, + { + "name": "ht", + "type": "bool" + }, + { + "name": "xsave", + "type": "bool" + }, + { + "name": "perfctr_core", + "type": "bool" + }, + { + "name": "feature-words", + "type": "X86CPUFeatureWordInfo" + }, + { + "name": "migratable", + "type": "bool" + }, + { + "name": "3dnow", + "type": "bool" + }, + { + "name": "spec-ctrl", + "type": "bool" + }, + { + "name": "model", + "type": "int" + }, + { + "name": "nrip-save", + "type": "bool" + }, + { + "name": "lwp", + "type": "bool" + }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "avx512vl", + "type": "bool" + }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, + { + "name": "bmi2", + "type": "bool" + }, + { + "name": "bmi1", + "type": "bool" + }, + { + "name": "la57", + "type": "bool" + }, + { + "name": "ffxsr", + "type": "bool" + }, + { + "name": "stibp", + "type": "bool" + }, + { + "name": "vmcb-clean", + "type": "bool" + }, + { + "name": "wbnoinvd", + "type": "bool" + }, + { + "name": "pause-filter", + "type": "bool" + }, + { + "name": "pni", + "type": "bool" + }, + { + "name": "kvm_steal_time", + "type": "bool" + }, + { + "name": "rdctl-no", + "type": "bool" + }, + { + "name": "svm_lock", + "type": "bool" + }, + { + "name": "ibrs-all", + "type": "bool" + }, + { + "name": "pse36", + "type": "bool" + }, + { + "name": "hv-stimer", + "type": "bool" + }, + { + "name": "host-phys-bits", + "type": "bool" + }, + { + "name": "extapic", + "type": "bool" + }, + { + "name": "skip-l1dfl-vmentry", + "type": "bool" + }, + { + "name": "hv-spinlocks", + "type": "int" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "pmm", + "type": "bool" + }, + { + "name": "vpclmulqdq", + "type": "bool" + }, + { + "name": "avx512-vpopcntdq", + "type": "bool" + }, + { + "name": "avx512er", + "type": "bool" + }, + { + "name": "pdcm", + "type": "bool" + }, + { + "name": "svm", + "type": "bool" + }, + { + "name": "apic", + "type": "bool" + }, + { + "name": "xcrypt-en", + "type": "bool" + }, + { + "name": "cr8legacy", + "type": "bool" + }, + { + "name": "fma4", + "type": "bool" + }, + { + "name": "host-phys-bits-limit", + "type": "uint8" + }, + { + "name": "erms", + "type": "bool" + }, + { + "name": "msr", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, + { + "name": "xlevel", + "type": "uint32" + }, + { + "name": "xsaves", + "type": "bool" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "hv-relaxed", + "type": "bool" + }, + { + "name": "pause_filter", + "type": "bool" + }, + { + "name": "cldemote", + "type": "bool" + }, + { + "name": "perfctr-core", + "type": "bool" + }, + { + "name": "hv-ipi", + "type": "bool" + }, + { + "name": "smap", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "avx512dq", + "type": "bool" + }, + { + "name": "ssse3", + "type": "bool" + }, + { + "name": "pmm-en", + "type": "bool" + }, + { + "name": "npt", + "type": "bool" + }, + { + "name": "kvm-pv-tlb-flush", + "type": "bool" + }, + { + "name": "tsc", + "type": "bool" + }, + { + "name": "monitor", + "type": "bool" + }, + { + "name": "f16c", + "type": "bool" + }, + { + "name": "sse2", + "type": "bool" + }, + { + "name": "rdpid", + "type": "bool" + }, + { + "name": "mce", + "type": "bool" + }, + { + "name": "full-cpuid-auto-level", + "type": "bool" + }, + { + "name": "xtpr", + "type": "bool" + }, + { + "name": "mca", + "type": "bool" + }, + { + "name": "cid", + "type": "bool" + }, + { + "name": "tm", + "type": "bool" + }, + { + "name": "sep", + "type": "bool" + }, + { + "name": "avx512vnni", + "type": "bool" + }, + { + "name": "ds", + "type": "bool" + }, + { + "name": "pku", + "type": "bool" + }, + { + "name": "tce", + "type": "bool" + }, + { + "name": "sse4a", + "type": "bool" + }, + { + "name": "kvmclock", + "type": "bool" + }, + { + "name": "lahf-lm", + "type": "bool" + }, + { + "name": "clflushopt", + "type": "bool" + }, + { + "name": "kvm", + "type": "bool" + }, + { + "name": "ss", + "type": "bool" + }, + { + "name": "flushbyasid", + "type": "bool" + }, + { + "name": "hv-tlbflush", + "type": "bool" + }, + { + "name": "lahf_lm", + "type": "bool" + }, + { + "name": "de", + "type": "bool" + }, + { + "name": "xsavec", + "type": "bool" + }, + { + "name": "est", + "type": "bool" + }, + { + "name": "check", + "type": "bool" + }, + { + "name": "movdir64b", + "type": "bool" + }, + { + "name": "dtes64", + "type": "bool" + }, + { + "name": "md-clear", + "type": "bool" + }, + { + "name": "vmx", + "type": "bool" + }, + { + "name": "svm-lock", + "type": "bool" + }, + { + "name": "avx512ifma", + "type": "bool" + }, + { + "name": "clflush", + "type": "bool" + }, + { + "name": "rdseed", + "type": "bool" + }, + { + "name": "avx512cd", + "type": "bool" + }, + { + "name": "xsaveopt", + "type": "bool" + }, + { + "name": "tbm", + "type": "bool" + }, + { + "name": "ace2", + "type": "bool" + }, + { + "name": "vme", + "type": "bool" + }, + { + "name": "kvm_asyncpf", + "type": "bool" + }, + { + "name": "hv-vapic", + "type": "bool" + }, + { + "name": "parent_bus", + "type": "link<bus>" + }, + { + "name": "lmce", + "type": "bool" + }, + { + "name": "x-migrate-smi-count", + "type": "bool" + }, + { + "name": "hv-reset", + "type": "bool" + }, + { + "name": "hv-runtime", + "type": "bool" + }, + { + "name": "ssbd", + "type": "bool" + }, + { + "name": "avx512bw", + "type": "bool" + }, + { + "name": "xcrypt", + "type": "bool" + }, + { + "name": "fpu", + "type": "bool" + }, + { + "name": "arat", + "type": "bool" + }, + { + "name": "fxsr", + "type": "bool" + }, + { + "name": "ds-cpl", + "type": "bool" + }, + { + "name": "kvm-pv-eoi", + "type": "bool" + }, + { + "name": "hle", + "type": "bool" + }, + { + "name": "mpx", + "type": "bool" + }, + { + "name": "invpcid", + "type": "bool" + }, + { + "name": "cx8", + "type": "bool" + }, + { + "name": "pcommit", + "type": "bool" + }, + { + "name": "sse", + "type": "bool" + }, + { + "name": "syscall", + "type": "bool" + }, + { + "name": "tsc_scale", + "type": "bool" + }, + { + "name": "movdiri", + "type": "bool" + }, + { + "name": "ssb-no", + "type": "bool" + }, + { + "name": "xlevel2", + "type": "uint32" + }, + { + "name": "hv-time", + "type": "bool" + }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, + { + "name": "osvw", + "type": "bool" + }, + { + "name": "perfctr-nb", + "type": "bool" + }, + { + "name": "rtm", + "type": "bool" + }, + { + "name": "avx512-4fmaps", + "type": "bool" + }, + { + "name": "avx2", + "type": "bool" + }, + { + "name": "perfctr_nb", + "type": "bool" + }, + { + "name": "kvm-nopiodelay", + "type": "bool" + }, + { + "name": "avx512pf", + "type": "bool" + }, + { + "name": "level", + "type": "uint32" + }, + { + "name": "phys-bits", + "type": "uint32" + }, + { + "name": "cpuid-0xb", + "type": "bool" + }, + { + "name": "tsc-deadline", + "type": "bool" + }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "xgetbv1", + "type": "bool" + }, + { + "name": "popcnt", + "type": "bool" + }, + { + "name": "umip", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "phe", + "type": "bool" + }, + { + "name": "cmp-legacy", + "type": "bool" + }, + { + "name": "dca", + "type": "bool" + }, + { + "name": "acpi", + "type": "bool" + }, + { + "name": "pn", + "type": "bool" + }, + { + "name": "model-id", + "type": "string" + }, + { + "name": "crash-information", + "type": "GuestPanicInformation" + }, + { + "name": "x-intel-pt-auto-level", + "type": "bool" + }, + { + "name": "x-hv-synic-kvm-only", + "type": "bool" + }, + { + "name": "tsc-scale", + "type": "bool" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "hv-reenlightenment", + "type": "bool" + }, + { + "name": "cx16", + "type": "bool" + }, + { + "name": "mmx", + "type": "bool" + }, + { + "name": "topoext", + "type": "bool" + }, + { + "name": "pge", + "type": "bool" + }, + { + "name": "fsgsbase", + "type": "bool" + }, + { + "name": "pclmuldq", + "type": "bool" + }, + { + "name": "misalignsse", + "type": "bool" + }, + { + "name": "phe-en", + "type": "bool" + }, + { + "name": "fma", + "type": "bool" + } + ], + "id": "libvirt-37" +} + +{ + "execute": "query-machines", + "id": "libvirt-38" +} + { "return": [ { @@ -5531,12 +6665,12 @@ "alias": "q35" } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-cpu-definitions", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -6086,12 +7220,12 @@ "migration-safe": true } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-tpm-models", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -6099,12 +7233,12 @@ "tpm-crb", "tpm-tis" ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-tpm-types", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -6112,12 +7246,12 @@ "passthrough", "emulator" ], - "id": "libvirt-40" + "id": "libvirt-41" } { "execute": "query-command-line-options", - "id": "libvirt-41" + "id": "libvirt-42" } { @@ -7387,12 +8521,12 @@ "option": "drive" } ], - "id": "libvirt-41" + "id": "libvirt-42" } { "execute": "query-migrate-capabilities", - "id": "libvirt-42" + "id": "libvirt-43" } { @@ -7466,12 +8600,12 @@ "capability": "x-ignore-shared" } ], - "id": "libvirt-42" + "id": "libvirt-43" } { "execute": "query-qmp-schema", - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19954,7 +21088,7 @@ ] } ], - "id": "libvirt-43" + "id": "libvirt-44" } { @@ -19965,7 +21099,7 @@ "name": "host" } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -20171,7 +21305,7 @@ } } }, - "id": "libvirt-44" + "id": "libvirt-45" } { @@ -20379,7 +21513,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20660,7 +21794,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20674,7 +21808,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20880,7 +22014,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21088,7 +22222,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -21369,16 +22503,16 @@ } } }, - "id": "libvirt-47" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-48" } { - "id": "libvirt-48", + "execute": "query-sev-capabilities", + "id": "libvirt-49" +} + +{ + "id": "libvirt-49", "error": { "class": "GenericError", "desc": "SEV feature is not available" diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index 828840b8b8..24be3a546e 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -205,6 +205,7 @@ <flag name='bitmap-merge'/> <flag name='nbd-bitmap'/> <flag name='x86-max-cpu'/> + <flag name='cpu-unavailable-features'/> <version>4000050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100759</microcodeVersion> -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:10AM +0200, Jiri Denemark wrote:
It is similar to "filtered-features" property, which reports CPUID bits corresponding to disabled features, but more general. The "unavailable-features" property supports both CPUID and MSR features by listing their names.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 + src/qemu/qemu_capabilities.h | 1 + .../caps_2.12.0.x86_64.replies | 1078 ++++++++++++++- .../caps_3.0.0.x86_64.replies | 1116 +++++++++++++++- .../caps_3.1.0.x86_64.replies | 1164 +++++++++++++++- .../caps_4.0.0.x86_64.replies | 1180 +++++++++++++++- .../caps_4.1.0.x86_64.replies | 1188 ++++++++++++++++- .../caps_4.1.0.x86_64.xml | 1 + 8 files changed, 5604 insertions(+), 132 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The way we call query-cpu-model-expansion will rely on some capabilities bits. Let's make sure all capabilities are set before probing host CPU. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 +++- .../caps_2.12.0.x86_64.replies | 44 +++++++++---------- .../caps_3.0.0.x86_64.replies | 40 ++++++++--------- .../caps_3.1.0.x86_64.replies | 40 ++++++++--------- .../caps_4.0.0.x86_64.replies | 40 ++++++++--------- .../caps_4.1.0.x86_64.replies | 40 ++++++++--------- 6 files changed, 108 insertions(+), 104 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index cf8237da6c..3af6923e6f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4504,8 +4504,6 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, return -1; if (virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0) return -1; - if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, false) < 0) - return -1; if (virQEMUCapsProbeQMPGICCapabilities(qemuCaps, mon) < 0) return -1; if (virQEMUCapsProbeQMPSEVCapabilities(qemuCaps, mon) < 0) @@ -4513,6 +4511,12 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, virQEMUCapsInitProcessCaps(qemuCaps); + /* The following probes rely on other previously probed capabilities. + * No capabilities bits should be set below this point. */ + + if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, false) < 0) + return -1; + return 0; } diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies index e78ddeb57e..3a2f854531 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -19272,6 +19272,21 @@ "id": "libvirt-44" } +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "return": { + "reduced-phys-bits": 1, + "cbitpos": 47, + "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA", + "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA" + }, + "id": "libvirt-45" +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -19280,7 +19295,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19470,7 +19485,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -19662,7 +19677,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19917,7 +19932,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -19931,7 +19946,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20121,7 +20136,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20313,7 +20328,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -20568,21 +20583,6 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", - "id": "libvirt-49" -} - -{ - "return": { - "reduced-phys-bits": 1, - "cbitpos": 47, - "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA", - "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA" - }, "id": "libvirt-49" } diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies index b618f8c741..b2ec8d75d3 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies @@ -19900,6 +19900,19 @@ "id": "libvirt-44" } +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -19908,7 +19921,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20101,7 +20114,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20296,7 +20309,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20559,7 +20572,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -20573,7 +20586,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20766,7 +20779,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -20961,7 +20974,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -21224,22 +21237,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies index 2b3827db9a..b8b117ffaf 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies @@ -20383,6 +20383,19 @@ "id": "libvirt-44" } +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -20391,7 +20404,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20593,7 +20606,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -20797,7 +20810,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21072,7 +21085,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21086,7 +21099,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -21288,7 +21301,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -21492,7 +21505,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -21767,22 +21780,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies index 26d2d65989..b155e2a242 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies @@ -20922,6 +20922,19 @@ "id": "libvirt-44" } +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -20930,7 +20943,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -21134,7 +21147,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -21340,7 +21353,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21619,7 +21632,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21633,7 +21646,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -21837,7 +21850,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -22043,7 +22056,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -22322,22 +22335,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies index f175a4284b..a07082781f 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies @@ -21091,6 +21091,19 @@ "id": "libvirt-44" } +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -21099,7 +21112,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -21305,7 +21318,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } { @@ -21513,7 +21526,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21794,7 +21807,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } { @@ -21808,7 +21821,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -22014,7 +22027,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } { @@ -22222,7 +22235,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } { @@ -22503,22 +22516,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:11AM +0200, Jiri Denemark wrote:
The way we call query-cpu-model-expansion will rely on some capabilities bits. Let's make sure all capabilities are set before probing host CPU.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 +++- .../caps_2.12.0.x86_64.replies | 44 +++++++++---------- .../caps_3.0.0.x86_64.replies | 40 ++++++++--------- .../caps_3.1.0.x86_64.replies | 40 ++++++++--------- .../caps_4.0.0.x86_64.replies | 40 ++++++++--------- .../caps_4.1.0.x86_64.replies | 40 ++++++++--------- 6 files changed, 108 insertions(+), 104 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

When building QEMU command line, we should use the preferred spelling of each CPU feature without relying on compatibility aliases (which may be removed at some point). The "unavailable-features" CPU property is used as a witness for the correct names of the features in our translation table. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 +++++++- src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 2 ++ tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args | 2 +- .../kvmclock+eoi-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-enabled.x86_64-latest.args | 2 +- 10 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3af6923e6f..c742838383 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -532,6 +532,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "nbd-bitmap", "x86-max-cpu", "cpu-unavailable-features", + "canonical-cpu-features", ); @@ -2892,7 +2893,9 @@ virQEMUCapsCPUFeatureTranslate(virQEMUCapsPtr qemuCaps, if (ARCH_IS_X86(qemuCaps->arch)) table = virQEMUCapsCPUFeaturesX86; - if (!table || !feature) + if (!table || + !feature || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES)) return feature; for (entry = table; entry->libvirt; entry++) { @@ -4398,6 +4401,9 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index e1727a1a1c..29f13ae977 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -514,6 +514,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_NBD_BITMAP, /* nbd-server-add supports bitmap */ QEMU_CAPS_X86_MAX_CPU,/* max-x86_64-cpu type exists */ QEMU_CAPS_CPU_UNAVAILABLE_FEATURES, /* "unavailable-features" CPU property */ + QEMU_CAPS_CANONICAL_CPU_FEATURES, /* avoid CPU feature aliases */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 08da30d10c..15f2990189 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7045,6 +7045,8 @@ qemuBuildCpuFeature(virQEMUCapsPtr qemuCaps, const char *name, bool state) { + name = virQEMUCapsCPUFeatureToQEMU(qemuCaps, name); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) virBufferAsprintf(buf, ",%s=%s", name, state ? "on" : "off"); else diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index 24be3a546e..4cc91e677e 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -206,6 +206,7 @@ <flag name='nbd-bitmap'/> <flag name='x86-max-cpu'/> <flag name='cpu-unavailable-features'/> + <flag name='canonical-cpu-features'/> <version>4000050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100759</microcodeVersion> diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args index 7a1546fb36..9322b826f4 100644 --- a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args @@ -13,9 +13,9 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu Haswell,pclmuldq=on,ds_cpl=on,tsc_adjust=on,fxsr_opt=on,lahf_lm=on,\ -cmp_legacy=on,nodeid_msr=on,perfctr_core=on,perfctr_nb=on,kvm_pv_eoi=on,\ -kvm_pv_unhalt=on \ +-cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,\ +cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,\ +kvm-pv-unhalt=on \ -m 214 \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args index caae868abf..f811931759 100644 --- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,kvm_pv_eoi=off \ +-cpu qemu32,kvm-pv-eoi=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args index abafafa411..25c03ae4d2 100644 --- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,kvm_pv_eoi=on \ +-cpu qemu32,kvm-pv-eoi=on \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args index 23d2bcb87e..f13573df8a 100644 --- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,kvmclock=off,kvm_pv_eoi=off \ +-cpu qemu32,kvmclock=off,kvm-pv-eoi=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args index b78533cf39..13fd7253a9 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,kvm_pv_unhalt=off \ +-cpu qemu32,kvm-pv-unhalt=off \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args index a016e80016..919bbd037e 100644 --- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args +++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args @@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -machine pc,accel=tcg,usb=off,dump-guest-core=off \ --cpu qemu32,kvm_pv_unhalt=on \ +-cpu qemu32,kvm-pv-unhalt=on \ -m 214 \ -overcommit mem-lock=off \ -smp 6,sockets=6,cores=1,threads=1 \ -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:12AM +0200, Jiri Denemark wrote:
When building QEMU command line, we should use the preferred spelling of each CPU feature without relying on compatibility aliases (which may be removed at some point).
The "unavailable-features" CPU property is used as a witness for the correct names of the features in our translation table.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 +++++++- src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 2 ++ tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args | 2 +- .../kvmclock+eoi-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-enabled.x86_64-latest.args | 2 +- 10 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3af6923e6f..c742838383 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -532,6 +532,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "nbd-bitmap", "x86-max-cpu", "cpu-unavailable-features", + "canonical-cpu-features", );
@@ -2892,7 +2893,9 @@ virQEMUCapsCPUFeatureTranslate(virQEMUCapsPtr qemuCaps, if (ARCH_IS_X86(qemuCaps->arch)) table = virQEMUCapsCPUFeaturesX86;
- if (!table || !feature) + if (!table || + !feature || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES)) return feature;
for (entry = table; entry->libvirt; entry++) { @@ -4398,6 +4401,9 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); }
Do we need an alias for the QEMU_CAPS_CPU_UNAVAILABLE_FEATURES capability? I think virQEMUCapsCPUFeatureTranslate can use QEMU_CAPS_CPU_UNAVAILABLE_FEATURES directly
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Wed, Jun 19, 2019 at 14:08:58 +0200, Ján Tomko wrote:
On Wed, Jun 19, 2019 at 11:38:12AM +0200, Jiri Denemark wrote:
When building QEMU command line, we should use the preferred spelling of each CPU feature without relying on compatibility aliases (which may be removed at some point).
The "unavailable-features" CPU property is used as a witness for the correct names of the features in our translation table.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 8 +++++++- src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 2 ++ tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args | 2 +- .../kvmclock+eoi-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-disabled.x86_64-latest.args | 2 +- .../pv-spinlock-enabled.x86_64-latest.args | 2 +- 10 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3af6923e6f..c742838383 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -532,6 +532,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "nbd-bitmap", "x86-max-cpu", "cpu-unavailable-features", + "canonical-cpu-features", );
@@ -2892,7 +2893,9 @@ virQEMUCapsCPUFeatureTranslate(virQEMUCapsPtr qemuCaps, if (ARCH_IS_X86(qemuCaps->arch)) table = virQEMUCapsCPUFeaturesX86;
- if (!table || !feature) + if (!table || + !feature || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES)) return feature;
for (entry = table; entry->libvirt; entry++) { @@ -4398,6 +4401,9 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); }
Do we need an alias for the QEMU_CAPS_CPU_UNAVAILABLE_FEATURES capability?
I think virQEMUCapsCPUFeatureTranslate can use QEMU_CAPS_CPU_UNAVAILABLE_FEATURES directly
Both virQEMUCapsProbeQMPHostCPU and virQEMUCapsCPUFeatureTranslate could use QEMU_CAPS_CPU_UNAVAILABLE_FEATURES directly, but I felt the alias will make it clear what's going on in there since "unavailable-features" property serves just as a witness and we'd likely need to add a comment about this to every usage which is not doing anything with the new property. Jirka

By default query-cpu-model-expansion only reports canonical names of all CPU features. We do some magic and call the command twice to get all possible spellings of the features, but being able to consume canonical names will allow us to drop this magic. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 19 +++++++++++-------- src/qemu/qemu_capspriv.h | 3 ++- tests/cputest.c | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c742838383..ada2bae18f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2961,11 +2961,12 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, for (i = 0; i < modelInfo->nprops; i++) { virCPUFeatureDefPtr feature = cpu->features + cpu->nfeatures; qemuMonitorCPUPropertyPtr prop = modelInfo->props + i; + const char *name = virQEMUCapsCPUFeatureFromQEMU(qemuCaps, prop->name); if (prop->type != QEMU_MONITOR_CPU_PROPERTY_BOOLEAN) continue; - if (VIR_STRDUP(feature->name, prop->name) < 0) + if (VIR_STRDUP(feature->name, name) < 0) return -1; if (!prop->value.boolean || @@ -2981,7 +2982,8 @@ virQEMUCapsInitCPUModelS390(virQEMUCapsPtr qemuCaps, virCPUDataPtr -virQEMUCapsGetCPUModelX86Data(qemuMonitorCPUModelInfoPtr model, +virQEMUCapsGetCPUModelX86Data(virQEMUCapsPtr qemuCaps, + qemuMonitorCPUModelInfoPtr model, bool migratable) { unsigned long long sigFamily = 0; @@ -2996,6 +2998,7 @@ virQEMUCapsGetCPUModelX86Data(qemuMonitorCPUModelInfoPtr model, for (i = 0; i < model->nprops; i++) { qemuMonitorCPUPropertyPtr prop = model->props + i; + const char *name = virQEMUCapsCPUFeatureFromQEMU(qemuCaps, prop->name); switch (prop->type) { case QEMU_MONITOR_CPU_PROPERTY_BOOLEAN: @@ -3003,23 +3006,23 @@ virQEMUCapsGetCPUModelX86Data(qemuMonitorCPUModelInfoPtr model, (migratable && prop->migratable == VIR_TRISTATE_BOOL_NO)) continue; - if (virCPUx86DataAddFeature(data, prop->name) < 0) + if (virCPUx86DataAddFeature(data, name) < 0) goto cleanup; break; case QEMU_MONITOR_CPU_PROPERTY_STRING: - if (STREQ(prop->name, "vendor") && + if (STREQ(name, "vendor") && virCPUx86DataSetVendor(data, prop->value.string) < 0) goto cleanup; break; case QEMU_MONITOR_CPU_PROPERTY_NUMBER: - if (STREQ(prop->name, "family")) + if (STREQ(name, "family")) sigFamily = prop->value.number; - else if (STREQ(prop->name, "model")) + else if (STREQ(name, "model")) sigModel = prop->value.number; - else if (STREQ(prop->name, "stepping")) + else if (STREQ(name, "stepping")) sigStepping = prop->value.number; break; @@ -3057,7 +3060,7 @@ virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps, if (!model) return 1; - if (!(data = virQEMUCapsGetCPUModelX86Data(model, migratable))) + if (!(data = virQEMUCapsGetCPUModelX86Data(qemuCaps, model, migratable))) goto cleanup; if (cpuDecode(cpu, data, virQEMUCapsGetCPUDefinitions(qemuCaps, type)) < 0) diff --git a/src/qemu/qemu_capspriv.h b/src/qemu/qemu_capspriv.h index 3c129cbf6c..255722d8d1 100644 --- a/src/qemu/qemu_capspriv.h +++ b/src/qemu/qemu_capspriv.h @@ -78,7 +78,8 @@ virQEMUCapsSetCPUModelInfo(virQEMUCapsPtr qemuCaps, qemuMonitorCPUModelInfoPtr modelInfo); virCPUDataPtr -virQEMUCapsGetCPUModelX86Data(qemuMonitorCPUModelInfoPtr model, +virQEMUCapsGetCPUModelX86Data(virQEMUCapsPtr qemuCaps, + qemuMonitorCPUModelInfoPtr model, bool migratable); virCPUDefPtr diff --git a/tests/cputest.c b/tests/cputest.c index e176739965..6e28e05756 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -935,7 +935,7 @@ cpuTestJSONSignature(const void *arg) goto cleanup; modelInfo = virQEMUCapsGetCPUModelInfo(qemuCaps, VIR_DOMAIN_VIRT_KVM); - if (!(hostData = virQEMUCapsGetCPUModelX86Data(modelInfo, false))) + if (!(hostData = virQEMUCapsGetCPUModelX86Data(qemuCaps, modelInfo, false))) goto cleanup; ret = cpuTestCompareSignature(data, hostData); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:13AM +0200, Jiri Denemark wrote:
By default query-cpu-model-expansion only reports canonical names of all CPU features. We do some magic and call the command twice to get all possible spellings of the features, but being able to consume canonical names will allow us to drop this magic.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 19 +++++++++++-------- src/qemu/qemu_capspriv.h | 3 ++- tests/cputest.c | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

We used type=full expansion on the result of previous type=static expansion to get all possible spellings of CPU features. Since we can now translate the QEMU's canonical names to our names, we can drop this magic and do only type=static CPU model expansion. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 9 +- .../caps_4.1.0.x86_64.replies | 1964 +---------------- .../caps_4.1.0.x86_64.xml | 226 +- 3 files changed, 48 insertions(+), 2151 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index ada2bae18f..9ef1eabc95 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2494,10 +2494,13 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, /* Some x86_64 features defined in cpu_map.xml use spelling which differ * from the one preferred by QEMU. Static expansion would give us only the - * preferred spelling, thus we need to do a full expansion on the result of - * the initial static expansion to get all variants of all features. + * preferred spelling. With new QEMU we always use the QEMU's canonical + * names of all features and translate between them and our names. But for + * older version of QEMU we need to do a full expansion on the result of + * the initial static expansion to get all variants of feature names. */ - if (ARCH_IS_X86(qemuCaps->arch)) + if (ARCH_IS_X86(qemuCaps->arch) && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES)) type = QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL; else type = QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC; diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies index a07082781f..77de06bdd7 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies @@ -21321,495 +21321,6 @@ "id": "libvirt-46" } -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": true, - "intel-pt": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": true, - "avx512vbmi2": false, - "cr8legacy": false, - "stibp": false, - "xcrypt-en": false, - "pn": false, - "rsba": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": true, - "3dnowext": false, - "amd-no-ssb": false, - "npt": false, - "rdctl-no": false, - "clwb": false, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": true, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "mds-no": false, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "kvm-pv-ipi": true, - "cx8": true, - "cldemote": false, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 94, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "skip-l1dfl-vmentry": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "amd-ssbd": false, - "xop": false, - "ibpb": false, - "avx": true, - "movdiri": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "vaes": false, - "movdir64b": false, - "xsaves": true, - "lm": true, - "umip": true, - "pse": true, - "avx2": true, - "sep": true, - "virt-ssbd": false, - "nodeid-msr": false, - "md-clear": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": true, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "arch-capabilities": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": true, - "kvm-hint-dedicated": false, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": true, - "avx512-4vnniw": false, - "vme": true, - "vmx": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": true, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-47" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": true, - "intel-pt": false, - "hv-frequencies": false, - "tsc-frequency": 0, - "xd": true, - "x-intel-pt-auto-level": true, - "hv-vendor-id": "", - "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "decodeassists": false, - "avx512cd": false, - "sse4_1": true, - "sse4.1": true, - "sse4-1": true, - "family": 6, - "legacy-cache": true, - "host-phys-bits-limit": 0, - "vmware-cpuid-freq": true, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "hv-runtime": false, - "xcrypt": false, - "thread-id": -1, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "hv-relaxed": false, - "hv-crash": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "hv-evmcs": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": true, - "avx512vbmi2": false, - "cr8legacy": false, - "stibp": false, - "cpuid-0xb": true, - "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, - "rsba": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "hv-ipi": false, - "pku": false, - "smx": false, - "cmp_legacy": false, - "cmp-legacy": false, - "node-id": -1, - "avx512-4fmaps": false, - "vmcb_clean": false, - "vmcb-clean": false, - "3dnowext": false, - "amd-no-ssb": false, - "hle": true, - "npt": false, - "rdctl-no": false, - "memory": "/machine/unattached/system[0]", - "clwb": false, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm_lock": false, - "svm-lock": false, - "pfthreshold": false, - "smep": true, - "smap": true, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "hv-stimer": false, - "x-hv-synic-kvm-only": false, - "i64": true, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pat": true, - "pae": true, - "sse": true, - "phe-en": false, - "kvm_nopiodelay": true, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "socket-id": -1, - "mds-no": false, - "pcommit": false, - "syscall": true, - "level": 13, - "avx512dq": false, - "x-migrate-smi-count": true, - "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, - "invtsc": false, - "sse3": true, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-ipi": true, - "kvm-pv-eoi": true, - "cx8": true, - "cldemote": false, - "hv-reenlightenment": false, - "kvm_mmu": false, - "kvm-mmu": false, - "sse4_2": true, - "sse4.2": true, - "sse4-2": true, - "pge": true, - "fill-mtrr-mask": true, - "avx512bitalg": false, - "nodeid_msr": false, - "pdcm": false, - "movbe": true, - "model": 94, - "nrip_save": false, - "nrip-save": false, - "kvm_pv_unhalt": true, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "skip-l1dfl-vmentry": true, - "fma": true, - "cx16": true, - "de": true, - "enforce": false, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ibs": false, - "ds_cpl": false, - "ds-cpl": false, - "host-phys-bits": false, - "fma4": false, - "la57": false, - "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, - "pmu": false, - "apic": true, - "spec-ctrl": false, - "min-xlevel2": 0, - "tsc-adjust": true, - "tsc_adjust": true, - "kvm-steal-time": true, - "kvm_steal_time": true, - "kvmclock": true, - "l3-cache": true, - "lwp": false, - "amd-ssbd": false, - "ibpb": false, - "xop": false, - "avx": true, - "movdiri": false, - "ace2": false, - "avx512bw": false, - "acpi": false, - "hv-vapic": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "vaes": false, - "popcnt": true, - "xsaves": true, - "movdir64b": false, - "tcg-cpuid": true, - "lm": true, - "umip": true, - "pse": true, - "avx2": true, - "sep": true, - "pclmuldq": true, - "virt-ssbd": false, - "x-hv-max-vps": -1, - "nodeid-msr": false, - "md-clear": false, - "kvm": true, - "misalignsse": false, - "min-xlevel": 2147483656, - "kvm-pv-unhalt": true, - "bmi2": true, - "bmi1": true, - "realized": false, - "tsc_scale": false, - "tsc-scale": false, - "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, - "clflushopt": true, - "kvm-no-smi-migration": false, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "arch-capabilities": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "lahf_lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "hv-synic": false, - "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": false, - "rtm": true, - "lmce": true, - "hv-time": false, - "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, - "hv-tlbflush": false, - "rdrand": true, - "rdseed": true, - "avx512-4vnniw": false, - "vmx": true, - "vme": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": true, - "tbm": false, - "wdt": false, - "pause_filter": false, - "sha-ni": false, - "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-47" -} - { "execute": "query-cpu-model-expansion", "arguments": { @@ -21821,7 +21332,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-47" } { @@ -22027,496 +21538,7 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": true, - "intel-pt": false, - "kvm-asyncpf": true, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": true, - "avx512vbmi2": false, - "cr8legacy": false, - "stibp": false, - "xcrypt-en": false, - "pn": false, - "rsba": false, - "dca": false, - "vendor": "GenuineIntel", - "pku": false, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": true, - "3dnowext": false, - "amd-no-ssb": false, - "npt": false, - "rdctl-no": false, - "clwb": false, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": true, - "pfthreshold": false, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "mds-no": false, - "pcommit": false, - "syscall": true, - "avx512dq": false, - "svm": false, - "invtsc": false, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": true, - "kvm-pv-ipi": true, - "cx8": true, - "cldemote": false, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 94, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "skip-l1dfl-vmentry": true, - "fma": true, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": false, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": true, - "kvm-steal-time": true, - "kvmclock": true, - "lwp": false, - "amd-ssbd": false, - "xop": false, - "ibpb": false, - "avx": true, - "movdiri": false, - "acpi": false, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "popcnt": true, - "vaes": false, - "movdir64b": false, - "xsaves": true, - "lm": true, - "umip": true, - "pse": true, - "avx2": true, - "sep": true, - "virt-ssbd": false, - "nodeid-msr": false, - "md-clear": false, - "misalignsse": false, - "min-xlevel": 2147483656, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": true, - "tsc-scale": false, - "topoext": false, - "clflushopt": true, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "arch-capabilities": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": true, - "kvm-hint-dedicated": false, - "lmce": true, - "perfctr-nb": false, - "rdrand": true, - "rdseed": true, - "avx512-4vnniw": false, - "vme": true, - "vmx": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": true, - "tbm": false, - "wdt": false, - "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-49" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483656, - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": true, - "intel-pt": false, - "hv-frequencies": false, - "tsc-frequency": 0, - "xd": true, - "x-intel-pt-auto-level": true, - "hv-vendor-id": "", - "kvm-asyncpf": true, - "kvm_asyncpf": true, - "perfctr_core": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "decodeassists": false, - "avx512cd": false, - "sse4_1": true, - "sse4.1": true, - "sse4-1": true, - "family": 6, - "legacy-cache": true, - "host-phys-bits-limit": 0, - "vmware-cpuid-freq": true, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "hv-runtime": false, - "xcrypt": false, - "thread-id": -1, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "hv-relaxed": false, - "hv-crash": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "hv-evmcs": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": true, - "avx512vbmi2": false, - "cr8legacy": false, - "stibp": false, - "cpuid-0xb": true, - "xcrypt-en": false, - "kvm_pv_eoi": true, - "apic-id": 4294967295, - "rsba": false, - "pn": false, - "dca": false, - "vendor": "GenuineIntel", - "hv-ipi": false, - "pku": false, - "smx": false, - "cmp_legacy": false, - "cmp-legacy": false, - "node-id": -1, - "avx512-4fmaps": false, - "vmcb_clean": false, - "vmcb-clean": false, - "3dnowext": false, - "amd-no-ssb": false, - "hle": true, - "npt": false, - "rdctl-no": false, - "memory": "/machine/unattached/system[0]", - "clwb": false, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm_lock": false, - "svm-lock": false, - "pfthreshold": false, - "smep": true, - "smap": true, - "x2apic": true, - "avx512vbmi": false, - "avx512vnni": false, - "hv-stimer": false, - "x-hv-synic-kvm-only": false, - "i64": true, - "flushbyasid": false, - "f16c": true, - "ace2-en": false, - "pat": true, - "pae": true, - "sse": true, - "phe-en": false, - "kvm_nopiodelay": true, - "kvm-nopiodelay": true, - "tm": false, - "kvmclock-stable-bit": true, - "hypervisor": true, - "socket-id": -1, - "mds-no": false, - "pcommit": false, - "syscall": true, - "level": 13, - "avx512dq": false, - "x-migrate-smi-count": true, - "svm": false, - "full-cpuid-auto-level": true, - "hv-reset": false, - "invtsc": false, - "sse3": true, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-ipi": true, - "kvm-pv-eoi": true, - "cx8": true, - "cldemote": false, - "hv-reenlightenment": false, - "kvm_mmu": false, - "kvm-mmu": false, - "sse4_2": true, - "sse4.2": true, - "sse4-2": true, - "pge": true, - "fill-mtrr-mask": true, - "avx512bitalg": false, - "nodeid_msr": false, - "pdcm": false, - "movbe": true, - "model": 94, - "nrip_save": false, - "nrip-save": false, - "kvm_pv_unhalt": true, - "ssse3": true, - "sse4a": false, - "invpcid": true, - "pdpe1gb": true, - "tsc-deadline": true, - "skip-l1dfl-vmentry": true, - "fma": true, - "cx16": true, - "de": true, - "enforce": false, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ibs": false, - "ds_cpl": false, - "ds-cpl": false, - "host-phys-bits": false, - "fma4": false, - "la57": false, - "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, - "pmu": false, - "apic": true, - "spec-ctrl": false, - "min-xlevel2": 0, - "tsc-adjust": true, - "tsc_adjust": true, - "kvm-steal-time": true, - "kvm_steal_time": true, - "kvmclock": true, - "l3-cache": true, - "lwp": false, - "amd-ssbd": false, - "ibpb": false, - "xop": false, - "avx": true, - "movdiri": false, - "ace2": false, - "avx512bw": false, - "acpi": false, - "hv-vapic": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": false, - "vaes": false, - "popcnt": true, - "xsaves": true, - "movdir64b": false, - "tcg-cpuid": true, - "lm": true, - "umip": true, - "pse": true, - "avx2": true, - "sep": true, - "pclmuldq": true, - "virt-ssbd": false, - "x-hv-max-vps": -1, - "nodeid-msr": false, - "md-clear": false, - "kvm": true, - "misalignsse": false, - "min-xlevel": 2147483656, - "kvm-pv-unhalt": true, - "bmi2": true, - "bmi1": true, - "realized": false, - "tsc_scale": false, - "tsc-scale": false, - "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, - "clflushopt": true, - "kvm-no-smi-migration": false, - "monitor": false, - "avx512er": false, - "pmm-en": false, - "pcid": true, - "arch-capabilities": true, - "3dnow": false, - "erms": true, - "lahf-lm": true, - "lahf_lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "hv-synic": false, - "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": false, - "rtm": true, - "lmce": true, - "hv-time": false, - "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, - "hv-tlbflush": false, - "rdrand": true, - "rdseed": true, - "avx512-4vnniw": false, - "vmx": true, - "vme": true, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": true, - "tbm": false, - "wdt": false, - "pause_filter": false, - "sha-ni": false, - "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-49" + "id": "libvirt-47" } { @@ -23473,495 +22495,6 @@ "id": "libvirt-3" } -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "kvm-asyncpf": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": true, - "stibp": false, - "xcrypt-en": false, - "pn": false, - "rsba": false, - "dca": false, - "vendor": "AuthenticAMD", - "pku": true, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": false, - "3dnowext": true, - "amd-no-ssb": false, - "npt": true, - "rdctl-no": false, - "clwb": true, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": true, - "pfthreshold": false, - "x2apic": false, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": false, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": false, - "tm": false, - "kvmclock-stable-bit": false, - "hypervisor": true, - "mds-no": false, - "pcommit": true, - "syscall": true, - "avx512dq": false, - "svm": true, - "invtsc": false, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": false, - "kvm-pv-ipi": false, - "cx8": true, - "cldemote": false, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 6, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": true, - "invpcid": false, - "pdpe1gb": true, - "tsc-deadline": false, - "skip-l1dfl-vmentry": false, - "fma": false, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": true, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": false, - "kvm-steal-time": false, - "kvmclock": false, - "lwp": false, - "amd-ssbd": false, - "xop": false, - "ibpb": false, - "avx": false, - "movdiri": false, - "acpi": true, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": true, - "popcnt": true, - "vaes": false, - "movdir64b": false, - "xsaves": false, - "lm": true, - "umip": false, - "pse": true, - "avx2": false, - "sep": true, - "virt-ssbd": false, - "nodeid-msr": false, - "md-clear": false, - "misalignsse": false, - "min-xlevel": 2147483658, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": false, - "tsc-scale": false, - "topoext": false, - "clflushopt": true, - "monitor": true, - "avx512er": false, - "pmm-en": false, - "pcid": false, - "arch-capabilities": false, - "3dnow": true, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": false, - "kvm-hint-dedicated": false, - "lmce": false, - "perfctr-nb": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vme": false, - "vmx": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "model-id": "QEMU TCG CPU version 2.5+", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-4" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483658, - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "hv-frequencies": false, - "tsc-frequency": 0, - "xd": true, - "x-intel-pt-auto-level": true, - "hv-vendor-id": "", - "kvm-asyncpf": false, - "kvm_asyncpf": false, - "perfctr_core": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "decodeassists": false, - "avx512cd": false, - "sse4_1": true, - "sse4.1": true, - "sse4-1": true, - "family": 6, - "legacy-cache": true, - "host-phys-bits-limit": 0, - "vmware-cpuid-freq": true, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "hv-runtime": false, - "xcrypt": false, - "thread-id": -1, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "hv-relaxed": false, - "hv-crash": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "hv-evmcs": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": true, - "stibp": false, - "cpuid-0xb": true, - "xcrypt-en": false, - "kvm_pv_eoi": false, - "apic-id": 4294967295, - "rsba": false, - "pn": false, - "dca": false, - "vendor": "AuthenticAMD", - "hv-ipi": false, - "pku": true, - "smx": false, - "cmp_legacy": false, - "cmp-legacy": false, - "node-id": -1, - "avx512-4fmaps": false, - "vmcb_clean": false, - "vmcb-clean": false, - "3dnowext": true, - "amd-no-ssb": false, - "hle": false, - "npt": true, - "rdctl-no": false, - "memory": "/machine/unattached/system[0]", - "clwb": true, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm_lock": false, - "svm-lock": false, - "pfthreshold": false, - "smep": true, - "smap": true, - "x2apic": false, - "avx512vbmi": false, - "avx512vnni": false, - "hv-stimer": false, - "x-hv-synic-kvm-only": false, - "i64": true, - "flushbyasid": false, - "f16c": false, - "ace2-en": false, - "pat": true, - "pae": true, - "sse": true, - "phe-en": false, - "kvm_nopiodelay": false, - "kvm-nopiodelay": false, - "tm": false, - "kvmclock-stable-bit": false, - "hypervisor": true, - "socket-id": -1, - "mds-no": false, - "pcommit": true, - "syscall": true, - "level": 13, - "avx512dq": false, - "x-migrate-smi-count": true, - "svm": true, - "full-cpuid-auto-level": true, - "hv-reset": false, - "invtsc": false, - "sse3": true, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-ipi": false, - "kvm-pv-eoi": false, - "cx8": true, - "cldemote": false, - "hv-reenlightenment": false, - "kvm_mmu": false, - "kvm-mmu": false, - "sse4_2": true, - "sse4.2": true, - "sse4-2": true, - "pge": true, - "fill-mtrr-mask": true, - "avx512bitalg": false, - "nodeid_msr": false, - "pdcm": false, - "movbe": true, - "model": 6, - "nrip_save": false, - "nrip-save": false, - "kvm_pv_unhalt": false, - "ssse3": true, - "sse4a": true, - "invpcid": false, - "pdpe1gb": true, - "tsc-deadline": false, - "skip-l1dfl-vmentry": false, - "fma": false, - "cx16": true, - "de": true, - "enforce": false, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ibs": false, - "ds_cpl": false, - "ds-cpl": false, - "host-phys-bits": false, - "fma4": false, - "la57": true, - "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, - "pmu": false, - "apic": true, - "spec-ctrl": false, - "min-xlevel2": 0, - "tsc-adjust": false, - "tsc_adjust": false, - "kvm-steal-time": false, - "kvm_steal_time": false, - "kvmclock": false, - "l3-cache": true, - "lwp": false, - "amd-ssbd": false, - "ibpb": false, - "xop": false, - "avx": false, - "movdiri": false, - "ace2": false, - "avx512bw": false, - "acpi": true, - "hv-vapic": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": true, - "vaes": false, - "popcnt": true, - "xsaves": false, - "movdir64b": false, - "tcg-cpuid": true, - "lm": true, - "umip": false, - "pse": true, - "avx2": false, - "sep": true, - "pclmuldq": true, - "virt-ssbd": false, - "x-hv-max-vps": -1, - "nodeid-msr": false, - "md-clear": false, - "kvm": true, - "misalignsse": false, - "min-xlevel": 2147483658, - "kvm-pv-unhalt": false, - "bmi2": true, - "bmi1": true, - "realized": false, - "tsc_scale": false, - "tsc-scale": false, - "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, - "clflushopt": true, - "kvm-no-smi-migration": false, - "monitor": true, - "avx512er": false, - "pmm-en": false, - "pcid": false, - "arch-capabilities": false, - "3dnow": true, - "erms": true, - "lahf-lm": true, - "lahf_lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "hv-synic": false, - "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": false, - "rtm": false, - "lmce": false, - "hv-time": false, - "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, - "hv-tlbflush": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vmx": false, - "vme": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "pause_filter": false, - "sha-ni": false, - "model-id": "QEMU TCG CPU version 2.5+", - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-4" -} - { "execute": "query-cpu-model-expansion", "arguments": { @@ -23973,7 +22506,7 @@ } } }, - "id": "libvirt-5" + "id": "libvirt-4" } { @@ -24179,494 +22712,5 @@ } } }, - "id": "libvirt-5" -} - -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "base", - "props": { - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "kvm-asyncpf": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "avx512cd": false, - "decodeassists": false, - "sse4.1": true, - "family": 6, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "xcrypt": false, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": true, - "stibp": false, - "xcrypt-en": false, - "pn": false, - "rsba": false, - "dca": false, - "vendor": "AuthenticAMD", - "pku": true, - "smx": false, - "cmp-legacy": false, - "avx512-4fmaps": false, - "vmcb-clean": false, - "hle": false, - "3dnowext": true, - "amd-no-ssb": false, - "npt": true, - "rdctl-no": false, - "clwb": true, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm-lock": false, - "smep": true, - "smap": true, - "pfthreshold": false, - "x2apic": false, - "avx512vbmi": false, - "avx512vnni": false, - "flushbyasid": false, - "f16c": false, - "ace2-en": false, - "pae": true, - "pat": true, - "sse": true, - "phe-en": false, - "kvm-nopiodelay": false, - "tm": false, - "kvmclock-stable-bit": false, - "hypervisor": true, - "mds-no": false, - "pcommit": true, - "syscall": true, - "avx512dq": false, - "svm": true, - "invtsc": false, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-eoi": false, - "kvm-pv-ipi": false, - "cx8": true, - "cldemote": false, - "kvm-mmu": false, - "sse4.2": true, - "pge": true, - "avx512bitalg": false, - "pdcm": false, - "model": 6, - "movbe": true, - "nrip-save": false, - "ssse3": true, - "sse4a": true, - "invpcid": false, - "pdpe1gb": true, - "tsc-deadline": false, - "skip-l1dfl-vmentry": false, - "fma": false, - "cx16": true, - "de": true, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ds-cpl": false, - "ibs": false, - "fma4": false, - "la57": true, - "osvw": false, - "apic": true, - "pmm": false, - "spec-ctrl": false, - "tsc-adjust": false, - "kvm-steal-time": false, - "kvmclock": false, - "lwp": false, - "amd-ssbd": false, - "xop": false, - "ibpb": false, - "avx": false, - "movdiri": false, - "acpi": true, - "avx512bw": false, - "ace2": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": true, - "popcnt": true, - "vaes": false, - "movdir64b": false, - "xsaves": false, - "lm": true, - "umip": false, - "pse": true, - "avx2": false, - "sep": true, - "virt-ssbd": false, - "nodeid-msr": false, - "md-clear": false, - "misalignsse": false, - "min-xlevel": 2147483658, - "bmi1": true, - "bmi2": true, - "kvm-pv-unhalt": false, - "tsc-scale": false, - "topoext": false, - "clflushopt": true, - "monitor": true, - "avx512er": false, - "pmm-en": false, - "pcid": false, - "arch-capabilities": false, - "3dnow": true, - "erms": true, - "lahf-lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "xstore": false, - "rtm": false, - "kvm-hint-dedicated": false, - "lmce": false, - "perfctr-nb": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vme": false, - "vmx": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "model-id": "QEMU TCG CPU version 2.5+", - "sha-ni": false, - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-6" -} - -{ - "return": { - "model": { - "name": "base", - "props": { - "phys-bits": 0, - "core-id": -1, - "xlevel": 2147483658, - "cmov": true, - "ia64": false, - "ssb-no": false, - "aes": true, - "mmx": true, - "rdpid": false, - "arat": true, - "gfni": false, - "ibrs-all": false, - "pause-filter": false, - "xsavec": false, - "intel-pt": false, - "hv-frequencies": false, - "tsc-frequency": 0, - "xd": true, - "x-intel-pt-auto-level": true, - "hv-vendor-id": "", - "kvm-asyncpf": false, - "kvm_asyncpf": false, - "perfctr_core": false, - "perfctr-core": false, - "mpx": true, - "pbe": false, - "decodeassists": false, - "avx512cd": false, - "sse4_1": true, - "sse4.1": true, - "sse4-1": true, - "family": 6, - "legacy-cache": true, - "host-phys-bits-limit": 0, - "vmware-cpuid-freq": true, - "wbnoinvd": false, - "avx512f": false, - "msr": true, - "mce": true, - "mca": true, - "hv-runtime": false, - "xcrypt": false, - "thread-id": -1, - "min-level": 13, - "xgetbv1": true, - "cid": false, - "hv-relaxed": false, - "hv-crash": false, - "ds": false, - "fxsr": true, - "xsaveopt": true, - "xtpr": false, - "hv-evmcs": false, - "avx512vl": false, - "avx512-vpopcntdq": false, - "phe": false, - "extapic": false, - "3dnowprefetch": false, - "avx512vbmi2": false, - "cr8legacy": true, - "stibp": false, - "cpuid-0xb": true, - "xcrypt-en": false, - "kvm_pv_eoi": false, - "apic-id": 4294967295, - "rsba": false, - "pn": false, - "dca": false, - "vendor": "AuthenticAMD", - "hv-ipi": false, - "pku": true, - "smx": false, - "cmp_legacy": false, - "cmp-legacy": false, - "node-id": -1, - "avx512-4fmaps": false, - "vmcb_clean": false, - "vmcb-clean": false, - "3dnowext": true, - "amd-no-ssb": false, - "hle": false, - "npt": true, - "rdctl-no": false, - "memory": "/machine/unattached/system[0]", - "clwb": true, - "lbrv": false, - "adx": true, - "ss": true, - "pni": true, - "svm_lock": false, - "svm-lock": false, - "pfthreshold": false, - "smep": true, - "smap": true, - "x2apic": false, - "avx512vbmi": false, - "avx512vnni": false, - "hv-stimer": false, - "x-hv-synic-kvm-only": false, - "i64": true, - "flushbyasid": false, - "f16c": false, - "ace2-en": false, - "pat": true, - "pae": true, - "sse": true, - "phe-en": false, - "kvm_nopiodelay": false, - "kvm-nopiodelay": false, - "tm": false, - "kvmclock-stable-bit": false, - "hypervisor": true, - "socket-id": -1, - "mds-no": false, - "pcommit": true, - "syscall": true, - "level": 13, - "avx512dq": false, - "x-migrate-smi-count": true, - "svm": true, - "full-cpuid-auto-level": true, - "hv-reset": false, - "invtsc": false, - "sse3": true, - "sse2": true, - "ssbd": false, - "est": false, - "avx512ifma": false, - "tm2": false, - "kvm-pv-ipi": false, - "kvm-pv-eoi": false, - "cx8": true, - "cldemote": false, - "hv-reenlightenment": false, - "kvm_mmu": false, - "kvm-mmu": false, - "sse4_2": true, - "sse4.2": true, - "sse4-2": true, - "pge": true, - "fill-mtrr-mask": true, - "avx512bitalg": false, - "nodeid_msr": false, - "pdcm": false, - "movbe": true, - "model": 6, - "nrip_save": false, - "nrip-save": false, - "kvm_pv_unhalt": false, - "ssse3": true, - "sse4a": true, - "invpcid": false, - "pdpe1gb": true, - "tsc-deadline": false, - "skip-l1dfl-vmentry": false, - "fma": false, - "cx16": true, - "de": true, - "enforce": false, - "stepping": 3, - "xsave": true, - "clflush": true, - "skinit": false, - "tsc": true, - "tce": false, - "fpu": true, - "ibs": false, - "ds_cpl": false, - "ds-cpl": false, - "host-phys-bits": false, - "fma4": false, - "la57": true, - "osvw": false, - "check": true, - "hv-spinlocks": -1, - "pmm": false, - "pmu": false, - "apic": true, - "spec-ctrl": false, - "min-xlevel2": 0, - "tsc-adjust": false, - "tsc_adjust": false, - "kvm-steal-time": false, - "kvm_steal_time": false, - "kvmclock": false, - "l3-cache": true, - "lwp": false, - "amd-ssbd": false, - "ibpb": false, - "xop": false, - "avx": false, - "movdiri": false, - "ace2": false, - "avx512bw": false, - "acpi": true, - "hv-vapic": false, - "fsgsbase": true, - "ht": false, - "nx": true, - "pclmulqdq": true, - "mmxext": true, - "vaes": false, - "popcnt": true, - "xsaves": false, - "movdir64b": false, - "tcg-cpuid": true, - "lm": true, - "umip": false, - "pse": true, - "avx2": false, - "sep": true, - "pclmuldq": true, - "virt-ssbd": false, - "x-hv-max-vps": -1, - "nodeid-msr": false, - "md-clear": false, - "kvm": true, - "misalignsse": false, - "min-xlevel": 2147483658, - "kvm-pv-unhalt": false, - "bmi2": true, - "bmi1": true, - "realized": false, - "tsc_scale": false, - "tsc-scale": false, - "topoext": false, - "hv-vpindex": false, - "xlevel2": 0, - "clflushopt": true, - "kvm-no-smi-migration": false, - "monitor": true, - "avx512er": false, - "pmm-en": false, - "pcid": false, - "arch-capabilities": false, - "3dnow": true, - "erms": true, - "lahf-lm": true, - "lahf_lm": true, - "vpclmulqdq": false, - "fxsr-opt": false, - "hv-synic": false, - "xstore": false, - "fxsr_opt": false, - "kvm-hint-dedicated": false, - "rtm": false, - "lmce": false, - "hv-time": false, - "perfctr-nb": false, - "perfctr_nb": false, - "ffxsr": false, - "hv-tlbflush": false, - "rdrand": true, - "rdseed": false, - "avx512-4vnniw": false, - "vmx": false, - "vme": false, - "dtes64": false, - "mtrr": true, - "rdtscp": true, - "pse36": true, - "kvm-pv-tlb-flush": false, - "tbm": false, - "wdt": false, - "pause_filter": false, - "sha-ni": false, - "model-id": "QEMU TCG CPU version 2.5+", - "abm": true, - "avx512pf": false, - "xstore-en": false - } - } - }, - "id": "libvirt-6" + "id": "libvirt-4" } diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index 4cc91e677e..0e546bae1e 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -213,9 +213,6 @@ <package>v4.0.0-1173-g9c70209b63</package> <arch>x86_64</arch> <hostCPU type='kvm' model='base' migratability='yes'> - <property name='phys-bits' type='number' value='0'/> - <property name='core-id' type='number' value='-1'/> - <property name='xlevel' type='number' value='2147483656'/> <property name='cmov' type='boolean' value='true' migratable='yes'/> <property name='ia64' type='boolean' value='false'/> <property name='ssb-no' type='boolean' value='false'/> @@ -228,44 +225,27 @@ <property name='pause-filter' type='boolean' value='false'/> <property name='xsavec' type='boolean' value='true' migratable='yes'/> <property name='intel-pt' type='boolean' value='false'/> - <property name='hv-frequencies' type='boolean' value='false'/> - <property name='tsc-frequency' type='number' value='0'/> - <property name='xd' type='boolean' value='true' migratable='yes'/> - <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/> - <property name='hv-vendor-id' type='string' value=''/> <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/> - <property name='kvm_asyncpf' type='boolean' value='true' migratable='yes'/> - <property name='perfctr_core' 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='decodeassists' type='boolean' value='false'/> <property name='avx512cd' type='boolean' value='false'/> - <property name='sse4_1' type='boolean' value='true' migratable='yes'/> + <property name='decodeassists' type='boolean' value='false'/> <property name='sse4.1' type='boolean' value='true' migratable='yes'/> - <property name='sse4-1' type='boolean' value='true' migratable='yes'/> <property name='family' type='number' value='6'/> - <property name='legacy-cache' type='boolean' value='true' migratable='yes'/> - <property name='host-phys-bits-limit' type='number' value='0'/> - <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/> <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='hv-runtime' type='boolean' value='false'/> <property name='xcrypt' type='boolean' value='false'/> - <property name='thread-id' type='number' value='-1'/> <property name='min-level' type='number' value='13'/> <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> <property name='cid' type='boolean' value='false'/> - <property name='hv-relaxed' type='boolean' value='false'/> - <property name='hv-crash' type='boolean' value='false'/> <property name='ds' type='boolean' value='false'/> <property name='fxsr' type='boolean' value='true' migratable='yes'/> <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> <property name='xtpr' type='boolean' value='false'/> - <property name='hv-evmcs' 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'/> @@ -274,94 +254,67 @@ <property name='avx512vbmi2' type='boolean' value='false'/> <property name='cr8legacy' type='boolean' value='false'/> <property name='stibp' type='boolean' value='false'/> - <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/> <property name='xcrypt-en' type='boolean' value='false'/> - <property name='kvm_pv_eoi' type='boolean' value='true' migratable='yes'/> - <property name='apic-id' type='number' value='4294967295'/> - <property name='rsba' 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='GenuineIntel'/> - <property name='hv-ipi' type='boolean' value='false'/> <property name='pku' type='boolean' value='false'/> <property name='smx' type='boolean' value='false'/> - <property name='cmp_legacy' type='boolean' value='false'/> <property name='cmp-legacy' type='boolean' value='false'/> - <property name='node-id' type='number' value='-1'/> <property name='avx512-4fmaps' type='boolean' value='false'/> - <property name='vmcb_clean' type='boolean' value='false'/> <property name='vmcb-clean' type='boolean' value='false'/> + <property name='hle' type='boolean' value='true' migratable='yes'/> <property name='3dnowext' type='boolean' value='false'/> <property name='amd-no-ssb' type='boolean' value='false'/> - <property name='hle' type='boolean' value='true' migratable='yes'/> <property name='npt' type='boolean' value='false'/> <property name='rdctl-no' type='boolean' value='false'/> - <property name='memory' type='string' value='/machine/unattached/system[0]'/> <property name='clwb' type='boolean' value='false'/> <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='svm_lock' type='boolean' value='false'/> <property name='svm-lock' type='boolean' value='false'/> - <property name='pfthreshold' 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='x2apic' type='boolean' value='true' migratable='yes'/> <property name='avx512vbmi' type='boolean' value='false'/> <property name='avx512vnni' type='boolean' value='false'/> - <property name='hv-stimer' type='boolean' value='false'/> - <property name='x-hv-synic-kvm-only' type='boolean' value='false'/> - <property name='i64' type='boolean' value='true' migratable='yes'/> <property name='flushbyasid' type='boolean' value='false'/> <property name='f16c' type='boolean' value='true' migratable='yes'/> <property name='ace2-en' type='boolean' value='false'/> - <property name='pat' type='boolean' value='true' migratable='yes'/> <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='kvm_nopiodelay' type='boolean' value='true' migratable='yes'/> <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='hypervisor' type='boolean' value='true' migratable='yes'/> - <property name='socket-id' type='number' value='-1'/> <property name='mds-no' type='boolean' value='false'/> <property name='pcommit' type='boolean' value='false'/> <property name='syscall' type='boolean' value='true' migratable='yes'/> - <property name='level' type='number' value='13'/> <property name='avx512dq' type='boolean' value='false'/> - <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/> <property name='svm' type='boolean' value='false'/> - <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/> - <property name='hv-reset' type='boolean' value='false'/> <property name='invtsc' type='boolean' value='false'/> - <property name='sse3' type='boolean' value='true' migratable='yes'/> <property name='sse2' type='boolean' value='true' migratable='yes'/> <property name='ssbd' type='boolean' value='false'/> <property name='est' type='boolean' value='false'/> <property name='avx512ifma' type='boolean' value='false'/> <property name='tm2' type='boolean' value='false'/> - <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/> <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='cldemote' type='boolean' value='false'/> - <property name='hv-reenlightenment' type='boolean' value='false'/> - <property name='kvm_mmu' type='boolean' value='false'/> <property name='kvm-mmu' type='boolean' value='false'/> - <property name='sse4_2' type='boolean' value='true' migratable='yes'/> <property name='sse4.2' type='boolean' value='true' migratable='yes'/> - <property name='sse4-2' type='boolean' value='true' migratable='yes'/> <property name='pge' type='boolean' value='true' migratable='yes'/> - <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/> <property name='avx512bitalg' type='boolean' value='false'/> - <property name='nodeid_msr' type='boolean' value='false'/> <property name='pdcm' type='boolean' value='false'/> - <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='model' type='number' value='94'/> - <property name='nrip_save' type='boolean' value='false'/> + <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='nrip-save' type='boolean' value='false'/> - <property name='kvm_pv_unhalt' type='boolean' value='true' migratable='yes'/> <property name='ssse3' type='boolean' value='true' migratable='yes'/> <property name='sse4a' type='boolean' value='false'/> <property name='invpcid' type='boolean' value='true' migratable='yes'/> @@ -371,7 +324,6 @@ <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='enforce' type='boolean' value='false'/> <property name='stepping' type='number' value='3'/> <property name='xsave' type='boolean' value='true' migratable='yes'/> <property name='clflush' type='boolean' value='true' migratable='yes'/> @@ -379,70 +331,51 @@ <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='ibs' type='boolean' value='false'/> - <property name='ds_cpl' type='boolean' value='false'/> <property name='ds-cpl' type='boolean' value='false'/> - <property name='host-phys-bits' type='boolean' value='false'/> + <property name='ibs' type='boolean' value='false'/> <property name='fma4' type='boolean' value='false'/> <property name='la57' type='boolean' value='false'/> <property name='osvw' type='boolean' value='false'/> - <property name='check' type='boolean' value='true' migratable='yes'/> - <property name='hv-spinlocks' type='number' value='-1'/> - <property name='pmm' type='boolean' value='false'/> - <property name='pmu' type='boolean' value='false'/> <property name='apic' type='boolean' value='true' migratable='yes'/> + <property name='pmm' type='boolean' value='false'/> <property name='spec-ctrl' type='boolean' value='false'/> - <property name='min-xlevel2' type='number' value='0'/> <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/> - <property name='tsc_adjust' type='boolean' value='true' migratable='yes'/> <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/> - <property name='kvm_steal_time' type='boolean' value='true' migratable='yes'/> <property name='kvmclock' type='boolean' value='true' migratable='yes'/> - <property name='l3-cache' type='boolean' value='true' migratable='yes'/> <property name='lwp' type='boolean' value='false'/> <property name='amd-ssbd' type='boolean' value='false'/> - <property name='ibpb' type='boolean' value='false'/> <property name='xop' type='boolean' value='false'/> + <property name='ibpb' type='boolean' value='false'/> <property name='avx' type='boolean' value='true' migratable='yes'/> <property name='movdiri' type='boolean' value='false'/> - <property name='ace2' type='boolean' value='false'/> - <property name='avx512bw' type='boolean' value='false'/> <property name='acpi' type='boolean' value='false'/> - <property name='hv-vapic' 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='ht' 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='false'/> - <property name='vaes' type='boolean' value='false'/> <property name='popcnt' type='boolean' value='true' migratable='yes'/> - <property name='xsaves' type='boolean' value='true' migratable='yes'/> + <property name='vaes' type='boolean' value='false'/> <property name='movdir64b' type='boolean' value='false'/> - <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/> + <property name='xsaves' type='boolean' value='true' migratable='yes'/> <property name='lm' type='boolean' value='true' migratable='yes'/> <property name='umip' type='boolean' value='true' migratable='yes'/> <property name='pse' type='boolean' value='true' migratable='yes'/> <property name='avx2' type='boolean' value='true' migratable='yes'/> <property name='sep' type='boolean' value='true' migratable='yes'/> - <property name='pclmuldq' type='boolean' value='true' migratable='yes'/> <property name='virt-ssbd' type='boolean' value='false'/> - <property name='x-hv-max-vps' type='number' value='-1'/> <property name='nodeid-msr' type='boolean' value='false'/> <property name='md-clear' type='boolean' value='false'/> - <property name='kvm' type='boolean' value='true' migratable='yes'/> <property name='misalignsse' type='boolean' value='false'/> <property name='min-xlevel' type='number' value='2147483656'/> - <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/> - <property name='bmi2' type='boolean' value='true' migratable='yes'/> <property name='bmi1' type='boolean' value='true' migratable='yes'/> - <property name='realized' type='boolean' value='false'/> - <property name='tsc_scale' type='boolean' value='false'/> + <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='false'/> <property name='topoext' type='boolean' value='false'/> - <property name='hv-vpindex' type='boolean' value='false'/> - <property name='xlevel2' type='number' value='0'/> <property name='clflushopt' type='boolean' value='true' migratable='yes'/> - <property name='kvm-no-smi-migration' type='boolean' value='false'/> <property name='monitor' type='boolean' value='false'/> <property name='avx512er' type='boolean' value='false'/> <property name='pmm-en' type='boolean' value='false'/> @@ -451,25 +384,18 @@ <property name='3dnow' type='boolean' value='false'/> <property name='erms' type='boolean' value='true' migratable='yes'/> <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> - <property name='lahf_lm' type='boolean' value='true' migratable='yes'/> <property name='vpclmulqdq' type='boolean' value='false'/> <property name='fxsr-opt' type='boolean' value='false'/> - <property name='hv-synic' type='boolean' value='false'/> <property name='xstore' type='boolean' value='false'/> - <property name='fxsr_opt' type='boolean' value='false'/> - <property name='kvm-hint-dedicated' type='boolean' value='false'/> <property name='rtm' type='boolean' value='true' migratable='yes'/> + <property name='kvm-hint-dedicated' type='boolean' value='false'/> <property name='lmce' type='boolean' value='true' migratable='yes'/> - <property name='hv-time' type='boolean' value='false'/> <property name='perfctr-nb' type='boolean' value='false'/> - <property name='perfctr_nb' type='boolean' value='false'/> - <property name='ffxsr' type='boolean' value='false'/> - <property name='hv-tlbflush' 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='vmx' type='boolean' value='true' migratable='yes'/> <property name='vme' type='boolean' value='true' migratable='yes'/> + <property name='vmx' type='boolean' value='true' migratable='yes'/> <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'/> @@ -477,17 +403,13 @@ <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/> <property name='tbm' type='boolean' value='false'/> <property name='wdt' type='boolean' value='false'/> - <property name='pause_filter' type='boolean' value='false'/> - <property name='sha-ni' type='boolean' value='false'/> <property name='model-id' type='string' value='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/> + <property name='sha-ni' type='boolean' value='false'/> <property name='abm' type='boolean' value='true' migratable='yes'/> <property name='avx512pf' type='boolean' value='false'/> <property name='xstore-en' type='boolean' value='false'/> </hostCPU> <hostCPU type='tcg' model='base' migratability='yes'> - <property name='phys-bits' type='number' value='0'/> - <property name='core-id' type='number' value='-1'/> - <property name='xlevel' type='number' value='2147483658'/> <property name='cmov' type='boolean' value='true' migratable='yes'/> <property name='ia64' type='boolean' value='false'/> <property name='ssb-no' type='boolean' value='false'/> @@ -500,44 +422,27 @@ <property name='pause-filter' type='boolean' value='false'/> <property name='xsavec' type='boolean' value='false'/> <property name='intel-pt' type='boolean' value='false'/> - <property name='hv-frequencies' type='boolean' value='false'/> - <property name='tsc-frequency' type='number' value='0'/> - <property name='xd' type='boolean' value='true' migratable='yes'/> - <property name='x-intel-pt-auto-level' type='boolean' value='true' migratable='yes'/> - <property name='hv-vendor-id' type='string' value=''/> <property name='kvm-asyncpf' type='boolean' value='false'/> - <property name='kvm_asyncpf' type='boolean' value='false'/> - <property name='perfctr_core' 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='decodeassists' type='boolean' value='false'/> <property name='avx512cd' type='boolean' value='false'/> - <property name='sse4_1' type='boolean' value='true' migratable='yes'/> + <property name='decodeassists' type='boolean' value='false'/> <property name='sse4.1' type='boolean' value='true' migratable='yes'/> - <property name='sse4-1' type='boolean' value='true' migratable='yes'/> <property name='family' type='number' value='6'/> - <property name='legacy-cache' type='boolean' value='true' migratable='yes'/> - <property name='host-phys-bits-limit' type='number' value='0'/> - <property name='vmware-cpuid-freq' type='boolean' value='true' migratable='yes'/> <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='hv-runtime' type='boolean' value='false'/> <property name='xcrypt' type='boolean' value='false'/> - <property name='thread-id' type='number' value='-1'/> <property name='min-level' type='number' value='13'/> <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> <property name='cid' type='boolean' value='false'/> - <property name='hv-relaxed' type='boolean' value='false'/> - <property name='hv-crash' type='boolean' value='false'/> <property name='ds' type='boolean' value='false'/> <property name='fxsr' type='boolean' value='true' migratable='yes'/> <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> <property name='xtpr' type='boolean' value='false'/> - <property name='hv-evmcs' 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'/> @@ -546,94 +451,67 @@ <property name='avx512vbmi2' type='boolean' value='false'/> <property name='cr8legacy' type='boolean' value='true' migratable='yes'/> <property name='stibp' type='boolean' value='false'/> - <property name='cpuid-0xb' type='boolean' value='true' migratable='yes'/> <property name='xcrypt-en' type='boolean' value='false'/> - <property name='kvm_pv_eoi' type='boolean' value='false'/> - <property name='apic-id' type='number' value='4294967295'/> - <property name='rsba' 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='hv-ipi' type='boolean' value='false'/> <property name='pku' type='boolean' value='true' migratable='yes'/> <property name='smx' type='boolean' value='false'/> - <property name='cmp_legacy' type='boolean' value='false'/> <property name='cmp-legacy' type='boolean' value='false'/> - <property name='node-id' type='number' value='-1'/> <property name='avx512-4fmaps' type='boolean' value='false'/> - <property name='vmcb_clean' type='boolean' value='false'/> <property name='vmcb-clean' type='boolean' value='false'/> + <property name='hle' type='boolean' value='false'/> <property name='3dnowext' type='boolean' value='true' migratable='yes'/> <property name='amd-no-ssb' type='boolean' value='false'/> - <property name='hle' type='boolean' value='false'/> <property name='npt' type='boolean' value='true' migratable='yes'/> <property name='rdctl-no' type='boolean' value='false'/> - <property name='memory' type='string' value='/machine/unattached/system[0]'/> <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='svm_lock' type='boolean' value='false'/> <property name='svm-lock' type='boolean' value='false'/> - <property name='pfthreshold' 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='x2apic' type='boolean' value='false'/> <property name='avx512vbmi' type='boolean' value='false'/> <property name='avx512vnni' type='boolean' value='false'/> - <property name='hv-stimer' type='boolean' value='false'/> - <property name='x-hv-synic-kvm-only' type='boolean' value='false'/> - <property name='i64' type='boolean' value='true' migratable='yes'/> <property name='flushbyasid' type='boolean' value='false'/> <property name='f16c' type='boolean' value='false'/> <property name='ace2-en' type='boolean' value='false'/> - <property name='pat' type='boolean' value='true' migratable='yes'/> <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='kvm_nopiodelay' 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='hypervisor' type='boolean' value='true' migratable='yes'/> - <property name='socket-id' type='number' value='-1'/> <property name='mds-no' type='boolean' value='false'/> <property name='pcommit' type='boolean' value='true' migratable='yes'/> <property name='syscall' type='boolean' value='true' migratable='yes'/> - <property name='level' type='number' value='13'/> <property name='avx512dq' type='boolean' value='false'/> - <property name='x-migrate-smi-count' type='boolean' value='true' migratable='yes'/> <property name='svm' type='boolean' value='true' migratable='yes'/> - <property name='full-cpuid-auto-level' type='boolean' value='true' migratable='yes'/> - <property name='hv-reset' type='boolean' value='false'/> <property name='invtsc' type='boolean' value='false'/> - <property name='sse3' type='boolean' value='true' migratable='yes'/> <property name='sse2' type='boolean' value='true' migratable='yes'/> <property name='ssbd' type='boolean' value='false'/> <property name='est' type='boolean' value='false'/> <property name='avx512ifma' type='boolean' value='false'/> <property name='tm2' type='boolean' value='false'/> - <property name='kvm-pv-ipi' 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='cldemote' type='boolean' value='false'/> - <property name='hv-reenlightenment' type='boolean' value='false'/> - <property name='kvm_mmu' type='boolean' value='false'/> <property name='kvm-mmu' type='boolean' value='false'/> - <property name='sse4_2' type='boolean' value='true' migratable='yes'/> <property name='sse4.2' type='boolean' value='true' migratable='yes'/> - <property name='sse4-2' type='boolean' value='true' migratable='yes'/> <property name='pge' type='boolean' value='true' migratable='yes'/> - <property name='fill-mtrr-mask' type='boolean' value='true' migratable='yes'/> <property name='avx512bitalg' type='boolean' value='false'/> - <property name='nodeid_msr' type='boolean' value='false'/> <property name='pdcm' type='boolean' value='false'/> - <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='model' type='number' value='6'/> - <property name='nrip_save' type='boolean' value='false'/> + <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='nrip-save' type='boolean' value='false'/> - <property name='kvm_pv_unhalt' type='boolean' value='false'/> <property name='ssse3' type='boolean' value='true' migratable='yes'/> <property name='sse4a' type='boolean' value='true' migratable='yes'/> <property name='invpcid' type='boolean' value='false'/> @@ -643,7 +521,6 @@ <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='enforce' type='boolean' value='false'/> <property name='stepping' type='number' value='3'/> <property name='xsave' type='boolean' value='true' migratable='yes'/> <property name='clflush' type='boolean' value='true' migratable='yes'/> @@ -651,70 +528,51 @@ <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='ibs' type='boolean' value='false'/> - <property name='ds_cpl' type='boolean' value='false'/> <property name='ds-cpl' type='boolean' value='false'/> - <property name='host-phys-bits' type='boolean' value='false'/> + <property name='ibs' type='boolean' value='false'/> <property name='fma4' type='boolean' value='false'/> <property name='la57' type='boolean' value='true' migratable='yes'/> <property name='osvw' type='boolean' value='false'/> - <property name='check' type='boolean' value='true' migratable='yes'/> - <property name='hv-spinlocks' type='number' value='-1'/> - <property name='pmm' type='boolean' value='false'/> - <property name='pmu' type='boolean' value='false'/> <property name='apic' type='boolean' value='true' migratable='yes'/> + <property name='pmm' type='boolean' value='false'/> <property name='spec-ctrl' type='boolean' value='false'/> - <property name='min-xlevel2' type='number' value='0'/> <property name='tsc-adjust' type='boolean' value='false'/> - <property name='tsc_adjust' type='boolean' value='false'/> <property name='kvm-steal-time' type='boolean' value='false'/> - <property name='kvm_steal_time' type='boolean' value='false'/> <property name='kvmclock' type='boolean' value='false'/> - <property name='l3-cache' type='boolean' value='true' migratable='yes'/> <property name='lwp' type='boolean' value='false'/> <property name='amd-ssbd' type='boolean' value='false'/> - <property name='ibpb' type='boolean' value='false'/> <property name='xop' type='boolean' value='false'/> + <property name='ibpb' type='boolean' value='false'/> <property name='avx' type='boolean' value='false'/> <property name='movdiri' type='boolean' value='false'/> - <property name='ace2' type='boolean' value='false'/> - <property name='avx512bw' type='boolean' value='false'/> <property name='acpi' type='boolean' value='true' migratable='yes'/> - <property name='hv-vapic' 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='ht' 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='vaes' type='boolean' value='false'/> <property name='popcnt' type='boolean' value='true' migratable='yes'/> - <property name='xsaves' type='boolean' value='false'/> + <property name='vaes' type='boolean' value='false'/> <property name='movdir64b' type='boolean' value='false'/> - <property name='tcg-cpuid' type='boolean' value='true' migratable='yes'/> + <property name='xsaves' type='boolean' value='false'/> <property name='lm' type='boolean' value='true' migratable='yes'/> <property name='umip' type='boolean' value='false'/> <property name='pse' type='boolean' value='true' migratable='yes'/> <property name='avx2' type='boolean' value='false'/> <property name='sep' type='boolean' value='true' migratable='yes'/> - <property name='pclmuldq' type='boolean' value='true' migratable='yes'/> <property name='virt-ssbd' type='boolean' value='false'/> - <property name='x-hv-max-vps' type='number' value='-1'/> <property name='nodeid-msr' type='boolean' value='false'/> <property name='md-clear' type='boolean' value='false'/> - <property name='kvm' type='boolean' value='true' migratable='yes'/> <property name='misalignsse' type='boolean' value='false'/> <property name='min-xlevel' type='number' value='2147483658'/> - <property name='kvm-pv-unhalt' type='boolean' value='false'/> - <property name='bmi2' type='boolean' value='true' migratable='yes'/> <property name='bmi1' type='boolean' value='true' migratable='yes'/> - <property name='realized' type='boolean' value='false'/> - <property name='tsc_scale' type='boolean' value='false'/> + <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='hv-vpindex' type='boolean' value='false'/> - <property name='xlevel2' type='number' value='0'/> <property name='clflushopt' type='boolean' value='true' migratable='yes'/> - <property name='kvm-no-smi-migration' type='boolean' value='false'/> <property name='monitor' type='boolean' value='true' migratable='yes'/> <property name='avx512er' type='boolean' value='false'/> <property name='pmm-en' type='boolean' value='false'/> @@ -723,25 +581,18 @@ <property name='3dnow' type='boolean' value='true' migratable='yes'/> <property name='erms' type='boolean' value='true' migratable='yes'/> <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> - <property name='lahf_lm' type='boolean' value='true' migratable='yes'/> <property name='vpclmulqdq' type='boolean' value='false'/> <property name='fxsr-opt' type='boolean' value='false'/> - <property name='hv-synic' type='boolean' value='false'/> <property name='xstore' type='boolean' value='false'/> - <property name='fxsr_opt' type='boolean' value='false'/> - <property name='kvm-hint-dedicated' type='boolean' value='false'/> <property name='rtm' type='boolean' value='false'/> + <property name='kvm-hint-dedicated' type='boolean' value='false'/> <property name='lmce' type='boolean' value='false'/> - <property name='hv-time' type='boolean' value='false'/> <property name='perfctr-nb' type='boolean' value='false'/> - <property name='perfctr_nb' type='boolean' value='false'/> - <property name='ffxsr' type='boolean' value='false'/> - <property name='hv-tlbflush' 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='vmx' 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'/> @@ -749,9 +600,8 @@ <property name='kvm-pv-tlb-flush' type='boolean' value='false'/> <property name='tbm' type='boolean' value='false'/> <property name='wdt' type='boolean' value='false'/> - <property name='pause_filter' type='boolean' value='false'/> - <property name='sha-ni' 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='abm' type='boolean' value='true' migratable='yes'/> <property name='avx512pf' type='boolean' value='false'/> <property name='xstore-en' type='boolean' value='false'/> -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:14AM +0200, Jiri Denemark wrote:
We used type=full expansion on the result of previous type=static expansion to get all possible spellings of CPU features. Since we can now translate the QEMU's canonical names to our names, we can drop this magic and do only type=static CPU model expansion.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 9 +- .../caps_4.1.0.x86_64.replies | 1964 +---------------- .../caps_4.1.0.x86_64.xml | 226 +- 3 files changed, 48 insertions(+), 2151 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

It was never implemented or used for anything else anyway. Mainly because it uses CPUID features bits. The function is renamed as qemuMonitorGetGuestCPUx86 to make this explicit. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor.c | 15 +++++------- src/qemu/qemu_monitor.h | 7 +++--- src/qemu/qemu_monitor_json.c | 47 +++++++++++++++--------------------- src/qemu/qemu_monitor_json.h | 7 +++--- src/qemu/qemu_process.c | 3 +-- tests/qemumonitorjsontest.c | 10 +++----- 6 files changed, 36 insertions(+), 53 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index d9d076633d..344aac09f0 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4080,9 +4080,8 @@ qemuMonitorSetDomainLog(qemuMonitorPtr mon, /** - * qemuMonitorJSONGetGuestCPU: + * qemuMonitorJSONGetGuestCPUx86: * @mon: Pointer to the monitor - * @arch: arch of the guest * @data: returns the cpu data * @disabled: returns the CPU data for features which were disabled by QEMU * @@ -4092,13 +4091,11 @@ qemuMonitorSetDomainLog(qemuMonitorPtr mon, * -1 on other errors. */ int -qemuMonitorGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled) +qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled) { - VIR_DEBUG("arch=%s data=%p disabled=%p", - virArchToString(arch), data, disabled); + VIR_DEBUG("data=%p disabled=%p", data, disabled); QEMU_CHECK_MONITOR(mon); @@ -4106,7 +4103,7 @@ qemuMonitorGetGuestCPU(qemuMonitorPtr mon, if (disabled) *disabled = NULL; - return qemuMonitorJSONGetGuestCPU(mon, arch, data, disabled); + return qemuMonitorJSONGetGuestCPUx86(mon, data, disabled); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index a19d6069c6..ac2499c22a 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1150,10 +1150,9 @@ void qemuMonitorSetDomainLog(qemuMonitorPtr mon, void *opaque, virFreeCallback destroy); -int qemuMonitorGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled); +int qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled); int qemuMonitorRTCResetReinjection(qemuMonitorPtr mon); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 2dcd65d86f..ffa1fb5d57 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -7319,9 +7319,8 @@ qemuMonitorJSONCheckCPUx86(qemuMonitorPtr mon) /** - * qemuMonitorJSONGetGuestCPU: + * qemuMonitorJSONGetGuestCPUx86: * @mon: Pointer to the monitor - * @arch: arch of the guest * @data: returns the cpu data of the guest * @disabled: returns the CPU data for features which were disabled by QEMU * @@ -7331,40 +7330,32 @@ qemuMonitorJSONCheckCPUx86(qemuMonitorPtr mon) * -1 on other errors. */ int -qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled) +qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled) { virCPUDataPtr cpuEnabled = NULL; virCPUDataPtr cpuDisabled = NULL; int rc; - if (ARCH_IS_X86(arch)) { - if ((rc = qemuMonitorJSONCheckCPUx86(mon)) < 0) - return -1; - else if (!rc) - return -2; + if ((rc = qemuMonitorJSONCheckCPUx86(mon)) < 0) + return -1; + else if (!rc) + return -2; - if (qemuMonitorJSONGetCPUx86Data(mon, "feature-words", - &cpuEnabled) < 0) - goto error; + if (qemuMonitorJSONGetCPUx86Data(mon, "feature-words", + &cpuEnabled) < 0) + goto error; - if (disabled && - qemuMonitorJSONGetCPUx86Data(mon, "filtered-features", - &cpuDisabled) < 0) - goto error; + if (disabled && + qemuMonitorJSONGetCPUx86Data(mon, "filtered-features", + &cpuDisabled) < 0) + goto error; - *data = cpuEnabled; - if (disabled) - *disabled = cpuDisabled; - return 0; - } - - virReportError(VIR_ERR_INTERNAL_ERROR, - _("CPU definition retrieval isn't supported for '%s'"), - virArchToString(arch)); - return -1; + *data = cpuEnabled; + if (disabled) + *disabled = cpuDisabled; + return 0; error: virCPUDataFree(cpuEnabled); diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 2a881fbddd..424861b531 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -489,10 +489,9 @@ int qemuMonitorJSONGetCPUx86Data(qemuMonitorPtr mon, const char *property, virCPUDataPtr *cpudata); -int qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled); +int qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled); int qemuMonitorJSONRTCResetReinjection(qemuMonitorPtr mon); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 47e84e5ef0..db940b02a8 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4149,8 +4149,7 @@ qemuProcessFetchGuestCPU(virQEMUDriverPtr driver, if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) goto error; - rc = qemuMonitorGetGuestCPU(priv->mon, vm->def->os.arch, - &dataEnabled, &dataDisabled); + rc = qemuMonitorGetGuestCPUx86(priv->mon, &dataEnabled, &dataDisabled); if (qemuDomainObjExitMonitor(driver, vm) < 0) goto error; diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index e087d1c256..2ed9133c06 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2487,9 +2487,8 @@ testQemuMonitorJSONGetCPUData(const void *opaque) if (qemuMonitorTestAddItem(test, "qom-get", jsonStr) < 0) goto cleanup; - if (qemuMonitorJSONGetGuestCPU(qemuMonitorTestGetMonitor(test), - VIR_ARCH_X86_64, - &cpuData, NULL) < 0) + if (qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test), + &cpuData, NULL) < 0) goto cleanup; if (!(actual = virCPUDataFormat(cpuData))) @@ -2530,9 +2529,8 @@ testQemuMonitorJSONGetNonExistingCPUData(const void *opaque) "}") < 0) goto cleanup; - rv = qemuMonitorJSONGetGuestCPU(qemuMonitorTestGetMonitor(test), - VIR_ARCH_X86_64, - &cpuData, NULL); + rv = qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test), + &cpuData, NULL); if (rv != -2) { virReportError(VIR_ERR_INTERNAL_ERROR, "Unexpected return value %d, expecting -2", rv); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:15AM +0200, Jiri Denemark wrote:
It was never implemented or used for anything else anyway. Mainly because it uses CPUID features bits. The function is renamed as qemuMonitorGetGuestCPUx86 to make this explicit.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor.c | 15 +++++------- src/qemu/qemu_monitor.h | 7 +++--- src/qemu/qemu_monitor_json.c | 47 +++++++++++++++--------------------- src/qemu/qemu_monitor_json.h | 7 +++--- src/qemu/qemu_process.c | 3 +-- tests/qemumonitorjsontest.c | 10 +++----- 6 files changed, 36 insertions(+), 53 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

This is a generic replacement for the former virCPUx86DataAddFeature, which worked on the generic virCPUDataPtr anyway. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu/cpu.c | 33 +++++++++++++++++++++++++++++++++ src/cpu/cpu.h | 9 +++++++++ src/cpu/cpu_x86.c | 3 ++- src/cpu/cpu_x86.h | 3 --- src/libvirt_private.syms | 2 +- src/qemu/qemu_capabilities.c | 2 +- 6 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index a223ff06e8..b89462cc0c 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -1075,3 +1075,36 @@ virCPUValidateFeatures(virArch arch, else return 0; } + + +/** + * virCPUDataAddFeature: + * + * @cpuData: CPU data + * @name: feature to be added to @cpuData + * + * Adds a feature called @name to @cpuData. + * + * Returns 0 on success, -1 on error. + */ +int +virCPUDataAddFeature(virCPUDataPtr cpuData, + const char *name) +{ + struct cpuArchDriver *driver; + + VIR_DEBUG("arch=%s, cpuData=%p, name=%s", + virArchToString(cpuData->arch), cpuData, name); + + if (!(driver = cpuGetSubDriver(cpuData->arch))) + return -1; + + if (!driver->dataAddFeature) { + virReportError(VIR_ERR_NO_SUPPORT, + _("cannot add guest CPU feature for %s architecture"), + virArchToString(cpuData->arch)); + return -1; + } + + return driver->dataAddFeature(cpuData, name); +} diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index 7cc9e7d9db..13909bb7a4 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -117,6 +117,10 @@ typedef virCPUDefPtr typedef int (*virCPUArchValidateFeatures)(virCPUDefPtr cpu); +typedef int +(*virCPUArchDataAddFeature)(virCPUDataPtr cpuData, + const char *name); + struct cpuArchDriver { const char *name; const virArch *arch; @@ -139,6 +143,7 @@ struct cpuArchDriver { virCPUArchExpandFeatures expandFeatures; virCPUArchCopyMigratable copyMigratable; virCPUArchValidateFeatures validateFeatures; + virCPUArchDataAddFeature dataAddFeature; }; @@ -256,6 +261,10 @@ virCPUValidateFeatures(virArch arch, virCPUDefPtr cpu) ATTRIBUTE_NONNULL(2); +int +virCPUDataAddFeature(virCPUDataPtr cpuData, + const char *name); + /* virCPUDataFormat and virCPUDataParse are implemented for unit tests only and * have no real-life usage */ diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 689b6cdaf5..b6a94d483a 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -3326,7 +3326,7 @@ virCPUx86DataSetVendor(virCPUDataPtr cpuData, } -int +static int virCPUx86DataAddFeature(virCPUDataPtr cpuData, const char *name) { @@ -3371,4 +3371,5 @@ struct cpuArchDriver cpuDriverX86 = { .expandFeatures = virCPUx86ExpandFeatures, .copyMigratable = virCPUx86CopyMigratable, .validateFeatures = virCPUx86ValidateFeatures, + .dataAddFeature = virCPUx86DataAddFeature, }; diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index 29037d4afa..28ae46647a 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -40,6 +40,3 @@ uint32_t virCPUx86DataGetSignature(virCPUDataPtr cpuData, int virCPUx86DataSetVendor(virCPUDataPtr cpuData, const char *vendor); - -int virCPUx86DataAddFeature(virCPUDataPtr cpuData, - const char *name); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 228cd929b4..ab2e4bc6fe 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1245,6 +1245,7 @@ virCPUCompare; virCPUCompareXML; virCPUConvertLegacy; virCPUCopyMigratable; +virCPUDataAddFeature; virCPUDataCheckFeature; virCPUDataFormat; virCPUDataFree; @@ -1263,7 +1264,6 @@ virCPUValidateFeatures; # cpu/cpu_x86.h virCPUx86DataAdd; -virCPUx86DataAddFeature; virCPUx86DataGetSignature; virCPUx86DataSetSignature; virCPUx86DataSetVendor; diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 9ef1eabc95..4134f319ac 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3009,7 +3009,7 @@ virQEMUCapsGetCPUModelX86Data(virQEMUCapsPtr qemuCaps, (migratable && prop->migratable == VIR_TRISTATE_BOOL_NO)) continue; - if (virCPUx86DataAddFeature(data, name) < 0) + if (virCPUDataAddFeature(data, name) < 0) goto cleanup; break; -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:16AM +0200, Jiri Denemark wrote:
This is a generic replacement for the former virCPUx86DataAddFeature, which worked on the generic virCPUDataPtr anyway.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu/cpu.c | 33 +++++++++++++++++++++++++++++++++ src/cpu/cpu.h | 9 +++++++++ src/cpu/cpu_x86.c | 3 ++- src/cpu/cpu_x86.h | 3 --- src/libvirt_private.syms | 2 +- src/qemu/qemu_capabilities.c | 2 +- 6 files changed, 46 insertions(+), 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The function converts a list of QOM properties into a NULL-terminated array of property names. The new type parameter may be used to limit the result to properties of a specific type. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor_json.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index ffa1fb5d57..efcef211ed 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6206,11 +6206,13 @@ int qemuMonitorJSONSetObjectProperty(qemuMonitorPtr mon, static int qemuMonitorJSONParsePropsList(virJSONValuePtr cmd, virJSONValuePtr reply, + const char *type, char ***props) { virJSONValuePtr data; char **proplist = NULL; size_t n = 0; + size_t count = 0; size_t i; int ret = -1; @@ -6228,17 +6230,21 @@ qemuMonitorJSONParsePropsList(virJSONValuePtr cmd, virJSONValuePtr child = virJSONValueArrayGet(data, i); const char *tmp; + if (type && + STRNEQ_NULLABLE(virJSONValueObjectGetString(child, "type"), type)) + continue; + if (!(tmp = virJSONValueObjectGetString(child, "name"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("reply data was missing 'name'")); goto cleanup; } - if (VIR_STRDUP(proplist[i], tmp) < 0) + if (VIR_STRDUP(proplist[count++], tmp) < 0) goto cleanup; } - ret = n; + ret = count; *props = proplist; proplist = NULL; @@ -6271,7 +6277,7 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, goto cleanup; } - ret = qemuMonitorJSONParsePropsList(cmd, reply, props); + ret = qemuMonitorJSONParsePropsList(cmd, reply, NULL, props); cleanup: virJSONValueFree(reply); virJSONValueFree(cmd); @@ -6303,7 +6309,7 @@ qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon, goto cleanup; } - ret = qemuMonitorJSONParsePropsList(cmd, reply, props); + ret = qemuMonitorJSONParsePropsList(cmd, reply, NULL, props); cleanup: virJSONValueFree(reply); virJSONValueFree(cmd); -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:17AM +0200, Jiri Denemark wrote:
The function converts a list of QOM properties into a NULL-terminated array of property names. The new type parameter may be used to limit the result to properties of a specific type.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor_json.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Unlike the old version (which is now called qemuMonitorGetGuestCPUx86), this monitor API checks for individual features by their names rather than processing CPUID bits. Thus we can get the list of enabled and disabled features for both CPUID and MSR features. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor.c | 36 ++++++ src/qemu/qemu_monitor.h | 10 ++ src/qemu/qemu_monitor_json.c | 211 +++++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 7 ++ 4 files changed, 264 insertions(+) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 344aac09f0..99aadba2e2 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4107,6 +4107,42 @@ qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, } +/** + * qemuMonitorGetGuestCPU: + * @mon: Pointer to the monitor + * @arch: CPU architecture + * @translate: callback for translating CPU feature names from QEMU to libvirt + * @opaque: data for @translate callback + * @enabled: returns the CPU data for all enabled features + * @disabled: returns the CPU data for features which we asked for + * (either explicitly or via a named CPU model) but QEMU disabled them + * + * Retrieve the definition of the guest CPU from a running QEMU instance. + * + * Returns 0 on success, -1 on error. + */ +int +qemuMonitorGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled) +{ + VIR_DEBUG("arch=%s translate=%p opaque=%p enabled=%p disabled=%p", + virArchToString(arch), translate, opaque, enabled, disabled); + + QEMU_CHECK_MONITOR(mon); + + *enabled = NULL; + if (disabled) + *disabled = NULL; + + return qemuMonitorJSONGetGuestCPU(mon, arch, translate, opaque, + enabled, disabled); +} + + /** * qemuMonitorRTCResetReinjection: * @mon: Pointer to the monitor diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index ac2499c22a..f5be74f461 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1154,6 +1154,16 @@ int qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, virCPUDataPtr *data, virCPUDataPtr *disabled); +typedef const char *(*qemuMonitorCPUFeatureTranslationCallback)(const char *name, + void *opaque); + +int qemuMonitorGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled); + int qemuMonitorRTCResetReinjection(qemuMonitorPtr mon); typedef struct _qemuMonitorIOThreadInfo qemuMonitorIOThreadInfo; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index efcef211ed..1662e47301 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6137,6 +6137,64 @@ int qemuMonitorJSONGetObjectProperty(qemuMonitorPtr mon, } +static int +qemuMonitorJSONGetStringListProperty(qemuMonitorPtr mon, + const char *path, + const char *property, + char ***strList) +{ + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL; + virJSONValuePtr data; + char **list = NULL; + size_t n; + size_t i; + int ret = -1; + + *strList = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("qom-get", + "s:path", path, + "s:property", property, + NULL))) + return -1; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) + goto cleanup; + + data = virJSONValueObjectGetArray(reply, "return"); + n = virJSONValueArraySize(data); + + if (VIR_ALLOC_N(list, n + 1) < 0) + goto cleanup; + + for (i = 0; i < n; i++) { + virJSONValuePtr item = virJSONValueArrayGet(data, i); + + if (virJSONValueGetType(item) != VIR_JSON_TYPE_STRING) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("unexpected value in %s array"), property); + goto cleanup; + } + + if (VIR_STRDUP(list[i], virJSONValueGetString(item)) < 0) + goto cleanup; + } + + VIR_STEAL_PTR(*strList, list); + ret = n; + + cleanup: + virJSONValueFree(cmd); + virJSONValueFree(reply); + virStringListFree(list); + return ret; +} + + #define MAKE_SET_CMD(STRING, VALUE) \ cmd = qemuMonitorJSONMakeCommand("qom-set", \ "s:path", path, \ @@ -7369,6 +7427,159 @@ qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, return -1; } + +static int +qemuMonitorJSONGetCPUProperties(qemuMonitorPtr mon, + char ***props) +{ + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL; + int ret = -1; + + *props = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("qom-list", + "s:path", QOM_CPU_PATH, + NULL))) + return -1; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) { + ret = 0; + goto cleanup; + } + + ret = qemuMonitorJSONParsePropsList(cmd, reply, "bool", props); + + cleanup: + virJSONValueFree(reply); + virJSONValueFree(cmd); + return ret; +} + + +static int +qemuMonitorJSONGetCPUData(qemuMonitorPtr mon, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr data) +{ + qemuMonitorJSONObjectProperty prop = { .type = QEMU_MONITOR_OBJECT_PROPERTY_BOOLEAN }; + char **props; + char **p; + int ret = -1; + + if (qemuMonitorJSONGetCPUProperties(mon, &props) < 0) + goto cleanup; + + for (p = props; p && *p; p++) { + const char *name = *p; + + if (qemuMonitorJSONGetObjectProperty(mon, QOM_CPU_PATH, name, &prop) < 0) + goto cleanup; + + if (!prop.val.b) + continue; + + if (translate) + name = translate(name, opaque); + + if (virCPUDataAddFeature(data, name) < 0) + goto cleanup; + } + + ret = 0; + + cleanup: + virStringListFree(props); + return ret; +} + + +static int +qemuMonitorJSONGetCPUDataDisabled(qemuMonitorPtr mon, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr data) +{ + char **props; + char **p; + int ret = -1; + + if (qemuMonitorJSONGetStringListProperty(mon, QOM_CPU_PATH, + "unavailable-features", &props) < 0) + goto cleanup; + + for (p = props; p && *p; p++) { + const char *name = *p; + + if (translate) + name = translate(name, opaque); + + if (virCPUDataAddFeature(data, name) < 0) + goto cleanup; + } + + ret = 0; + + cleanup: + virStringListFree(props); + return ret; +} + + +/** + * qemuMonitorJSONGetGuestCPU: + * @mon: Pointer to the monitor + * @arch: CPU architecture + * @translate: callback for translating CPU feature names from QEMU to libvirt + * @opaque: data for @translate callback + * @enabled: returns the CPU data for all enabled features + * @disabled: returns the CPU data for features which we asked for + * (either explicitly or via a named CPU model) but QEMU disabled them + * + * Retrieve the definition of the guest CPU from a running QEMU instance. + * + * Returns 0 on success, -1 on error. + */ +int +qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled) +{ + virCPUDataPtr cpuEnabled = NULL; + virCPUDataPtr cpuDisabled = NULL; + int ret = -1; + + if (!(cpuEnabled = virCPUDataNew(arch)) || + !(cpuDisabled = virCPUDataNew(arch))) + goto cleanup; + + if (qemuMonitorJSONGetCPUData(mon, translate, opaque, cpuEnabled) < 0) + goto cleanup; + + if (disabled && + qemuMonitorJSONGetCPUDataDisabled(mon, translate, opaque, cpuDisabled) < 0) + goto cleanup; + + VIR_STEAL_PTR(*enabled, cpuEnabled); + if (disabled) + VIR_STEAL_PTR(*disabled, cpuDisabled); + + ret = 0; + + cleanup: + virCPUDataFree(cpuEnabled); + virCPUDataFree(cpuDisabled); + return ret; +} + + int qemuMonitorJSONRTCResetReinjection(qemuMonitorPtr mon) { diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 424861b531..a874c9c01c 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -493,6 +493,13 @@ int qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, virCPUDataPtr *data, virCPUDataPtr *disabled); +int qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled); + int qemuMonitorJSONRTCResetReinjection(qemuMonitorPtr mon); int qemuMonitorJSONGetIOThreads(qemuMonitorPtr mon, -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:18AM +0200, Jiri Denemark wrote:
Unlike the old version (which is now called qemuMonitorGetGuestCPUx86), this monitor API checks for individual features by their names rather than processing CPUID bits. Thus we can get the list of enabled and disabled features for both CPUID and MSR features.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_monitor.c | 36 ++++++ src/qemu/qemu_monitor.h | 10 ++ src/qemu/qemu_monitor_json.c | 211 +++++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 7 ++ 4 files changed, 264 insertions(+)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 344aac09f0..99aadba2e2 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4107,6 +4107,42 @@ qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, }
+/** + * qemuMonitorGetGuestCPU: + * @mon: Pointer to the monitor + * @arch: CPU architecture + * @translate: callback for translating CPU feature names from QEMU to libvirt + * @opaque: data for @translate callback + * @enabled: returns the CPU data for all enabled features + * @disabled: returns the CPU data for features which we asked for + * (either explicitly or via a named CPU model) but QEMU disabled them + * + * Retrieve the definition of the guest CPU from a running QEMU instance. + * + * Returns 0 on success, -1 on error. + */ +int +qemuMonitorGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled) +{ + VIR_DEBUG("arch=%s translate=%p opaque=%p enabled=%p disabled=%p", + virArchToString(arch), translate, opaque, enabled, disabled); + + QEMU_CHECK_MONITOR(mon); + + *enabled = NULL; + if (disabled) + *disabled = NULL; + + return qemuMonitorJSONGetGuestCPU(mon, arch, translate, opaque,
Hehe, "monarch".
+ enabled, disabled); +} + + /** * qemuMonitorRTCResetReinjection: * @mon: Pointer to the monitor diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index ac2499c22a..f5be74f461 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1154,6 +1154,16 @@ int qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, virCPUDataPtr *data, virCPUDataPtr *disabled);
+typedef const char *(*qemuMonitorCPUFeatureTranslationCallback)(const char *name, + void *opaque); + +int qemuMonitorGetGuestCPU(qemuMonitorPtr mon, + virArch arch, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr *enabled, + virCPUDataPtr *disabled); + int qemuMonitorRTCResetReinjection(qemuMonitorPtr mon);
typedef struct _qemuMonitorIOThreadInfo qemuMonitorIOThreadInfo; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index efcef211ed..1662e47301 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6137,6 +6137,64 @@ int qemuMonitorJSONGetObjectProperty(qemuMonitorPtr mon, }
+static int +qemuMonitorJSONGetStringListProperty(qemuMonitorPtr mon, + const char *path, + const char *property, + char ***strList) +{ + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL;
VIR_AUTOPTR(virJSONValue) cmd = NULL; VIR_AUTOPTR(virJSONValue) reply = NULL;
+ virJSONValuePtr data; + char **list = NULL;
VIR_AUTOSTRINGLIST list = NULL;
+ size_t n; + size_t i; + int ret = -1; + + *strList = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("qom-get", + "s:path", path, + "s:property", property, + NULL))) + return -1; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) + goto cleanup; + + data = virJSONValueObjectGetArray(reply, "return"); + n = virJSONValueArraySize(data); + + if (VIR_ALLOC_N(list, n + 1) < 0) + goto cleanup; + + for (i = 0; i < n; i++) { + virJSONValuePtr item = virJSONValueArrayGet(data, i); + + if (virJSONValueGetType(item) != VIR_JSON_TYPE_STRING) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("unexpected value in %s array"), property); + goto cleanup; + } + + if (VIR_STRDUP(list[i], virJSONValueGetString(item)) < 0) + goto cleanup; + } + + VIR_STEAL_PTR(*strList, list); + ret = n; + + cleanup: + virJSONValueFree(cmd); + virJSONValueFree(reply); + virStringListFree(list); + return ret; +} + + #define MAKE_SET_CMD(STRING, VALUE) \ cmd = qemuMonitorJSONMakeCommand("qom-set", \ "s:path", path, \ @@ -7369,6 +7427,159 @@ qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, return -1; }
+ +static int +qemuMonitorJSONGetCPUProperties(qemuMonitorPtr mon, + char ***props) +{ + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL;
VIR_AUTOPTR(virJSONValue) cmd = NULL; VIR_AUTOPTR(virJSONValue) reply = NULL;
+ int ret = -1; + + *props = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("qom-list", + "s:path", QOM_CPU_PATH, + NULL))) + return -1; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + goto cleanup; + + if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) {
Shouldn't this be a hard error? IIUC this will be called only for QEMUs which do have the capability. On the other hand, ignoring a missing device is consistent with other GetProperties helpers.
+ ret = 0; + goto cleanup; + } + + ret = qemuMonitorJSONParsePropsList(cmd, reply, "bool", props); + + cleanup: + virJSONValueFree(reply); + virJSONValueFree(cmd); + return ret; +} + + +static int +qemuMonitorJSONGetCPUData(qemuMonitorPtr mon, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr data) +{ + qemuMonitorJSONObjectProperty prop = { .type = QEMU_MONITOR_OBJECT_PROPERTY_BOOLEAN }; + char **props;
VIR_AUTOSTRINGLIST props = NULL;
+ char **p; + int ret = -1; + + if (qemuMonitorJSONGetCPUProperties(mon, &props) < 0) + goto cleanup; + + for (p = props; p && *p; p++) { + const char *name = *p; + + if (qemuMonitorJSONGetObjectProperty(mon, QOM_CPU_PATH, name, &prop) < 0) + goto cleanup; + + if (!prop.val.b) + continue; + + if (translate) + name = translate(name, opaque); + + if (virCPUDataAddFeature(data, name) < 0) + goto cleanup; + } + + ret = 0; + + cleanup: + virStringListFree(props); + return ret; +} + + +static int +qemuMonitorJSONGetCPUDataDisabled(qemuMonitorPtr mon, + qemuMonitorCPUFeatureTranslationCallback translate, + void *opaque, + virCPUDataPtr data) +{ + char **props;
VIR_AUTOSTRINGLIST props = NULL;
+ char **p; + int ret = -1; + + if (qemuMonitorJSONGetStringListProperty(mon, QOM_CPU_PATH, + "unavailable-features", &props) < 0) + goto cleanup; + + for (p = props; p && *p; p++) { + const char *name = *p; + + if (translate) + name = translate(name, opaque); +
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

When updating guest CPU definition according to the vCPU actually created by QEMU, we want to use the generic qemuMonitorGetGuestCPU to get both CPUID and MSR features. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_process.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index db940b02a8..fa82adbc1e 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4128,6 +4128,16 @@ qemuProcessVerifyCPUFeatures(virDomainDefPtr def, } +static const char * +qemuProcessTranslateCPUFeatures(const char *name, + void *opaque) +{ + virQEMUCapsPtr qemuCaps = opaque; + + return virQEMUCapsCPUFeatureFromQEMU(qemuCaps, name); +} + + static int qemuProcessFetchGuestCPU(virQEMUDriverPtr driver, virDomainObjPtr vm, @@ -4138,18 +4148,28 @@ qemuProcessFetchGuestCPU(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; virCPUDataPtr dataEnabled = NULL; virCPUDataPtr dataDisabled = NULL; + bool generic; int rc; *enabled = NULL; *disabled = NULL; - if (!ARCH_IS_X86(vm->def->os.arch)) + generic = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES); + + if (!generic && !ARCH_IS_X86(vm->def->os.arch)) return 0; if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) goto error; - rc = qemuMonitorGetGuestCPUx86(priv->mon, &dataEnabled, &dataDisabled); + if (generic) { + rc = qemuMonitorGetGuestCPU(priv->mon, + vm->def->os.arch, + qemuProcessTranslateCPUFeatures, priv->qemuCaps, + &dataEnabled, &dataDisabled); + } else { + rc = qemuMonitorGetGuestCPUx86(priv->mon, &dataEnabled, &dataDisabled); + } if (qemuDomainObjExitMonitor(driver, vm) < 0) goto error; -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:19AM +0200, Jiri Denemark wrote:
When updating guest CPU definition according to the vCPU actually created by QEMU, we want to use the generic qemuMonitorGetGuestCPU to get both CPUID and MSR features.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_process.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

This is used by the host capabilities code to construct host CPU definition. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> --- src/cpu/cpu_x86.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index b6a94d483a..b64e3a081d 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -2759,6 +2759,28 @@ virCPUx86GetHost(virCPUDefPtr cpu, cpuidSet(CPUX86_EXTENDED, cpuData) < 0) goto cleanup; + /* Read the IA32_ARCH_CAPABILITIES MSR (0x10a) if supported. + * This is best effort since there might be no way to read the MSR + * when we are not running as root. */ + if (virCPUx86DataCheckFeature(cpuData, "arch-capabilities") == 1) { + uint64_t msr; + unsigned long index = 0x10a; + + if (virHostCPUGetMSR(index, &msr) == 0) { + virCPUx86DataItem item = { + .type = VIR_CPU_X86_DATA_MSR, + .data.msr = { + .index = index, + .eax = msr & 0xffffffff, + .edx = msr >> 32, + }, + }; + + if (virCPUx86DataAdd(cpuData, &item) < 0) + return -1; + } + } + ret = x86DecodeCPUData(cpu, cpuData, models); cpu->microcodeVersion = virHostCPUGetMicrocodeVersion(); -- 2.22.0

--- src/cpu_map/x86_features.xml | 20 +++++++++++++++++++ .../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-json.xml | 1 + ...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 1 + .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 3 +++ .../qemu_3.1.0.x86_64.xml | 1 + .../qemu_4.0.0.x86_64.xml | 1 + .../qemu_4.1.0.x86_64.xml | 1 + 10 files changed, 37 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 370807f88e..2bed1e0372 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -482,4 +482,24 @@ <feature name='amd-no-ssb'> <cpuid eax_in='0x80000008' ebx='0x04000000'/> </feature> + + <!-- IA32_ARCH_CAPABILITIES features --> + <feature name='rdctl-no'> + <msr index='0x10a' edx='0x00000000' eax='0x00000001'/> + </feature> + <feature name='ibrs-all'> + <msr index='0x10a' edx='0x00000000' eax='0x00000002'/> + </feature> + <feature name='rsba'> + <msr index='0x10a' edx='0x00000000' eax='0x00000004'/> + </feature> + <feature name='skip-l1dfl-vmentry'> + <msr index='0x10a' edx='0x00000000' eax='0x00000008'/> + </feature> + <feature name='ssb-no'> + <msr index='0x10a' edx='0x00000000' eax='0x00000010'/> + </feature> + <feature name='mds-no'> + <msr index='0x10a' edx='0x00000000' eax='0x00000020'/> + </feature> </cpus> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml index b1cdaa802a..58bc84577c 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml @@ -5,4 +5,5 @@ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000004' edx='0x84000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/> + <msr index='0x10a' edx='0x00000000' eax='0x00000008'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml index 48089c6003..690081493b 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml @@ -10,4 +10,5 @@ <feature policy='require' name='ssbd'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='pdpe1gb'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml index 434ac1956a..313009b156 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml @@ -5,4 +5,5 @@ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0xd19f4fbb' ecx='0x0000080c' edx='0x84000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/> + <msr index='0x10a' edx='0x00000000' eax='0x0000000b'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml index c7e8a1fccf..988fb1dbdc 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml @@ -30,4 +30,8 @@ <feature policy='require' name='mbm_total'/> <feature policy='require' name='mbm_local'/> <feature policy='require' name='invtsc'/> + <feature policy='require' name='rdctl-no'/> + <feature policy='require' name='ibrs-all'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> + <feature policy='require' name='mds-no'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml index d7482751b4..fdeafc4870 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml @@ -31,4 +31,8 @@ <feature name='mbm_total'/> <feature name='mbm_local'/> <feature name='invtsc'/> + <feature name='rdctl-no'/> + <feature name='ibrs-all'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='mds-no'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml index b7d12dced7..78863c61d1 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml @@ -7,4 +7,7 @@ <feature policy='require' name='umip'/> <feature policy='require' name='pku'/> <feature policy='require' name='xsaves'/> + <feature policy='require' name='rdctl-no'/> + <feature policy='require' name='ibrs-all'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> </cpu> diff --git a/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml index ca3baab88c..dfd186afba 100644 --- a/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml +++ b/tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml @@ -42,6 +42,7 @@ <feature policy='require' name='xsaves'/> <feature policy='require' name='pdpe1gb'/> <feature policy='require' name='invtsc'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> </mode> <mode name='custom' supported='yes'> <model usable='yes'>qemu64</model> diff --git a/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml index cba841d844..36f6f1e94d 100644 --- a/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml +++ b/tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml @@ -42,6 +42,7 @@ <feature policy='require' name='xsaves'/> <feature policy='require' name='pdpe1gb'/> <feature policy='require' name='invtsc'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> </mode> <mode name='custom' supported='yes'> <model usable='yes'>qemu64</model> diff --git a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml index 389e641bbb..d3fc1ce9e7 100644 --- a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml +++ b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml @@ -41,6 +41,7 @@ <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='pdpe1gb'/> + <feature policy='require' name='skip-l1dfl-vmentry'/> </mode> <mode name='custom' supported='yes'> <model usable='yes'>qemu64</model> -- 2.22.0

On Wed, Jun 19, 2019 at 11:38:21AM +0200, Jiri Denemark wrote:
--- src/cpu_map/x86_features.xml | 20 +++++++++++++++++++ .../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-json.xml | 1 + ...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 1 + .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 3 +++ .../qemu_3.1.0.x86_64.xml | 1 + .../qemu_4.0.0.x86_64.xml | 1 + .../qemu_4.1.0.x86_64.xml | 1 + 10 files changed, 37 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Wed, Jun 19, 2019 at 14:40:27 +0200, Ján Tomko wrote:
On Wed, Jun 19, 2019 at 11:38:21AM +0200, Jiri Denemark wrote:
--- src/cpu_map/x86_features.xml | 20 +++++++++++++++++++ .../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-json.xml | 1 + ...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 1 + .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 4 ++++ .../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 3 +++ .../qemu_3.1.0.x86_64.xml | 1 + .../qemu_4.0.0.x86_64.xml | 1 + .../qemu_4.1.0.x86_64.xml | 1 + 10 files changed, 37 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Thanks, I did the suggested modifications and pushed all but the last two patches. They will come again with the few additional patches I promised in the cover letter. Jirka
participants (2)
-
Jiri Denemark
-
Ján Tomko